Talk about how to identify and map CDN topology and technologies being used as well as several potential attack vectors against this kind of networks. Also, I explained how to process different information collected about a CDN network to infer routers information like role, vendor, peers and so on to create a graph database and apply some graph theory to spot critical assets. Everything was shown with a tool programmed for that, "CDN Mapper&Analyzer" (CDNMA). Finally few vulnerabilities (both reported and undisclosed) from CDN providers were shown.
Pagina: http://www.pilas.net/20060531/tecnologias-libres-para-tuneles-y-vpns/
Cuando pensamos en seguridad en la red generalmente se nos ocurren dos alternativas: Utilizar protocolos de aplicación que en forma nativa provean encripción y autenticación (p.e. https, imaps, etc), o implementar una solución “completa” mediante IPsec. Pero que sucede cuando estamos obligados a trabajar en situaciones donde IPsec no es viable por limitaciones de los SOs, o por su dificultad de implementación y mantenimiento, y a la vez precisamos asegurar protocolos de aplicación que no soportan encripción y autenticación en forma nativa.
Existen muchas soluciones en software libre orientadas a crear túneles y VPNs, y no siempre es fácil elegir la más indicada para cada caso. Dada la cantidad de soluciones existentes, es necesario emplear mucho tiempo en comprender el funcionamiento de cada una y hacer pruebas de laboratorio para determinar la escalabilidad, facilidad de uso y necesidades de administración de cada una.
En la conferencia, se verán distintos modos de crear túneles y VPNs, discutiendo las ventajas de cada implementación particular y mostrando ejemplos de configuración. El objetivo de la conferencia es que los participantes obtengan conocimientos generales sobre estas tecnologías de modo que sean capaces de elegir las mejores soluciones para cada problema.
Implementación de NAT/PAT en routers CiscoPaulo Colomés
Cómo configurar los 4 tipos de NAT en routers Cisco:
- Dynamic NAT
- Static NAT
- PAT (NAT overload)
- PAT con múltiples IP (Dynamic NAT con overload)
Al final de la diapositiva sale un video de cómo configurar esto.
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)Jaime Sánchez
Cuando un usuario tiene que elegir una contraseña, tiende a construirla de la misma forma, con la misma información personal como base, y usando las mismas ideas para añadir complejidad a la misma. En este estudio que os mostraremos , nos hicimos con varios miles de millones de contraseñas reales, con el fin de hacer un análisis a gran escala de esos comportamientos comunes, extrayendo conclusiones que nos permitan crear procedimientos y herramientas específicas para mejorar las técnicas actuales de Password Cracking.
Finalmente, usaremos este conocimiento obtenido a través de distintos análisis conductuales y estadísticos para, utilizando redes neuronales y otras técnicas avanzadas, obtener patrones que nos permitan crackear hashes cuya resistencia suele ser bastante alta utilizando otras técnicas.
Pagina: http://www.pilas.net/20060531/tecnologias-libres-para-tuneles-y-vpns/
Cuando pensamos en seguridad en la red generalmente se nos ocurren dos alternativas: Utilizar protocolos de aplicación que en forma nativa provean encripción y autenticación (p.e. https, imaps, etc), o implementar una solución “completa” mediante IPsec. Pero que sucede cuando estamos obligados a trabajar en situaciones donde IPsec no es viable por limitaciones de los SOs, o por su dificultad de implementación y mantenimiento, y a la vez precisamos asegurar protocolos de aplicación que no soportan encripción y autenticación en forma nativa.
Existen muchas soluciones en software libre orientadas a crear túneles y VPNs, y no siempre es fácil elegir la más indicada para cada caso. Dada la cantidad de soluciones existentes, es necesario emplear mucho tiempo en comprender el funcionamiento de cada una y hacer pruebas de laboratorio para determinar la escalabilidad, facilidad de uso y necesidades de administración de cada una.
En la conferencia, se verán distintos modos de crear túneles y VPNs, discutiendo las ventajas de cada implementación particular y mostrando ejemplos de configuración. El objetivo de la conferencia es que los participantes obtengan conocimientos generales sobre estas tecnologías de modo que sean capaces de elegir las mejores soluciones para cada problema.
Implementación de NAT/PAT en routers CiscoPaulo Colomés
Cómo configurar los 4 tipos de NAT en routers Cisco:
- Dynamic NAT
- Static NAT
- PAT (NAT overload)
- PAT con múltiples IP (Dynamic NAT con overload)
Al final de la diapositiva sale un video de cómo configurar esto.
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)Jaime Sánchez
Cuando un usuario tiene que elegir una contraseña, tiende a construirla de la misma forma, con la misma información personal como base, y usando las mismas ideas para añadir complejidad a la misma. En este estudio que os mostraremos , nos hicimos con varios miles de millones de contraseñas reales, con el fin de hacer un análisis a gran escala de esos comportamientos comunes, extrayendo conclusiones que nos permitan crear procedimientos y herramientas específicas para mejorar las técnicas actuales de Password Cracking.
Finalmente, usaremos este conocimiento obtenido a través de distintos análisis conductuales y estadísticos para, utilizando redes neuronales y otras técnicas avanzadas, obtener patrones que nos permitan crackear hashes cuya resistencia suele ser bastante alta utilizando otras técnicas.
Integrated and sustainable through work centric Pre-vocational training in high school. The program integrates development of community and education. This makes education relevant to real life problems. Such Work based education in schools developed 'Capability to Act' in students along with 'Capability to think'.
Curso: Comunicación de datos y redes: 07 Nueva tecnología.
Dictado en la Universidad Telesup -UPT, Lima - Perú, en los ciclos 2008-2 (noviembre/2008), 2009-1 (marzo/2009), 2010-0 (enero/2010), 2010-1 (marzo/2010), 2011-1 (marzo/2011).
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteo.
Dictado en la Universidad Telesup -UPT, Lima - Perú, en los ciclos 2009-2 (agosto/2009), 2011-0 (enero/2011).
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...Andy Juan Sarango Veliz
Objectives
· Configura NAT.
· Configura una VPN IPsec.
· Configura un túnel GRE sobre IPsec.
· Habilita protocolo de enrutamiento dinámico sobre un túnel GRE.
· Verifica la configuración y operación usando comandos show y debug.
Slide del taller "Firewall Casero con gnu/linux (ubuntu server 14.04) realizado el 30 de septiembre de 2014 dentro del marco de las actividades del Congreso Internacional de Ingenierías Computacionales e Informática. CIICI 3. 2014. efectuado en el Instituto Tecnológico de Coatzacoalcos. ITESCO en la Cd. de Coatzacoalcos, Verazcruz.
5. ¿Qué es y cómo funciona una red CDN?
Servidor de origen
www.dominio.com
www.dominio.com
6. Pero no toques, ¿por qué tocas?
•
•
•
•
Utilización cada vez más habitual
Falsa sensación de invulnerabilidad
Mucho por aprender e investigar
Aritmética básica
+
=
11. Target #1: Frontales CDN
•
•
Geolocalización de IPs de servidores
•
Asociación geolocalización -> País servido
•
Detección de balanceadores de carga/WAF/IPS
•
Qué
Resolución DNS masiva
Identificación de servicios
Resol. DNS
Cómo
Análisis tecn.
Ident. servicios
12. Nmap scan report for xxx.xxx.xxx.163
PORT
STATE
SERVICE
REASON
VERSION
20/tcp
closed
ftp-data
reset
21/tcp
closed
ftp
reset
25/tcp
closed
smtp
reset
53/tcp
closed
domain
reset
80/tcp
open
http
syn-ack
nginx
443/tcp
open
http
syn-ack
nginx
878/tcp
closed
unknown
reset
3333/tcp
open
ssh
syn-ack
OpenSSH 4.3 (protocol 2.0)
8786/tcp
open
http
reset
Django httpd (WSGIServer 0.1;
Python 2.4.3)
10050/tcp
open
tcpwrapped
syn-ack
13. Nmap scan report for xxx.xxx.xxx.36
PORT
STATE
SERVICE
REASON
VERSION
80/tcp
open
http
syn-ack
nginx 1.0.14
443/tcp
open
http
syn-ack
nginx 1.0.14
2121/tcp
open
ftp
syn-ack
ProFTPD 1.3.3c
3333/tcp
open
ssh
syn-ack
OpenSSH 4.3 (protocol 2.0)
8080/tcp
open
http
syn-ack
Apache httpd 2.2.3 ((CentOS))
8786/tcp
open
http
syn-ack
Django httpd (WSGIServer 0.1;
Python 2.4.3)
10050/tcp
open
tcpwrapped
syn-ack
17. Infiriendo la arquitectura
• Cada prueba UDP utiliza un puerto de origen distinto
10
xxx.xxx.18.152
44
msec
48
msec
120
msec
11
xxx.xxx.18.197
44
msec
xxx.xxx.18.203
40
msec
44
msec
12
xxx.xxx.118.134
40
msec
44
msec
xxx.xxx.118.138
44
msec
13
xxx.xxx.240.195
44
msec
44
msec
40
msec
xxx.xxx.18.203
xxx.xxx.118.138
xxx.xxx.18.152
xxx.xxx.240.195
xxx.xxx.18.197
xxx.xxx.118.134
18. Infiriendo la arquitectura
• Cada prueba UDP utiliza un puerto de origen distinto
10
xxx.xxx.18.152
44
msec
48
msec
120
msec
11
xxx.xxx.18.197
44
msec
xxx.xxx.18.203
40
msec
44
msec
12
xxx.xxx.118.134
40
msec
44
msec
xxx.xxx.118.138
44
msec
13
xxx.xxx.240.195
44
msec
44
msec
40
msec
xxx.xxx.18.203
xxx.xxx.118.138
xxx.xxx.18.152
xxx.xxx.240.195
xxx.xxx.18.197
xxx.xxx.118.134
19. Infiriendo la arquitectura
• Cada prueba UDP utiliza un puerto de origen distinto
10
xxx.xxx.18.152
44
msec
48
msec
120
msec
11
xxx.xxx.18.197
44
msec
xxx.xxx.18.203
40
msec
44
msec
12
xxx.xxx.118.134
40
msec
44
msec
xxx.xxx.118.138
44
msec
13
xxx.xxx.240.195
44
msec
44
msec
40
msec
xxx.xxx.18.203
xxx.xxx.118.138
xxx.xxx.18.152
xxx.xxx.240.195
xxx.xxx.18.197
xxx.xxx.118.134
20. Infiriendo la arquitectura
• Cada prueba UDP utiliza un puerto de origen distinto
10
xxx.xxx.18.152
44
msec
48
msec
120
msec
11
xxx.xxx.18.197
44
msec
xxx.xxx.18.203
40
msec
44
msec
12
xxx.xxx.118.134
40
msec
44
msec
xxx.xxx.118.138
44
msec
13
xxx.xxx.240.195
44
msec
44
msec
40
msec
xxx.xxx.18.203
xxx.xxx.118.138
xxx.xxx.18.152
xxx.xxx.240.195
xxx.xxx.18.197
xxx.xxx.118.134
21. Resolución inversa DNS
•
•
•
Comúnmente utilizado para troubleshooting
Puede proporcionar valiosa información
xe-11-1-0.edge1.NewYork1.Level3.net
• Fabricante: juniper
• Tipo de interfaz: 10_gigabit_ethernet
• Rol: peering
• Localización: Nueva York
• Propietario: level3
29. Latencia de red (serialización + buffering + propagación)
•
Serialización :
•
Tamaño de paquete / Velocidad del enlace
•
1500 bytes / 1Gbps = 0.12ms de retardo
•
Buffering o encolado:
•
Depende de la congestión del interfaz
•
Propagación:
•
Velocidad de la luz en el vacío ~300,000km/seg
•
Índice de refracción de la fibra óptica ~1.48
•
Velocidad de la luz en fibra óptica ~200,000km/seg (300,000*(1/1.48))
•
RTT mide el tiempo de ida y vuelta
30. Latencia de red (serialización + buffering + propagación)
•
Serialización :
•
Tamaño de paquete / Velocidad del enlace
•
1500 bytes / 1Gbps = 0.12ms de retardo
•
Buffering o encolado:
•
Depende de la congestión del interfaz
•
Propagación:
•
Velocidad de la luz en el vacío ~300,000km/seg
•
Índice de refracción de la fibra óptica ~1.48
•
Velocidad de la luz en fibra óptica ~200,000km/seg (300,000*(1/1.48))
•
RTT mide el tiempo de ida y vuelta
33. IXP (Internet Exchange Point)
•
•
•
•
Puntos de intercambio de tráfico
La seguridad es responsabilidad de cada participante
Localizaciones comunes para las principales redes CDN
peeringdb.com: BBDD pública con información de peering
• Peering públicos
• Peering privados
• Capacidades del enlace
• Información variada sobre el tráfico
35. Target #3: Servidor de origen
•
•
•
Necesitamos potenciales candidatos (ASn/rangos)
Solicitar recurso no cacheable
• GET / buscador/?query=consulta HTTP/1.1
Dos vías de análisis
• Cabeceras HTTP
• Contenido de la respuesta
36. Análisis de cabeceras HTTP
AKAMAI
Servidor de Origen
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: IBM_HTTP_Server
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:20 GMT
Content-Type: text/html
Server: IBM_HTTP_Server
Content-Length: 2032
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:16 GMT
Content-Length: 2032
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Content-Type: text/html
37. Análisis de cabeceras HTTP
AKAMAI
Servidor de Origen
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: IBM_HTTP_Server
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:20 GMT
Content-Type: text/html
Server: IBM_HTTP_Server
Content-Length: 2032
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:16 GMT
Content-Length: 2032
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Content-Type: text/html
38. Análisis de cabeceras HTTP
AKAMAI
Servidor de Origen
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: IBM_HTTP_Server
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:20 GMT
Content-Type: text/html
Server: IBM_HTTP_Server
Content-Length: 2032
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:16 GMT
Content-Length: 2032
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Content-Type: text/html
39. Análisis de cabeceras HTTP
AKAMAI
Servidor de Origen
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: IBM_HTTP_Server
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:20 GMT
Content-Type: text/html
Server: IBM_HTTP_Server
Content-Length: 2032
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:16 GMT
Content-Length: 2032
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Content-Type: text/html
40. Análisis de cabeceras HTTP
AKAMAI
Servidor de Origen
HTTP/1.1 200 OK
HTTP/1.1 200 OK
Server: IBM_HTTP_Server
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:20 GMT
Content-Type: text/html
Server: IBM_HTTP_Server
Content-Length: 2032
Accept-Ranges: bytes
Date: Sun, 20 Nov 2012
10:12:16 GMT
Content-Length: 2032
Connection: keep-alive
Vary: Accept-Encoding
Vary: Accept-Encoding
Content-Type: text/html
41. Resultados en entorno real
•
•
•
•
No somos vulnerables a DDoS, usamos CDN (ahí, provocando)
Se descubrieron los servidores de origen
• De producción
• De pre-producción
• Así como servidores de pruebas
Vulnerables a múltiples ataques DoS
Detección de balanceadores de carga
• Y enumeración de IPs internas
42. Resultados en entorno real
•
•
•
•
No somos vulnerables a DDoS, usamos CDN (ahí, provocando)
Se descubrieron los servidores de origen
• De producción
• De pre-producción
• Así como servidores de pruebas
Vulnerables a múltiples ataques DoS
Detección de balanceadores de carga
• Y enumeración de IPs internas
43. Target #4: Proveedor servicio CDN
•
•
•
•
•
Notificadas múltiples vulnerabilidades
Comunicación sólo hasta tener datos
Rápidamente arregladas
Múltiples intentos (infructuosos) de feedback
Varias vulnerabilidades no notificadas :D
47. Posible bypass de WAF (no notificado)
GET /api/v2/zstore/get?zsn=preset&z=aaaa.com</>&atok=1374[...]63 HTTP/1.1
Host: www.cloudflare.com
[...]
HTTP/1.1 200 OK
Server: cloudflare-nginx
[...]
Content-Length: 71
{"request":{"act":"zstore_get"},"result":"error","msg":"Invalid zone."}
48. Posible bypass de WAF (no notificado)
GET /api/v2/zstore/get?zsn=preset&z=aaaa.com%00</>&atok=1374[...]63 HTTP/1.1
Host: www.cloudflare.com
[...]
HTTP/1.1 200 OK
Server: cloudflare-nginx
[...]
Content-Length: 169
{"request":{"act":"zstore_get"},"result":"error","msg":"Could not find aaaa.comu0000</> under
your account. Domains must be signed up and active on CloudFlare."}
52. Atacar un CDN
•
Mapear infraestructura existente
•
Comprender la cohesión
•
Identificar puntos débiles
•
“It’s not a bug, it’s a feature”
•
Comprender la arquitectura interna
de los dispositivos
54. Network boundaries y relaciones BPG
•
Identificación de fronteras de la red:
• Aplicación de políticas de enrutamiento
• Zona crítica en cuanto a capacidad y funcionamiento del routing
• 4 te1-2-10g.ar3.DCA3.gblx.net (67.17.108.146)
• 5 sl-st21-ash-8-0-0.sprintlink.net (144.232.18.65)
•
Identificación de relación BGP
• t2-1.peer01.loudoun.va.ena.net (207.191.187.106)
• ip65-46-186-97.z186-46-65.customer.algx.net (65.46.186.97)
56. Explotando las relaciones entre peers
Peering
Transit
Provider A
Provider B
Provider C
Multi-Homed
Customer
Customer
Customer
Customer
Customer
Customer
Customer
57. Explotando las relaciones entre peers
Peering
Transit
Provider A
Provider B
Provider C
Multi-Homed
Customer
Customer
Customer
Customer
Customer
Customer
Customer
58. CDN-minigun (amplificando, que es gerundio)
•
•
•
•
Necesitamos asegurar el “hit”
• Solicitar recurso no existente (forzamos un 404)
• Solicitar recurso no cacheable
• Jugamos con la cabecera “Vary”
No necesitamos recibir la respuesta del CDN ;)
Solicitamos recursos pesados
Throughput: peticiones/sec * IPs origen * frontales CDN
59. Arquitectura en los routers
Imagen obtenida de http://wiki.nil.com/Control_and_Data_plane
60. Procesamiento de paquetes
Slow Path (Control Plane)
•
•
•
Protocolos de enrutamiento (Routing Information Database)
Procesador RISC (Instrucciones en software)
Maneja algunas excepciones (IP options, ICMP generation, etc)
Fast Path (Data Plane)
•
•
Paquetes enviados a través del router
Circuitos integrados ASIC (Instrucciones en hardware)
61. Atacando el control plane
•
•
•
¿Fallo en el enlace?
• Pérdida de sesión BGP
• Efecto cascada (withdrawal de prefijos)
Consumir CPU / buffers
Low-Rate TCP-Targeted DoS / CXPST
62. Conclusiones
•
•
•
Una red CDN es un conjunto de redes
• Múltiples y diversos dispositivos
• Diferentes políticas de seguridad
Mayor superficie de ataque
Son necesarios técnicas y ataques más
elaboradas