Ataques De Denegacion De Servicios
Un ataque de denegacin de servicio es un incidente en el cual un usuario o una organizacin son
privados de los servicios de un recurso que esperaba obtener. Se define Denegacin de Servicio o
ataque DoS como la imposibilidad de acceder a un recurso o servicio por parte de un usuario legtimo.
Es decir, la apropiacin exclusiva de un recurso o servicio con la intencin de evitar cualquier acceso a
terceras partes.
Los ataques de denegacin de servicio pueden ser provocados por usuarios internos y usuarios externos,
los usuarios internos generalmente son usuarios con pocos conocimientos que pueden colapsar el
sistema o servicio en forma inconsciente. Los usuarios externos generalmente son usuarios que han
conseguido acceso al sistema de forma ilegtima, falseando la direccin de origen con el propsito de
evitar la deteccin.
Es increble la cantidad de cdigo fuente existente en Internet que puede ser usado para profundizar
acadmicamente en el tema de la negacin de servicios y en general en la inseguridad informtica por
ejemplo: [Link]
Ataque DoS Snork
El protocolo IP define un sistema de pruebas simple que permite verificar el funcionamiento del
protocolo de comunicaciones. El sistema proporcionado por IP se basa en el envo de un datagrama
especial al computador destino, que lo reconoce y enva una respuesta al origen (ECHO REPLY), el
protocolo IP define para estas pruebas simples un servicio para la recepcin de un datagrama UDP al
puerto 7 (ECHO).
1
Por otro lado, existe un servicio proporcionado en muchos sistemas operativos tipo UNIX y Windows
denominado CHARGEN (CHARacter GENerator, generador de caracteres) que dada una peticin
responde con una secuencia aleatoria de caracteres.
Este servicio Chargen se encuentra disponible escuchando en el puerto 19 a datagramas de tipo
UDP, en sistemas Windows de tipo servidor se suele utilizar el puerto 135 (Microsoft Locator Service)
para el ataque snork.
El ataque consiste en cruzar ambos servicios enviando una peticin falsa al servicio CHARGEN (que
retorna una secuencia de caracteres pseudo-aleatoria) falseando la direccin de origen dando como
puerto de respuesta el puerto ECHO (que responde a cualquier peticin) de la mquina a atacar. De esta
forma, se inicia un juego de ping pong infinito.
Este ataque puede realizarse entre varios computadores (consumiendo ancho de banda y degradando
el rendimiento de la red) o desde un mismo computador (l mismo se enva una peticin y el mismo se
responde) consiguiendo consumir los recursos existentes (especialmente CPU y memoria) de la mquina
atacada.
Las dos mquinas exploradas son vulnerables a este ataque debido a una vulnerabilidad en el diseo de
la capa IP, el protocolo IP tiene como mecanismo de autenticacin el IP de origen, entonces si alguien
logra cambiar el IP es decir hacer sniff entonces el protocolo IP no se dar cuenta. Adems la
informacin viaja como texto en claro.
Ejemplo de un ataque Snork
En versiones antiguas de linux para habilitar los servicios echo y chargen se debe editar el archivo
/etc/[Link] y quitar el signo comentarios # de las lineas echo y chargen, luego se debe reiniciar el
servicio inetd con el comando /etc/init.d/inetd stop y /etc/init.d/inetd start, y se verifica con status.
Los Linux mas modernos en cambio del archivo de configuracin /etc/[Link] usan archivos con el
nombre del servicio y estn en el directorio /etc/xinetd.d/, en este directorio existen archivos que
representan los servicios de red, en estos archivos existe una variable llamada disable que debe ser
igual a la palabra no para habilitar el servicio, luego se debe reiniciar el servicio xinetd con el
comando /etc/init.d/xinetd stop y /etc/init.d/xinetd start.
Entonces el servicio echo estara en la maquina [Link] en el archivo /etc/xinetd.d/echo-udp y se
vera as:
2
El servicio chargen estara en la maquina [Link] en el archivo /etc/xinetd.d/chargen-udp y se vera
as:
3
Reinicie el servicio
Problema
Suponga que estamos usando una mquina que se halla en una LAN con la direccin de red
[Link]/16. Usando Nmap, nos hemos percatado que hay una mquina con IP [Link] donde est
funcionando el servicio UDP/ECHO y otra con IP [Link] donde est funcionando el servicio
UDP/CHARGEN.
4
Diagrama de un ataque Snork
Estos son los comandos Nmap para explorar los servicios UDP de las mquinas [Link] y
[Link].
#nmap -sU [Link] (servicio ECHO)
Se puede apreciar el servicio echo en el puerto 7 de tipo UDP y aparece el servicio chargen en el puerto
19 de tipo UDP y ambos puertos estn abiertos en las respectivas maquinas.
Comando para hacer el ataque
Ahora Explicamos los parmetros con los que llamaramos al comando hping2 a nuestra mquina para
enviar un paquete UDP que genere el bucle infinito entre [Link] y [Link]
PC_Lanzadera = SERVICIO ECHO = [Link], puerto 7
5
Victima = SERVICIO CHARGEN = [Link], puerto 19
hping2 --udp --baseport 19 --destport 7 --keep -a Victima PC_Lanzadera
Aclaremos que primero desde la maquina atacante debo enviar una peticin UDP al servicio ECHO de la
maquina Lanzadera, puerto destino (7), pero con puerto UDP fuente Chargen (19) e IP fuente de la
victima, entonces el servicio ECHO me responder al puerto fuente Chargen (19) de la Victima, la
maquina victima generara los caracteres aleatorios hacia la maquina Lanzadera que a su vez le har
echo hacia la victima y ya tenemos el loop, entonces el comando concreto seria:
hping2 --udp --baseport 19 --destport 7 --keep -a [Link]
[Link]
Descripcin de Parmetros para el comando de ataque hping2:
#hping2 --udp --baseport 19 --destport 7 --keep -a [Link]
[Link]
Parmetro Descripcin
[Link] IP del PC que se usara de lanzadera para atacar a
la victima
-a [Link] IP de la victima, campo de la IP fuente del
paquete IP, ac se hace el IP spoof
--udp Esto indica que el protocolo que se usara es UDP
--keep -a No permite que el puerto origen y destino se
incrementen en forma numrica
--destport Puerto destino
--baseport Puerto Fuente
Pruebas del ataque
Al poner un sniffer en la victima [Link] en la interfase eth0, veremos el trfico:
# tcpdump i eth0
6
Se puede concluir que se requieren varias mquinas para tumbar la maquina victima.
Si el servidor esta blindado y estos servicios no estn operativos el ataque no tendr efecto.