Beruflich Dokumente
Kultur Dokumente
LSI
2012-2013
Contenido
[D]DoS
DENEGACIN DE SERVICIOS
Denegacin de Servicios
Definicin
CERT - Ataque caracterizado por un intento explcito de denegar a los usuarios legtimos el uso de un servicio o recurso
Denegacin de Servicios
Periodo: Febrero 2009 - Junio 2009 Fuente: INTECO Instituto Nacional de Tecnologas de la Comunicacin
Denegacin de Servicios
Periodo: Febrero 2010 - Junio 2010 Fuente: INTECO Instituto Nacional de Tecnologas de la Comunicacin
Denegacin de Servicios
Legislacin aplicable
Implicaciones jurdicas
Tras la reforma del Cdigo Penal del 23 de diciembre de 2010, el Ataque de Denegacin de Servicio ha pasado a ser considerado un delito pudiendo llegar las penas hasta los 3 aos de prisin segn el Art. 264 del mismo.
Denegacin de Servicios
1) Ataques semnticos o lgicos Aprovechan una vulnerabilidad del protocolo, aplicacin o sistema
2) Ataques fuerza bruta o inundacin Se intenta desbordar a los sistemas mediante un uso legtimo pero desmedido del envo de paquetes Ataques a servicios:
Clasificacin clsica
Denegacin de Servicios
Ejemplos
Denegacin de Servicios
Buffer Overflow
Ataque de denegacin de servicios clsico Un servicio/aplicacin responde ante la recepcin masiva de datos con un error de ejecucin Etapas:
El conjunto de datos recibidos es superior al espacio de memoria reservado (y no se hace comprobacin de tamao)
Los datos insertados sobreescriben zonas de memoria relacionadas con el flujo de ejecucin del servicio/aplicacin
Denegacin de Servicios
Ping of Death
Ataque basado en overflow Tamao paquetes IP limitados a 216 -1 (64Kb = 65,535 bytes)
Si el tamao del un paquete > MTU (generalmente 1500 bytes) son fragmentados
ICMP echo-request
Cabecera ICMP: 8 bytes Tamao mximo datos ICMP: 65535 20 8 = 65,507 bytes Si tamao (una vez reensamblado) se produca overflow de las variables internas de 16 bits
Denegacin de Servicios
TearDrop
En el 2 fragmento se establece un offset que apunta a los datos incluidos fragmento anterior
Eg. sobrescritura de datos, negativo, superior a la memoria reserva Ocasiona desbordamiento de memoria y cada del sistema
Denegacin de Servicios
LAND
Denegacin de Servicios
En inundar un sistema con un flujo continuo de trfico Acaban por consumirse todos sus recursos propios y el ancho de banda
Ejemplos
TCP SYN
UDP Flood ICMP Flood
Denegacin de Servicios
1) CLIENTE 2) CLIENTE
SERVIDOR SERVIDOR
3) CLIENTE
Ack NSs+1
SERVIDOR
Servidor espera timeout (eg. 75 seg) con socket abierto, reserva de buffers, etc. Se consigue la cada del servicio TCP cuando se colapsa la Transmission Control Block (6-15 entradas)
Denegacin de Servicios
TCP SYN
Denegacin de Servicios
TCP SYN
Explota una debilidad intrnseca del protocolo TCP Complejo de evitar Monitorizacin mediante netstat Algunas alternativas
SYN Cookies
Reserva espacio para la conexin (buffer, sockets, ) nicamente cuando se recibe el mensaje de confirmacin final echo 1 > /proc/sys/net/ipv4/tcp_syncookies
SYN Caches
Implementado por defecto en FreeBSD Utiliza una estructura de datos independiente y, cuando se completa la conexin, copia los datos a la Transmission Control Block
Denegacin de Servicios
Envo masivo de paquetes a puertos UDP aleatorios Destinatario (vctima) Comprueba si alguna aplicacin est escuchando en ese puerto Puerto aleatorio -> ninguna aplicacin estar a la escucha Respuesta con un paquete ICMP Destination Unreachable
Si el nmero de paquetes enviados (puertos analizados) es suficientemente elevado -> destino ser incapaz de responder
Denegacin de Servicios
Herramienta para la captura e inyeccin de paquetes, ethernet e IP Permite personalizacin paquetes TCP, UDP, ICMP, IP, ARP, RARP, Ethernet header Tres modos de ejecucin: inject (defecto), capture y trace
Denegacin de Servicios
-t protocolo -c nmero -w nmero -b nmero -s direccin -sR -d direccin -dR direccin -S puerto -D puerto -F flags -h
TCP (defecto), UDP, ICMP, ARP Nmero de paquetes a inyectar (0 continuo) Intervalo (en seg.) entre cada conjunto de paquetes Nmero paquetes a inyectar en cada intervalo IP origen mostrada (spoofing) Establece direccin IP origen aleatoria Direccin destino Establece una direccin destino aleatoria Indica puerto origen en TCP y/o UDP Indica puerto destino en TCP y/o UDP Flags TCP : S(SYN), F(FIN), A(ACK), P(PSH), U(URG), R(RST) Host Response: salida por pantalla
Denegacin de Servicios
Packit. Ejemplos
-| RCV 1 |-----------------------------------------------------------------Timestamp: 23:56:57.027553 ICMP header: Type: Unreachable(3) Code: Port(3) IP header: Src Address: 10.10.102.xx Dst Address: 101.9.1.147 TTL: 64 ID: 40376 TOS: 0xC0 Len: 56 -| SND 2 |-----------------------------------------------------------------Timestamp: UDP header: IP header: 23:56:58.028146 Src Port: 41286 Dst Port(s): 8 Src Address: 225.1.216.121 Dst Address: 10.10.102.xx TTL: 128 ID: 57693 TOS: 0x0 Len: 28
-| RCV 2 |-----------------------------------------------------------------Timestamp: 23:56:58.028135 ICMP header: Type: Unreachable(3) Code: Port(3) IP header: Src Address: 10.10.102.xx Dst Address: 225.1.216.121 TTL: 1 ID: 17212 TOS: 0xC0 Len: 56 -| Packet Injection Statistics |-------------------------------------------Injected: 2 Received: 2 Loss: 0.0% Bytes Written: 56 Errors: 0
Denegacin de Servicios
Packit. Ejemplos
-| RCV 1 |------------------------------------------------------------------
00:01:11.288280 Src Port: 22 Dst Port: 1613 Flag(s): AS Window: 5840 Seqn: 1037362562 Ackn: 69257332 Src Address: 10.10.102.44 Dst Address: 99.71.171.142 TTL: 64 ID: 0 TOS: 0x0 Len: 44 (DF)
00:01:12.288836 Src Port: 49057 Dst Port: 22 Flag(s): S Window: 65535 Seqn: 1718917744 Src Address: 58.31.57.78 Dst Address: 10.10.102.xx TTL: 128 ID: 35315 TOS: 0x0 Len: 40 00:01:12.288826 Src Port: 22 Dst Port: 49057 Flag(s): AS Window: 5840 Seqn: 164485453 Ackn: 1718917745 Src Address: 10.10.102.44 Dst Address: 58.31.57.78 TTL: 64 ID: 0 TOS: 0x0 Len: 44 (DF)
-| Packet Injection Statistics |-------------------------------------------Injected: 2 Received: 2 Loss: 0.0% Bytes Written: 80 Errors: 0
Denegacin de Servicios
Nmero de paquetes a procesar Seleccin de dispositivo de captura (eth0,..) Deshabilitar resolucin ip/host Deshabilitar resolucin puerto/servicio Modo verbose Grabar salida en fichero Grabar datos en hexadecimal y ascii
Denegacin de Servicios
-| PID 2 |-----------------------------------------------------------------Timestamp: 23:38:16.576498 TCP header: Src Port: 60383 Dst Port: 22 Flag(s): A Window: 470 Seqn: 195705208 Ackn: 644806818 IP header: Src Address: 10.10.96.66 Dst Address: debian-23.local TTL: 127 ID: 12896 TOS: 0x0 Len: 40 (DF) 0x0000 0x0010 0x0020 4500 0028 3260 4000 7f06 eeed 0a0a 6042 0a0a 662c ebdf 0016 0baa 3978 266e f8a2 5010 01d6 8353 0000 0000 0000 0000 E--(2`@-------`B --f,------9x&n-P----S--------
Denegacin de Servicios
root@debian:~# packit -m cap 'icmp and dst 10.10.102.xx' -n -c 2 Mode: Packet Capture using device: eth0 [icmp and dst 10.10.102.xx] -| PID 1 |------------------------------------------------------------------
Timestamp: 00:00:28.789189 ICMP header: Type: Echo Request(8) ID: 256 Seqn: 3584 IP header: Src Address: 10.10.102.xx Dst Address: 10.10.102.xx TTL: 255 ID: 0 TOS: 0x0 Len: 36
-| PID 2 |-----------------------------------------------------------------Timestamp: 00:00:29.988963 ICMP header: Type: Echo Request(8) ID: 256 Seqn: 3584 IP header: Src Address: 10.10.102.xx Dst Address: 10.10.102.xx TTL: 255 ID: 0 TOS: 0x0 Len: 36 -| Packet Capture Statistics |---------------------------------------------Received: 2 Dropped: 0 Processed: 0
Denegacin de servicios
hping3
Instalacin
root@debian:/home/lsi# hping3 www.google.com HPING www.google.com (eth0 173.194.34.241): NO FLAGS are set, 40 headers + 0 data bytes len=46 ip=173.194.34.241 ttl=255 id=10222 sport=0 flags=RA seq=0 win=0 rtt=0.4 ms len=46 ip=173.194.34.241 ttl=255 id=10223 sport=0 flags=RA seq=1 win=0 rtt=0.4 ms
Denegacin de Servicios
-c -i
nmero paquetes intervalo espera (uX para esperar X microsegundos, eg. -i u1000)
--fast --faster --flood -0 --rawip -1 --icmp -2 --udp -8 --scan -9 --listen alias -i u10000 (10 paquetes/segundo) alias -i u1000 (100 paquetes/segundo) envo de paquetes sin espera (lo ms rpido posible) RAW IP mode ICMP mode UDP mode SCAN mode. listen mode
-a --spoof --rand-source
UDP/TCP
Denegacin de Servicios
hping3 . Ejemplos
syn attack
root@debian:/home/lsi# hping3 --rand-source p 80 S --flood ipVictima
land attack
root@debian:/root# hping3 -d 120 -S -p 445 -s 445 --flood ipVictima
smurf attack
root@debian:/home/lsi# hping3 -1 flood a ipVictima broadcastRedVictima
Xmas attack
root@debian:/root# hping3 -c 1 -V -I eth0 -s 8765 -p 8080 -M 0 -UPF ipVictima
Null scan
root@debian:/root# hping3 -c 1 -V -I eth0 -s 8765 -p 8080 -Y ipVictima
Denegacin de servicios
Hping3
Comandos disponibles
resolve, send, sendraw, recv, recvraw, iflist, outifa, getfield, hashfield, setfield, delfield, checksum, event
Denegacin de servicios
hping3
Denegacin de Servicios
Ataques Directos
Reflector Attacks
Atacante enva paquetes que requieren respuesta a un amplificador con la direccin de la vctima como direccin origen
Denegacin de Servicios
Imagen extrada de Internet Denial of Service Attacks and Defense Mechanism, M. Abliz
Denegacin de Servicios
SMURF
Todos los equipos de la red respondern mediante paquete ICMP Echo-Reply, consumiendo el ancho de banda de la red
Denegacin de Servicios
FRAGGLE
Usa protocolo UDP Envo de mensaje broadcast UDP Echo y destino generalmente al servicio chargen (puerto 19), daytime (puerto 13) o echo (puerto 7) de la vctima Inundacin
Equipos con echo inactivo respondern ICMP Error Equipos con echo activo reenviarn paquete a la vctima Si la vctima tiene servicio chargen activo, entrarn en un bucle infinito con los servidores de echo activo.
Denegacin de Servicios
Factor de amplificacin
Relacin entre las tramas recibidas por la vctima por cada trama transmitida por el atacante Eg. TCP SYN directo
Se enva un paquete TCP SYN y se responde un ACK (y se queda a la espera). Factor Amplificacin: 1
Eg. Smurf
Por cada paquete enviado por atacante se generan n paquetes hacia la vctima (n: nmero de mquinas activas en la red): Factor Amplificacin: n
Denegacin de Servicios
Eg. Chargen
Denegacin de Servicios
sysctl w net.ipv4.icmp_echo_ignore_broadcasts = 1
comprueba que los paquetes entrantes en una interfaz son alcanzables basndose en la direccin de origen (evita spoofing) sysctl w net.ipv4.conf.all.rp_filter = 1
DDOS
DDos
Imagen extrada de Internet Denial of Service Attacks and Defense Mechanism, M. Abliz
DDoS
Participantes principales
Mquinas intermediarias Equipos que tras su infeccin (e.g. malware) son usados por una tercera persona como medio para lanzar un ataque
DDoS, Distribucin material, envo de spam, robo de datos, etc. Gusanos (Worms), Troyanos, etc.
Handlers o manejadores
Programa/servicio encargado del control de los agentes Especifica a quien atacar, cuando atacar y cmo atacar
DDoS
DDoS
Dimensin Botnets
Mariposa (2010) 13 millones equipos TDL (2011) 4.5 millones equipos Rustock (2011) 2.4 millones de equipos
DDoS
Fases
1) Reclutamiento agentes
Escaneo de puertos, bsqueda de vulnerabilidades, etc. Troyanos, Spam, etc. Generalmente automatizada Mquinas infectadas sern utilizadas para nuevos reclutamientos Tras la orden del manejador, los agentes sern los encargados del lanzamiento de paquetes
2) Explotacin / infeccin
3) Ataque
DDoS
DDoS
Manuales Escaneo, reclutamiento, explotacin/infeccin, ataque Semiautomticos Manejador (master, handler), agente (esclavo, demonio, zombie, botnet) Reclutamiento, explotacin/infeccin automatizadas Fase de uso manual: tipo de ataque, duracin, vctima, etc. Comunicacin
Directa Indirecta: Eg. IRC (cifrado), port knocking, control remoto (proxie)
Automticos Fase uso tambin automtica -> no se necesita comunicacin entre atacante y agentes. Uso de backdoors
DDoS
DDoS
DDoS
Intentan eliminar la posibilidad de sufrir ataques DDoS en conjunto o bien posibilitar a las potencias vctimas a soportar el ataque sin dejar de dar servicio a los clientes legtimos
Reactivos
Intentan mitigar el impacto del ataque sobre la vctima. Necesitan detectar el ataque (IDS, mtricas rendimiento, etc.) y responder a l. El objetivo se resume en detectar cuanto antes el problema con un bajo nivel de falsos positivos.
DDoS
Autnomos
Defensa independiente en el lugar en el que se despliegan (host, red, servicio) E.g. : firewalls, antivirus, IDS (a pesar de poder operar distribuido) Pueden operar en modo autnomo para deteccin y respuesta, pero son capaces de cooperar con otro tipo de entidades para mejorar su rendimiento Eg. Aggregate Congestion Control (ACC) en routers No operar de manera autnoma. Requieren despliegues multi-red o delegacin en otros servicios. Eg. Mecanismos de traceback multirouter
Cooperativos
Interdependientes
DDoS
Red Vctima Implantacin mbito red local [personalizable] Mecanismos de defensa intentan aligerar el impacto sobre la vctima Eg. monitorizacin de recursos, securizacin protocolos, reverse-firewall
Red Intermedia Proporcionan defensa a un mayor nmero de servicios/mquinas Servicio generalmente contratable Eg. TraceBack, PushBack
Red Origen Evitan a los clientes ser fuente de un ataque de DDoS
DDoS
Muchas de ellas derivadas de la propia arquitectura de internet comparticin de recursos bajo demanda precepto simple core and complex edge multi-path routing gestin descentralizada escasa notarizacin (accountability) capacidad de enlaces variable
pero hay ms No siempre es fcil diferenciar una peticin maliciosa de una legtima Asimetra en el overhead entre peticiones y respuestas Escasez de informacin sobre ataques
DDoS
Prevenir y priorizar
Pasivo:
IDS (bsqueda de firmas), monitorizacin de trfico en bsqueda de mensajes de control conocidos Estrategia distribuida: Redes cooperativas de agentes
Activo:
Problemas
Deteccin y filtrado
Debern mantenerse bajas las tasas de falsos positivos y falsos negativos OJO: Atacante puede tambin generar trfico legtimo Herramientas: IP Hooping, Route-based Packet Filtering, Distributed Attack Detection
Herramientas DDoS
TRIN00
Listas de agentes
Agentes
Comunicacin directa
Se inicia siempre con el envo de una contrasea tcp 27665 atacante master y udp 27444 y 31335 entre master - bot lsof o netstat permite ver puertos abiertos
lsof i n P U
Comandos
Herramientas DDoS
1 nico mster Ataques por inundacin TCP SYN, ICMP, UDP, Smurf. RootShell Puertos privilegiados -> requiere permisos de root Comunicacin directa
No existe contrasea de acceso Atacante Cliente (mster) va telnet Cliente (mster) demonios (slave) va ICMP_ECHO_REPLY Encapsulados en paquetera ICMP NumSec = 0x000000 para hacerlo pasar por respuesta a ping Codificados en campo ID
Comandos
Herramientas DDoS
Stacheldraht
Basada en arquitectura TFN
Ataques
Componentes
Conectividad
Handlers Agentes: TCP e ICMP indistintamente Atacante Cliente : Telnet 16660/TCP Trfico cifrado
Bibliografa
www.cert.org/tech_tips/denial_of_service.html
http://www.inteco.es/Seguridad/Observatorio/Articulos/Articulo_botnet
Jelena Mirkovic, Sven Dietrich, David Dittrich, and Peter Reiher. Internet Denial of Service. Attack and Defense Mechanisms. ISBN: 013-147573-8. Prentice Hall, 2004.
Denegacin de Servicios