SlideShare a Scribd company logo
1 of 63
Download to read offline
Adivina quién viene a CDNear esta noche
Alejandro Nolla
Felipe Martín
NAVAJA NEGRA
CONFERENCE 2013
SHALL WE PLAY A GAME?
Love to. How about attacking a CDN?
WOULDN’T YOU PREFER A GOOD GAME OF CHESS?
class AlejandroNolla(mandalorian):

#---------------------------------------------------------------------def __init__(self):
self.name = 'Alejandro Nolla Blanco'
self.nickname = 'z0mbiehunt3r'
self.role = 'Threat Intelligence Analyst'
self.interests = ['networking', 'python',
'offensive security']
Felipe Martín

•
•
•
•
•

Programador coj*nudo
Y mejor amigo ;)
Se ha currado toda la
interfaz
Troll friend is troll
@fmartingr
¿Qué es y cómo funciona una red CDN?

Servidor de origen
www.dominio.com
www.dominio.com
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

+

=
Vectores de ataque

Servidor de origen
www.dominio.com
Vectores de ataque

Servidor de origen
www.dominio.com
Vectores de ataque

Servidor de origen
www.dominio.com
Vectores de ataque

Proveedor del servicio

Servidor de origen
www.dominio.com
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
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
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
Target #2: Infraestructura de red WAN
“Ecosistema” WAN

•

•

•

BGP
• ASn / prefijos
• Transit / Peering / IXP
Routers
• Protocolos
• Fabricante
• Características
• Rol
Topologías
Jefe! Una de traceroute....
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
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
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
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
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
Conexiones activas en el router

161/udp open snmp udp-response
| snmp-netstat:
| TCP xxx.xxx.xxx.34:23
xxx.xxx.xxx.202:49197
| TCP xxx.xxx.xxx.2:27692
xxx.xxx.xxx.1:179
| TCP xxx.xxx.xxx.196:26114 xxx.xxx.xxx.206:23
| TCP xxx.xxx.xxx.196:37388 xxx.xxx.xxx.150:179
| TCP xxx.xxx.xxx.203:12500 xxx.xxx.xxx.206:179
| TCP xxx.xxx.xxx.203:17543 xxx.xxx.xxx.205:179
| TCP xxx.xxx.xxx.203:32355 xxx.xxx.xxx.201:179
| TCP xxx.xxx.xxx.203:56588 xxx.xxx.xxx.33:179
| UDP xxx.xxx.xxx.196:123
*:*
| UDP xxx.xxx.xxx.196:161
*:*
|_ UDP xxx.xxx.xxx.196:162
*:*
Conexiones activas en el router

161/udp open snmp udp-response
| snmp-netstat:
| TCP xxx.xxx.xxx.34:23
xxx.xxx.xxx.202:49197
| TCP xxx.xxx.xxx.2:27692
xxx.xxx.xxx.1:179
| TCP xxx.xxx.xxx.196:26114 xxx.xxx.xxx.206:23
| TCP xxx.xxx.xxx.196:37388 xxx.xxx.xxx.150:179
| TCP xxx.xxx.xxx.203:12500 xxx.xxx.xxx.206:179
| TCP xxx.xxx.xxx.203:17543 xxx.xxx.xxx.205:179
| TCP xxx.xxx.xxx.203:32355 xxx.xxx.xxx.201:179
| TCP xxx.xxx.xxx.203:56588 xxx.xxx.xxx.33:179
| UDP xxx.xxx.xxx.196:123
*:*
| UDP xxx.xxx.xxx.196:161
*:*
|_ UDP xxx.xxx.xxx.196:162
*:*

Telnet
Conexiones activas en el router

161/udp open snmp udp-response
| snmp-netstat:
| TCP xxx.xxx.xxx.34:23
xxx.xxx.xxx.202:49197
| TCP xxx.xxx.xxx.2:27692
xxx.xxx.xxx.1:179
| TCP xxx.xxx.xxx.196:26114 xxx.xxx.xxx.206:23
| TCP xxx.xxx.xxx.196:37388 xxx.xxx.xxx.150:179
| TCP xxx.xxx.xxx.203:12500 xxx.xxx.xxx.206:179
| TCP xxx.xxx.xxx.203:17543 xxx.xxx.xxx.205:179
| TCP xxx.xxx.xxx.203:32355 xxx.xxx.xxx.201:179
| TCP xxx.xxx.xxx.203:56588 xxx.xxx.xxx.33:179
| UDP xxx.xxx.xxx.196:123
*:*
| UDP xxx.xxx.xxx.196:161
*:*
|_ UDP xxx.xxx.xxx.196:162
*:*

BGP
Interfaces en el router

161/udp open snmp udp-response
| snmp-interfaces:
| GigabitEthernet0/1
| IP address: xxx.xxx.xxx.196 Netmask: 255.255.255.248
| MAC address: 00:14:a8:00:00:2c (Cisco Systems)
| Type: ethernetCsmacd Speed: 1 Gbps
| Status: up
| Traffic stats: 722.55 Mb sent, 4.19 Gb received
| GigabitEthernet0/2
| IP address: yyy.yyy.yyy.2 Netmask: 255.255.255.252
| MAC address: 00:14:a8:00:00:2d (Cisco Systems)
| Type: ethernetCsmacd Speed: 1 Gbps
| Status: up
| Traffic stats: 3.22 Gb sent, 3.13 Gb received
| Loopback7
| IP address: xxx.xxx.xxx.203 Netmask: 255.255.255.255
| Type: softwareLoopback Speed: 4 Gbps
| Status: up
|_ Traffic stats: 0.00 Kb sent, 0.00 Kb received
Interfaces en el router

161/udp open snmp udp-response
| snmp-interfaces:
| GigabitEthernet0/1
| IP address: xxx.xxx.xxx.196 Netmask: 255.255.255.248
| MAC address: 00:14:a8:00:00:2c (Cisco Systems)
| Type: ethernetCsmacd Speed: 1 Gbps
| Status: up
| Traffic stats: 722.55 Mb sent, 4.19 Gb received
| GigabitEthernet0/2
| IP address: yyy.yyy.yyy.2 Netmask: 255.255.255.252
| MAC address: 00:14:a8:00:00:2d (Cisco Systems)
| Type: ethernetCsmacd Speed: 1 Gbps
| Status: up
| Traffic stats: 3.22 Gb sent, 3.13 Gb received
| Loopback7
| IP address: xxx.xxx.xxx.203 Netmask: 255.255.255.255
| Type: softwareLoopback Speed: 4 Gbps
| Status: up
|_ Traffic stats: 0.00 Kb sent, 0.00 Kb received
Interfaces en el router

161/udp open snmp udp-response
| snmp-interfaces:
| GigabitEthernet0/1
| IP address: xxx.xxx.xxx.196 Netmask: 255.255.255.248
| MAC address: 00:14:a8:00:00:2c (Cisco Systems)
| Type: ethernetCsmacd Speed: 1 Gbps
| Status: up
| Traffic stats: 722.55 Mb sent, 4.19 Gb received
| GigabitEthernet0/2
| IP address: yyy.yyy.yyy.2 Netmask: 255.255.255.252
| MAC address: 00:14:a8:00:00:2d (Cisco Systems)
| Type: ethernetCsmacd Speed: 1 Gbps
| Status: up
| Traffic stats: 3.22 Gb sent, 3.13 Gb received
| Loopback7
| IP address: xxx.xxx.xxx.203 Netmask: 255.255.255.255
| Type: softwareLoopback Speed: 4 Gbps
| Status: up
|_ Traffic stats: 0.00 Kb sent, 0.00 Kb received

BGP/OSPF
Identificando Anycast BGP (RIPEstat)
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
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
Trilateración
Trilateración
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
IXP en el mapa de Internet
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
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
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
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
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
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
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
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
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
XSS Reflejado / Almacenado
Session Fixation

GET / HTTP/1.1
Host: 190.93.240.253 ; __cfuid=cookie_tampering
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0
[...]

HTTP/1.1 409 Conflict
Server: cloudflare-nginx
Date: Sat, 06 Jul 2013 19:12:03 GMT
Content-Type: text/html
Connection: keep-alive
Cache-Control: max-age=6
Expires: Sat, 06 Jul 2013 19:12:09 GMT
CF-RAY: 89e9ab725d3024a
Set-Cookie: __cfduid=d06b07472e09dc[...]fc71373137923; expires=Mon, 23-Dec-2019 23:50:00
GMT; path=/; domain=.240.253; __cfuid=cookie_tampering
Content-Length: 2707
Potencial DoS/BoF de servidor backend

GET / HTTP/1.1
Host: 190.93.240.253
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBC
[...]

HTTP/1.1 504 Gateway Time-out
Server: cloudflare-nginx
Date: Sat, 06 Jul 2013 19:14:11 GMT
Content-Type: text/html
Content-Length
Connection: keep-alive
CF-RAY: 89e9ab725d3024a
Set-Cookie: __cfduid=d06b[...]7923; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.
240.253 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbc
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."}
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&lt;/&gt; under
your account. Domains must be signed up and active on CloudFlare."}
¿Atacar un CDN?
¿Atacar un CDN?
¿Atacar un CDN?
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
El ataque de los cinco puntos de presión
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)
Network boundaries y relaciones BPG

Transit ISP

ISP Backbone
Peer ISP

Cliente 2
Cliente 1
Explotando las relaciones entre peers

Peering
Transit
Provider A

Provider B

Provider C

Multi-Homed
Customer

Customer
Customer

Customer

Customer
Customer

Customer
Explotando las relaciones entre peers

Peering
Transit
Provider A

Provider B

Provider C

Multi-Homed
Customer

Customer
Customer

Customer

Customer
Customer

Customer
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
Arquitectura en los routers

Imagen obtenida de http://wiki.nil.com/Control_and_Data_plane
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)
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
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
Rondita de preguntas

@z0mbiehunt3r
blog.alejandronolla.com
alejandro.nolla@gmail.com

More Related Content

What's hot

Práctica final acl
Práctica final aclPráctica final acl
Práctica final aclchinazo
 
Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]
Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]
Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]RootedCON
 
Genaro rodriguez reynoso prectica 5 tra
Genaro rodriguez reynoso prectica 5  traGenaro rodriguez reynoso prectica 5  tra
Genaro rodriguez reynoso prectica 5 traGenaro Rodriguez
 
DDoS detection at small ISP by Wardner Maia
DDoS detection at small ISP by Wardner MaiaDDoS detection at small ISP by Wardner Maia
DDoS detection at small ISP by Wardner MaiaPavel Odintsov
 
Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]
Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]
Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]RootedCON
 
Detectando DDoS e intrusiones con RouterOS
Detectando DDoS e intrusiones con RouterOSDetectando DDoS e intrusiones con RouterOS
Detectando DDoS e intrusiones con RouterOSPavel Odintsov
 
Tecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsTecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsRodolfo Pilas
 
Vlan dhcp seridores dns web tftp
Vlan dhcp seridores dns web tftpVlan dhcp seridores dns web tftp
Vlan dhcp seridores dns web tftpyoes1053
 
a little more about CaptureFilter
a little more about CaptureFiltera little more about CaptureFilter
a little more about CaptureFilter@ otsuka752
 
Reto resuelto 7.5.2 PacketTracer
Reto resuelto 7.5.2 PacketTracerReto resuelto 7.5.2 PacketTracer
Reto resuelto 7.5.2 PacketTracermictla
 
Apuntes servidores
Apuntes servidoresApuntes servidores
Apuntes servidoresRene Zenteno
 
Implementación de NAT/PAT en routers Cisco
Implementación de NAT/PAT en routers CiscoImplementación de NAT/PAT en routers Cisco
Implementación de NAT/PAT en routers CiscoPaulo Colomés
 
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)Jaime Sánchez
 

What's hot (19)

Práctica final acl
Práctica final aclPráctica final acl
Práctica final acl
 
Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]
Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]
Vins Villaplana - Seguridad en capa de enlace [RootedCON 2011]
 
Genaro rodriguez reynoso prectica 5 tra
Genaro rodriguez reynoso prectica 5  traGenaro rodriguez reynoso prectica 5  tra
Genaro rodriguez reynoso prectica 5 tra
 
DDoS detection at small ISP by Wardner Maia
DDoS detection at small ISP by Wardner MaiaDDoS detection at small ISP by Wardner Maia
DDoS detection at small ISP by Wardner Maia
 
Acl extendida
Acl extendidaAcl extendida
Acl extendida
 
Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]
Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]
Gabriel Gonzalez - Man-In-Remote: PKCS11 for fun and non-profit [RootedCON 2011]
 
Detectando DDoS e intrusiones con RouterOS
Detectando DDoS e intrusiones con RouterOSDetectando DDoS e intrusiones con RouterOS
Detectando DDoS e intrusiones con RouterOS
 
Tecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNsTecnologías libres para túneles y VPNs
Tecnologías libres para túneles y VPNs
 
Aircrack ng
Aircrack ngAircrack ng
Aircrack ng
 
Redes 2 taller comandos router 2020-2
Redes 2   taller comandos router 2020-2Redes 2   taller comandos router 2020-2
Redes 2 taller comandos router 2020-2
 
Vlan dhcp seridores dns web tftp
Vlan dhcp seridores dns web tftpVlan dhcp seridores dns web tftp
Vlan dhcp seridores dns web tftp
 
Redes
RedesRedes
Redes
 
DoS En La Ciberguerra
DoS En La CiberguerraDoS En La Ciberguerra
DoS En La Ciberguerra
 
a little more about CaptureFilter
a little more about CaptureFiltera little more about CaptureFilter
a little more about CaptureFilter
 
Reto resuelto 7.5.2 PacketTracer
Reto resuelto 7.5.2 PacketTracerReto resuelto 7.5.2 PacketTracer
Reto resuelto 7.5.2 PacketTracer
 
Apuntes servidores
Apuntes servidoresApuntes servidores
Apuntes servidores
 
Practicas hackx crack_05
Practicas hackx crack_05Practicas hackx crack_05
Practicas hackx crack_05
 
Implementación de NAT/PAT en routers Cisco
Implementación de NAT/PAT en routers CiscoImplementación de NAT/PAT en routers Cisco
Implementación de NAT/PAT en routers Cisco
 
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
I Know Your P4$$w0rd (And If I Don't, I Will Guess It...)
 

Viewers also liked

Protocolo de routers
Protocolo de routersProtocolo de routers
Protocolo de routersAdrian Zeus
 
Quobis portfolio corporativo
Quobis portfolio corporativoQuobis portfolio corporativo
Quobis portfolio corporativoQuobis
 
Placas De Red Y Modems
Placas De Red Y ModemsPlacas De Red Y Modems
Placas De Red Y Modemssofiafontana
 
Coleccion de-circuitos II
Coleccion de-circuitos IIColeccion de-circuitos II
Coleccion de-circuitos IIelelectronico
 
EL ABC DE LA ELECTRONICA
EL ABC DE LA ELECTRONICAEL ABC DE LA ELECTRONICA
EL ABC DE LA ELECTRONICAGustavo Garcia
 
Aprende electronica desde_cero
Aprende electronica desde_ceroAprende electronica desde_cero
Aprende electronica desde_ceroCgiovanny Gomez
 

Viewers also liked (8)

Protocolo de routers
Protocolo de routersProtocolo de routers
Protocolo de routers
 
Quobis portfolio corporativo
Quobis portfolio corporativoQuobis portfolio corporativo
Quobis portfolio corporativo
 
Placas De Red Y Modems
Placas De Red Y ModemsPlacas De Red Y Modems
Placas De Red Y Modems
 
arquitectura de-routers
arquitectura de-routersarquitectura de-routers
arquitectura de-routers
 
Enrutamiento avanzado mediante BGP
Enrutamiento avanzado mediante BGPEnrutamiento avanzado mediante BGP
Enrutamiento avanzado mediante BGP
 
Coleccion de-circuitos II
Coleccion de-circuitos IIColeccion de-circuitos II
Coleccion de-circuitos II
 
EL ABC DE LA ELECTRONICA
EL ABC DE LA ELECTRONICAEL ABC DE LA ELECTRONICA
EL ABC DE LA ELECTRONICA
 
Aprende electronica desde_cero
Aprende electronica desde_ceroAprende electronica desde_cero
Aprende electronica desde_cero
 

Similar to Adivina quién viene a CDNear esta noche

Administración de red servidores y seguridad
Administración de red servidores y seguridadAdministración de red servidores y seguridad
Administración de red servidores y seguridadEmilio
 
Enrutamiento Dinámico con RIPv1 y RIPv2
Enrutamiento Dinámico con RIPv1 y RIPv2Enrutamiento Dinámico con RIPv1 y RIPv2
Enrutamiento Dinámico con RIPv1 y RIPv2Ivan Luis Jimenez
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1UNAD
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1UNAD
 
7.1.2.4 packet tracer configuring vp ns (optional) instructions
7.1.2.4 packet tracer   configuring vp ns (optional) instructions7.1.2.4 packet tracer   configuring vp ns (optional) instructions
7.1.2.4 packet tracer configuring vp ns (optional) instructionsJaab Mikrotik
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPDaniel Torres
 
Guia de configuracion cisco 881 w logicalis
Guia de configuracion cisco 881 w   logicalisGuia de configuracion cisco 881 w   logicalis
Guia de configuracion cisco 881 w logicalisasesinoevil
 
Curso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnologíaCurso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnologíaJack Daniel Cáceres Meza
 
Autodiagnostico 5 Trimestre
Autodiagnostico 5 TrimestreAutodiagnostico 5 Trimestre
Autodiagnostico 5 Trimestrecyberleon95
 
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteo
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteoCurso: Redes y telecomunicaciones: 10 Protocolos de ruteo
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteoJack Daniel Cáceres Meza
 
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...Andy Juan Sarango Veliz
 
Enrutamiento dinamico con eigrp ospf
Enrutamiento dinamico con eigrp ospfEnrutamiento dinamico con eigrp ospf
Enrutamiento dinamico con eigrp ospfyimfer1
 
8.3.3.3 lab collecting 6 taller
8.3.3.3 lab   collecting  6 taller8.3.3.3 lab   collecting  6 taller
8.3.3.3 lab collecting 6 tallermanchegow
 
Configuracion De Eigrp Y Loopback
Configuracion De Eigrp Y LoopbackConfiguracion De Eigrp Y Loopback
Configuracion De Eigrp Y LoopbackCésar Nuñez
 
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Remigio Salvador Sánchez
 
EtherBERT_2023.09.23_15.47.35 con error.pdf
EtherBERT_2023.09.23_15.47.35 con error.pdfEtherBERT_2023.09.23_15.47.35 con error.pdf
EtherBERT_2023.09.23_15.47.35 con error.pdfRodolfoVictorBarrios
 

Similar to Adivina quién viene a CDNear esta noche (20)

Administración de red servidores y seguridad
Administración de red servidores y seguridadAdministración de red servidores y seguridad
Administración de red servidores y seguridad
 
Enrutamiento Dinámico con RIPv1 y RIPv2
Enrutamiento Dinámico con RIPv1 y RIPv2Enrutamiento Dinámico con RIPv1 y RIPv2
Enrutamiento Dinámico con RIPv1 y RIPv2
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1
 
Lab 6.7.1
Lab 6.7.1Lab 6.7.1
Lab 6.7.1
 
7.1.2.4 packet tracer configuring vp ns (optional) instructions
7.1.2.4 packet tracer   configuring vp ns (optional) instructions7.1.2.4 packet tracer   configuring vp ns (optional) instructions
7.1.2.4 packet tracer configuring vp ns (optional) instructions
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IP
 
Guia de configuracion cisco 881 w logicalis
Guia de configuracion cisco 881 w   logicalisGuia de configuracion cisco 881 w   logicalis
Guia de configuracion cisco 881 w logicalis
 
Curso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnologíaCurso: Comunicación de datos y redes: 07 Nueva tecnología
Curso: Comunicación de datos y redes: 07 Nueva tecnología
 
Autodiagnostico 5 Trimestre
Autodiagnostico 5 TrimestreAutodiagnostico 5 Trimestre
Autodiagnostico 5 Trimestre
 
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteo
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteoCurso: Redes y telecomunicaciones: 10 Protocolos de ruteo
Curso: Redes y telecomunicaciones: 10 Protocolos de ruteo
 
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...
Capítulo 7 Lab 7-1, Configure Enrutamiento en instalaciones a la oficina sucu...
 
Stp spanning tree protocol.jpg
Stp  spanning tree protocol.jpgStp  spanning tree protocol.jpg
Stp spanning tree protocol.jpg
 
STP & SYSLOG
STP & SYSLOGSTP & SYSLOG
STP & SYSLOG
 
Enrutamiento dinamico con eigrp ospf
Enrutamiento dinamico con eigrp ospfEnrutamiento dinamico con eigrp ospf
Enrutamiento dinamico con eigrp ospf
 
Modelo TCP/IP.pdf
Modelo TCP/IP.pdfModelo TCP/IP.pdf
Modelo TCP/IP.pdf
 
Autodiagnóstico
Autodiagnóstico Autodiagnóstico
Autodiagnóstico
 
8.3.3.3 lab collecting 6 taller
8.3.3.3 lab   collecting  6 taller8.3.3.3 lab   collecting  6 taller
8.3.3.3 lab collecting 6 taller
 
Configuracion De Eigrp Y Loopback
Configuracion De Eigrp Y LoopbackConfiguracion De Eigrp Y Loopback
Configuracion De Eigrp Y Loopback
 
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)Firewall Casero con gnu/linux (Ubuntu Server 14.04)
Firewall Casero con gnu/linux (Ubuntu Server 14.04)
 
EtherBERT_2023.09.23_15.47.35 con error.pdf
EtherBERT_2023.09.23_15.47.35 con error.pdfEtherBERT_2023.09.23_15.47.35 con error.pdf
EtherBERT_2023.09.23_15.47.35 con error.pdf
 

More from navajanegra

Cryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a gameCryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a gamenavajanegra
 
Automated and unified opensource web application testing
Automated and unified opensource web application testingAutomated and unified opensource web application testing
Automated and unified opensource web application testingnavajanegra
 
Cool Boot: It's cool!
Cool Boot: It's cool!Cool Boot: It's cool!
Cool Boot: It's cool!navajanegra
 
El lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep WebEl lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep Webnavajanegra
 
Telephaty: Harness the code
Telephaty: Harness the codeTelephaty: Harness the code
Telephaty: Harness the codenavajanegra
 
Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)navajanegra
 
Economías criptográficas
Economías criptográficasEconomías criptográficas
Economías criptográficasnavajanegra
 
Where is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudWhere is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudnavajanegra
 
Divulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación TecnológicaDivulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación Tecnológicanavajanegra
 
1100101001001110
11001010010011101100101001001110
1100101001001110navajanegra
 
Anteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis TécnicoAnteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis Técniconavajanegra
 
Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5navajanegra
 
¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?navajanegra
 
SDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsSDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsnavajanegra
 
LIOS: a tool for IOS Forensic
LIOS: a tool for IOS ForensicLIOS: a tool for IOS Forensic
LIOS: a tool for IOS Forensicnavajanegra
 
A brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsA brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsnavajanegra
 
HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!navajanegra
 
Show me your intents
Show me your intentsShow me your intents
Show me your intentsnavajanegra
 

More from navajanegra (20)

Cryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a gameCryptography: The mathematics of secret codes is a game
Cryptography: The mathematics of secret codes is a game
 
Automated and unified opensource web application testing
Automated and unified opensource web application testingAutomated and unified opensource web application testing
Automated and unified opensource web application testing
 
Offensive MitM
Offensive MitMOffensive MitM
Offensive MitM
 
Cool Boot: It's cool!
Cool Boot: It's cool!Cool Boot: It's cool!
Cool Boot: It's cool!
 
El lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep WebEl lado oscuro de TOR: La Deep Web
El lado oscuro de TOR: La Deep Web
 
Telephaty: Harness the code
Telephaty: Harness the codeTelephaty: Harness the code
Telephaty: Harness the code
 
Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)Trash Robotic Router Platform (TRRP)
Trash Robotic Router Platform (TRRP)
 
Economías criptográficas
Economías criptográficasEconomías criptográficas
Economías criptográficas
 
Where is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraudWhere is my money? The evolution of Internet fraud
Where is my money? The evolution of Internet fraud
 
Divulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación TecnológicaDivulgación del trabajo de la Brigada de Investigación Tecnológica
Divulgación del trabajo de la Brigada de Investigación Tecnológica
 
1100101001001110
11001010010011101100101001001110
1100101001001110
 
Anteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis TécnicoAnteproyecto del código procesal penal: Análisis Técnico
Anteproyecto del código procesal penal: Análisis Técnico
 
Zeus-R-Us
Zeus-R-UsZeus-R-Us
Zeus-R-Us
 
Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5Fuzzing browsers by generating malformed HTML/HTML5
Fuzzing browsers by generating malformed HTML/HTML5
 
¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?¿Nadie piensa en las DLLs?
¿Nadie piensa en las DLLs?
 
SDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communicationsSDR: Lowcost receiving in radio communications
SDR: Lowcost receiving in radio communications
 
LIOS: a tool for IOS Forensic
LIOS: a tool for IOS ForensicLIOS: a tool for IOS Forensic
LIOS: a tool for IOS Forensic
 
A brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other toolsA brief introduction to reversing code with OllyDbg and other tools
A brief introduction to reversing code with OllyDbg and other tools
 
HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!HASH COLLISIONS: Welcome to the (un)real World!
HASH COLLISIONS: Welcome to the (un)real World!
 
Show me your intents
Show me your intentsShow me your intents
Show me your intents
 

Adivina quién viene a CDNear esta noche

  • 1. Adivina quién viene a CDNear esta noche Alejandro Nolla Felipe Martín NAVAJA NEGRA CONFERENCE 2013
  • 2. SHALL WE PLAY A GAME? Love to. How about attacking a CDN? WOULDN’T YOU PREFER A GOOD GAME OF CHESS?
  • 3. class AlejandroNolla(mandalorian): #---------------------------------------------------------------------def __init__(self): self.name = 'Alejandro Nolla Blanco' self.nickname = 'z0mbiehunt3r' self.role = 'Threat Intelligence Analyst' self.interests = ['networking', 'python', 'offensive security']
  • 4. Felipe Martín • • • • • Programador coj*nudo Y mejor amigo ;) Se ha currado toda la interfaz Troll friend is troll @fmartingr
  • 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 + =
  • 7. Vectores de ataque Servidor de origen www.dominio.com
  • 8. Vectores de ataque Servidor de origen www.dominio.com
  • 9. Vectores de ataque Servidor de origen www.dominio.com
  • 10. Vectores de ataque Proveedor del servicio Servidor de origen www.dominio.com
  • 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
  • 15. “Ecosistema” WAN • • • BGP • ASn / prefijos • Transit / Peering / IXP Routers • Protocolos • Fabricante • Características • Rol Topologías
  • 16. Jefe! Una de traceroute....
  • 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
  • 22. Conexiones activas en el router 161/udp open snmp udp-response | snmp-netstat: | TCP xxx.xxx.xxx.34:23 xxx.xxx.xxx.202:49197 | TCP xxx.xxx.xxx.2:27692 xxx.xxx.xxx.1:179 | TCP xxx.xxx.xxx.196:26114 xxx.xxx.xxx.206:23 | TCP xxx.xxx.xxx.196:37388 xxx.xxx.xxx.150:179 | TCP xxx.xxx.xxx.203:12500 xxx.xxx.xxx.206:179 | TCP xxx.xxx.xxx.203:17543 xxx.xxx.xxx.205:179 | TCP xxx.xxx.xxx.203:32355 xxx.xxx.xxx.201:179 | TCP xxx.xxx.xxx.203:56588 xxx.xxx.xxx.33:179 | UDP xxx.xxx.xxx.196:123 *:* | UDP xxx.xxx.xxx.196:161 *:* |_ UDP xxx.xxx.xxx.196:162 *:*
  • 23. Conexiones activas en el router 161/udp open snmp udp-response | snmp-netstat: | TCP xxx.xxx.xxx.34:23 xxx.xxx.xxx.202:49197 | TCP xxx.xxx.xxx.2:27692 xxx.xxx.xxx.1:179 | TCP xxx.xxx.xxx.196:26114 xxx.xxx.xxx.206:23 | TCP xxx.xxx.xxx.196:37388 xxx.xxx.xxx.150:179 | TCP xxx.xxx.xxx.203:12500 xxx.xxx.xxx.206:179 | TCP xxx.xxx.xxx.203:17543 xxx.xxx.xxx.205:179 | TCP xxx.xxx.xxx.203:32355 xxx.xxx.xxx.201:179 | TCP xxx.xxx.xxx.203:56588 xxx.xxx.xxx.33:179 | UDP xxx.xxx.xxx.196:123 *:* | UDP xxx.xxx.xxx.196:161 *:* |_ UDP xxx.xxx.xxx.196:162 *:* Telnet
  • 24. Conexiones activas en el router 161/udp open snmp udp-response | snmp-netstat: | TCP xxx.xxx.xxx.34:23 xxx.xxx.xxx.202:49197 | TCP xxx.xxx.xxx.2:27692 xxx.xxx.xxx.1:179 | TCP xxx.xxx.xxx.196:26114 xxx.xxx.xxx.206:23 | TCP xxx.xxx.xxx.196:37388 xxx.xxx.xxx.150:179 | TCP xxx.xxx.xxx.203:12500 xxx.xxx.xxx.206:179 | TCP xxx.xxx.xxx.203:17543 xxx.xxx.xxx.205:179 | TCP xxx.xxx.xxx.203:32355 xxx.xxx.xxx.201:179 | TCP xxx.xxx.xxx.203:56588 xxx.xxx.xxx.33:179 | UDP xxx.xxx.xxx.196:123 *:* | UDP xxx.xxx.xxx.196:161 *:* |_ UDP xxx.xxx.xxx.196:162 *:* BGP
  • 25. Interfaces en el router 161/udp open snmp udp-response | snmp-interfaces: | GigabitEthernet0/1 | IP address: xxx.xxx.xxx.196 Netmask: 255.255.255.248 | MAC address: 00:14:a8:00:00:2c (Cisco Systems) | Type: ethernetCsmacd Speed: 1 Gbps | Status: up | Traffic stats: 722.55 Mb sent, 4.19 Gb received | GigabitEthernet0/2 | IP address: yyy.yyy.yyy.2 Netmask: 255.255.255.252 | MAC address: 00:14:a8:00:00:2d (Cisco Systems) | Type: ethernetCsmacd Speed: 1 Gbps | Status: up | Traffic stats: 3.22 Gb sent, 3.13 Gb received | Loopback7 | IP address: xxx.xxx.xxx.203 Netmask: 255.255.255.255 | Type: softwareLoopback Speed: 4 Gbps | Status: up |_ Traffic stats: 0.00 Kb sent, 0.00 Kb received
  • 26. Interfaces en el router 161/udp open snmp udp-response | snmp-interfaces: | GigabitEthernet0/1 | IP address: xxx.xxx.xxx.196 Netmask: 255.255.255.248 | MAC address: 00:14:a8:00:00:2c (Cisco Systems) | Type: ethernetCsmacd Speed: 1 Gbps | Status: up | Traffic stats: 722.55 Mb sent, 4.19 Gb received | GigabitEthernet0/2 | IP address: yyy.yyy.yyy.2 Netmask: 255.255.255.252 | MAC address: 00:14:a8:00:00:2d (Cisco Systems) | Type: ethernetCsmacd Speed: 1 Gbps | Status: up | Traffic stats: 3.22 Gb sent, 3.13 Gb received | Loopback7 | IP address: xxx.xxx.xxx.203 Netmask: 255.255.255.255 | Type: softwareLoopback Speed: 4 Gbps | Status: up |_ Traffic stats: 0.00 Kb sent, 0.00 Kb received
  • 27. Interfaces en el router 161/udp open snmp udp-response | snmp-interfaces: | GigabitEthernet0/1 | IP address: xxx.xxx.xxx.196 Netmask: 255.255.255.248 | MAC address: 00:14:a8:00:00:2c (Cisco Systems) | Type: ethernetCsmacd Speed: 1 Gbps | Status: up | Traffic stats: 722.55 Mb sent, 4.19 Gb received | GigabitEthernet0/2 | IP address: yyy.yyy.yyy.2 Netmask: 255.255.255.252 | MAC address: 00:14:a8:00:00:2d (Cisco Systems) | Type: ethernetCsmacd Speed: 1 Gbps | Status: up | Traffic stats: 3.22 Gb sent, 3.13 Gb received | Loopback7 | IP address: xxx.xxx.xxx.203 Netmask: 255.255.255.255 | Type: softwareLoopback Speed: 4 Gbps | Status: up |_ Traffic stats: 0.00 Kb sent, 0.00 Kb received BGP/OSPF
  • 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
  • 34. IXP en el mapa de Internet
  • 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
  • 44. XSS Reflejado / Almacenado
  • 45. Session Fixation GET / HTTP/1.1 Host: 190.93.240.253 ; __cfuid=cookie_tampering User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:21.0) Gecko/20100101 Firefox/21.0 [...] HTTP/1.1 409 Conflict Server: cloudflare-nginx Date: Sat, 06 Jul 2013 19:12:03 GMT Content-Type: text/html Connection: keep-alive Cache-Control: max-age=6 Expires: Sat, 06 Jul 2013 19:12:09 GMT CF-RAY: 89e9ab725d3024a Set-Cookie: __cfduid=d06b07472e09dc[...]fc71373137923; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.240.253; __cfuid=cookie_tampering Content-Length: 2707
  • 46. Potencial DoS/BoF de servidor backend GET / HTTP/1.1 Host: 190.93.240.253 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBC [...] HTTP/1.1 504 Gateway Time-out Server: cloudflare-nginx Date: Sat, 06 Jul 2013 19:14:11 GMT Content-Type: text/html Content-Length Connection: keep-alive CF-RAY: 89e9ab725d3024a Set-Cookie: __cfduid=d06b[...]7923; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=. 240.253 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbc
  • 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&lt;/&gt; 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
  • 53. El ataque de los cinco puntos de presión
  • 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)
  • 55. Network boundaries y relaciones BPG Transit ISP ISP Backbone Peer ISP Cliente 2 Cliente 1
  • 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