PDF de programación - [D]DoS [Distributed] Denial of Service

Imágen de pdf [D]DoS [Distributed] Denial of Service

[D]DoS [Distributed] Denial of Servicegráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 2 de Noviembre del 2017)
697 visualizaciones desde el 2 de Noviembre del 2017
896,0 KB
39 paginas
Creado hace 3a (31/10/2016)
[D]DoS
[Distributed] Denial of Service

LSI - 2016/2017

José Manuel Vázquez Naya
jose@udc.es

DENEGACIÓN DE SERVICIO

Denegación de Servicio

 Definición

 CERT - “Ataque caracterizado por un intento explícito de denegar a los

usuarios legítimos el uso de un servicio o recurso”

 ¿Por qué los servicios son vulnerables?

 Los protocolos suelen estar diseñados para ofrecer servicios, no para

prevenir o evitar estos ataques

Denegación de Servicio

 Legislación aplicable

 Ley Orgánica 10/1995, de 23 de Noviembre, del Código Penal

 Implicaciones jurídicas

 Tras la reforma del Código Penal por la Ley Orgánica 5/2010, el Ataque

de Denegación de Servicio ha pasado a ser considerado un delito
pudiendo llegar las penas hasta los 3 años de prisión según el Art. 264
del mismo.

Denegación de Servicio

 Tipos de ataques DoS

1. Semánticos o lógicos

 Aprovechan una vulnerabilidad del protocolo, aplicación o sistema

2. Fuerza bruta o inundación (flooding)

 Se intenta desbordar a los sistemas mediante un uso legítimo pero

desmedido del envío de paquetes

 Clasificación clásica

 Algunos ataques presentan características de ambos tipos

Denegación de Servicio

 Ataques semánticos o lógicos

 ¿En qué consisten?

 Enviar al equipo remoto paquetes mal construidos (o mal intencionados) para

aprovechar vulnerabilidades

 ¿Cómo pueden evitarse?

 Actualización de servicios (parcheo de vulnerabilidades)

 Definición de reglas en firewall

Ping of Death (PoD)

 Tipo de ataque que implica enviar un ping malformado a una computadora

 Un ping normalmente son 56 bytes (+20 bytes fijos de la cabecera IP, + 8

bytes de la cabecera ICMP, haciendo un total de 84 bytes)

 Muchos sistemas no podían soportar un paquete ping de mayor tamaño que

el tamaño máximo de paquete IPv4 (65.535 bytes)

 Enviar un paquete ping superior a este tamaño podría hacer que la computadora

objetivo se quedase colgada

 Realmente, enviar un paquete > 65.535 bytes viola el protocolo IP (RFC 791)

 Se puede enviar el paquete fragmentado. Cuando la máquina lo reensambla

se cae

 Los sistemas operativos “modernos” (posteriores a 1997/1998) no son

vulnerables a este ataque

Teardrop

 Ataque basado en fragmentación

 Cuando se envían datos por red, se fragmentan en origen y se

reensamblan en destino

 Por ejemplo, para enviar 3000 bytes, en lugar de enviar un único

paquete, se generarían los siguientes paquetes:

 paquete 1 que contiene bytes 1-1000.

 paquete 2 que contiene bytes 1001-2000.

 paquete 3 que contiene bytes 2001-3000.

Teardrop

 En el ataque teardrop:

 Se envía un paquete fragmentado a la máquina objetivo

 Los fragmentos están mal formados, de forma que se solapan

 (bytes 1-1500) (bytes 1001-2000) (bytes 1500-2500)

 Cuando la máquina objetivo intenta reensamblar los datos se queda

colgada o se reinicia

 Windows NT, Windows 95, y versiones de Linux anteriores a la

versión 2.1.63 son vulnerables a este ataque

LAND - Local Area Network Denial

 Ataque basado en spoofing

 Pasos

 Envío de un paquete TCP SYN a la máquina objetivo

 Además, se establece como IP origen (falsa) la dirección de la propia

máquina objetivo

 Consecuencia: la víctima se responde a sí misma

continuamente. Se crea un bucle infinito
y la máquina se queda colgada

 Windows NT antes del Service Pack 4

era vulnerable a este ataque

Denegación de Servicio

 Ataques de fuerza bruta o inundación (flooding)

 ¿En qué consisten?

 En inundar un sistema con un flujo continuo de tráfico

 Acaban por consumirse todos sus recursos propios y el ancho de banda

Ping flood

 ICMP Echo Request (Ping flood)

 Envío masivo de paquetes ICMP Echo

TCP SYN Flood

 Atacante envía paquetes TCP con flag SYN al servidor, reemplazando

la IP origen por una IP legal pero inalcanzable

 Servidor, al recibir el mensaje,

 Reserva espacio para la conexión (buffer, sockets, …)

 Responde a una dirección inalcanzable (nadie responderá)

 Debe esperar a que venza el timeout (e.g. 75s) con socket abierto,

reserva de buffers, etc.

 Si recibe muchas peticiones se agotan los recursos

TCP SYN Flood

TCP SYN Flood

 Explota una debilidad intrínseca del protocolo TCP

 Complejo de evitar

 Algunas contramedidas

 SYN Cookies

 SYN Caches

SYN Cookies

 La idea de las SYN Cookies es aprovechar el número de secuencia para

codificar datos

 Permite al servidor, evitar el rechazo de nuevas conexiones cuando la cola SYN se

llena

 El servidor descarta la petición SYN original y crea un "SYN cookie challenge".

Encapsula una parte de la solicitud original y se devuelve al cliente como un
número de serie largo

 Si el cliente responde, el servidor puede reconstruir la petición SYN original

 Esto permite reservar espacio para la conexión (buffer, sockets, …) únicamente

cuando se recibe el mensaje de confirmación final

 Las SYN cookies se pueden activar en caso de ataque (no tienen por qué estar

siempre activadas).

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

sysctl -w net.ipv4.tcp_syncookies=1

SYN Caches

 La Transmission Control Block (TCB) es una estructura de datos que

mantiene toda la información de una conexión

 La idea de las SYN Caches es usar una una estructura de datos

independiente de la TCB, con un tamaño limitado y en la que se
guarda sólo un subconjunto de datos de los que se guardarían
normalmente en la TCB

 Si se completa el handshake y se recibe el ACK, estos datos se

copian a la TCB

 En la estructura de datos de la SYN Cache, se pueden reutilizar los

slots más antiguos

 Implementado por defecto en FreeBSD

UDP Flood

 Al contrario que TCP, el protocolo UDP no está orientado a conexión

 Ataques por inundación UDP ¿En qué consisten?

 Envío masivo de paquetes a puertos UDP aleatorios

 Destinatario (víctima)

 Comprueba si alguna aplicación está escuchando en ese puerto

 Puerto aleatorio -> ninguna aplicación estará a la escucha

 Respuesta con un paquete ICMP Destination Unreachable

 Si el número de paquetes enviados (puertos analizados) es

suficientemente elevado el destino será incapaz de responder

Denegación de Servicio

 Herramientas de generación de paquetería

 packit

 hping3

 …

Denegación de Servicio

 Packit (apt-get install packit)

 Herramienta para la captura e inyección de paquetes

 Permite personalización paquetes

 TCP, UDP, ICMP, IP, ARP, RARP, Ethernet header

Denegación de Servicio

packit -m inject [-t protocol] [-options] [-i interface]

Opciones básicas de inyección de paquetes:
-t protocolo
-c número
-w número

TCP (defecto), UDP, ICMP, ARP
Número de paquetes a inyectar (0: continuo)
Intervalo (en seg.) entre cada ráfaga de paquetes
(def. 1)
Número paquetes a inyectar en cada intervalo (0:
máximo)
Host Response: salida por pantalla
especifica la interfaz desde la que transmitir
IP origen (spoofing)
Establece dirección IP origen aleatoria
IP destino
Establece una dirección 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)

-b número

-h
-i interface
-s dirección
-sR
-d dirección
-dR dirección
-S puerto
-D puerto
-F flags

_____

1) http://linux.die.net/man/8/packit

Denegación de Servicio

 Packit. Ejemplos:

 Envío 2 paquetes udp al puerto 7 (UDP-Echo), falseando IP origen

(aleatoria) y mostrando salida por pantalla

packit -t udp -D 7 -sR -d 172.30.0.20 -c 2 -h

Denegación de Servicio

 Packit. Ejemplos

 Envío 2 paquetes tcp con el flag SYN al puerto 22 (ssh), falseando IP

origen (aleatoria) y mostrando salida por pantalla

packit -t tcp -D 22 -sR -FS -d 172.30.0.20 -c 2 -h

Denegación de Servicio

 hping3 (apt-get install hping3)

 Añade funcionalidades a ping

 spoofing, inyección paquetes, etc.

 http://www.hping.org/hping3.html

 Ejemplo

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

Denegación de Servicio

 hping3 [opciones] host

 Opciones básicas





-c

-i

número paquetes

intervalo espera en segundos o microsegundos (u)

 -i 1

1 paguete/segundo

 --fast

alias -i u10000

 --faster

alias -i u1

 --flood

envío de paquetes sin espera (lo más rápido posible)

 Modo funcionamiento (si no se especifica, default mode TCP)

 -0 --rawip

RAW IP mode

 -1 --icmp

ICMP mode

 -2 --udp

UDP mode

 -8 --scan

SCAN mode

 -9 --listen

listen mode





-a --spoof

spoof dirección origen

--rand-source

especificar dirección de origen aleatoria

 UDP/TCP

 -s --baseport

puerto de origen

 -p --destport

puerto destino

 -S --syn

 -R --rst

flag SYN

flag RST

Denegación de Servicio

 hping3 . Ejemplos

 Envío paquetes TCP con el flag SYN al puerto 80 de <ipVictima> todo lo

rápido que puede (--flood) y desde direcciones IP origen aleatorias (--
rand-source)

hping3 --rand-source -p 80 -S --flood <ipVictima>

Denegación de Servicio

 Ataques semánticos/lógicos vs ataques inundación/fuerza bruta

 Otra posible clasificación

 Ataques Directos

 Envío masivo de paquetes de manera directa a la víctima

 Eg. Ping of Death, TCP SYN Flood, …

 Dirección origen generalmente falsificada

 Reflector Attacks

 Uso nodos intermedios como amplificadores

 Routers, Servidores Web , DNS, NTP, …

 Atacante envía paquetes que requieren respuesta a un amplificador con

la dirección de la víctima como dirección origen

 Eg. Smurf, Fraggle, …

SMURF

 Usa paquetes ICMP Echo-Request

 IP origen : máquina atacada (spoofing)

 IP destino: dirección broadcast de la red

 Todos los equipos de la red responderán mediante paquete ICMP Echo-Reply,

consumiendo ancho de banda y recursos de la víctima

FRAG
  • Links de descarga
http://lwp-l.com/pdf7358

Comentarios de: [D]DoS [Distributed] Denial of Service (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad