Resultados 1 al 7 de 7

Ataque Man in the middle con DHCP ACK Injector

  1. #1 Ataque Man in the middle con DHCP ACK Injector 
    HH Administrator Avatar de LUK
    Fecha de ingreso
    Oct 2001
    Ubicación
    SpaÑa
    Mensajes
    5.284
    Descargas
    223
    Uploads
    250
    Si ayer os hablabamos de GetMSNIPs para obtener las direcciones IP de los contactos del Messenger, hoy toca hablaros de otra herramienta obra de Informática64 (programada por Thor), vamos con DHCP ACK Injector.

    Introducción a los ataques Man in the middle

    Hoy en día cuando se habla de realizar un ataque MITM en redes LAN a todos se nos viene a la cabeza el término ARP Poisoning. La técnica, a grandes rasgos, consiste en envenenar la cache ARP de un cliente de una red LAN para hacerle creer que la MAC de la puerta de enlace es la dirección MAC del equipo atacante, pudiendo de este modo situar la máquina del atacante en medio de las comunicaciones efectuadas entre el equipo víctima y la puerta de enlace. Con el siguiente gráfico sacado de la Wikipedia nos podemos hacer una idea de su funcionamiento:


    Figura 1: ARP Poisoning

    Sin embargo, para detectar estos ataques existen ya infinidad de herramientas como ArpON, Patriot NG y nuestra querida Marmita que pronto verá la luz. Incluso para Mac OS X, nuestros compañeros de Seguridad Apple hicieron un script basado en nmap y arp_cop para detectar también los ataques man in the middle. Sin embargo, existe otra forma muy sencilla de realizar un ataque MITM en redes LAN utilizando el protocolo DHCP.

    El Protocolo DHCP

    Primero vamos a echar un vistazo al protocolo DHCP en Wikipedia:

    DHCP (sigla en inglés de Dynamic Host Configuration Protocol - Protocolo de configuración dinámica de host) es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.


    Figura 2: Comunicación DHCP

    Los pasos que definen su funcionamiento son los siguientes:

    • El cliente envía un paquete DISCOVERY para que el servidor DHCP de dicha red de computadoras le asigne una Dirección IP y otros parámetros como la máscara de red o el nombre DNS.

    • A continuación el servidor DHCP responde con un OFFER en el que suministra una serie de parámetros al cliente, IP, puerta de enlace, DNS, etcétera.

    • El cliente selecciona los parámetros que le interesan y con un REQUEST solicita estos parámetros al servidor.

    • Por último el servidor reconoce que se ha reservado correctamente los parámetros solicitados con un DHCP ACK y se los envía al cliente.

    Una vez que conocemos como funciona el protocolo, ¿cómo podemos aprovecharlo para realizar ataques MITM?

    Servidor DHCP falso: Roge DHCP Server

    Una opción es configurar un servidor DHCP falso, por ejemplo con el demonio dhcp3 de Linux. De esta forma cuando el cliente envía un DISCOVERY responden con un OFFER tanto el DHCP real como el servidor DHCP que hemos montado en Linux. Pero ¿a quién hace caso el cliente? Pues al que consiga enviar antes al cliente la respuesta DHCP OFFER, unas veces puede ser nuestro servicio dhcp3, otras el servidor DHCP real.

    Para realizar esto de una forma sencilla se puede utilizar el programa Ghost Phisher. Éste monta un servidor DHCP falso utilizando el servicio dhcp3, también permite montar un servidor DNS que resuelva determinadas direcciones o todas hacia una IP que le indiquemos.

    Lo malo de este ataque es que podemos detectar fácilmente que existen 2 servidores DHCP. Con Wireshark mismamente podemos ver que responden a las peticiones DHCP dos direcciones IP distintas:


    Figura 3: DCHP Offer desde distintas direcciones IP

    Otro de los problemas es que necesitamos conocer a priori el rango de direcciones IP válidas y podría darse el caso de que nuestro servidor DHCP asigne direcciones IP que ya se encuentras asignadas a otros usuarios.

    DHCP ACK Injection Attack


    Figura 4: DHCP ACK Injection attack

    Existe otro posible ataque. Dado que toda la comunicación DHCP se realiza enviando los paquetes a la dirección MAC de broadcast FF:FF:FF:FF:FF:FF todos los clientes de la LAN reciben los paquetes DHCP. Así que existe la posibilidad de que un atacante monitorice los intercambios DHCP y en un determinado punto de la comunicación envíe un paquete especialmente formado para modificar su comportamiento.

    Uno de los puntos donde nos interesaría intervenir es cuando el servidor reconoce con un DHCP ACK la configuración del cliente. Primero se tiene que escuchar toda la comunicación poniendo atención en el paquete REQUEST donde el cliente solicita la IP, DNS, Gateway de aquellos datos que anteriormente le ha ofrecido el servidor DHCP.

    Una vez recibido el REQUEST podríamos responder con un ACK como lo haría el servidor DHCP real pero estableciendo la configuración a nuestro antojo.

    Ventajas e Inconvenientes de DHCP Injection Attack

    La ventaja de este ataque es que no se necesita conocer el rango de direcciones IP válidas ni que direcciones están libres y cuales ocupadas. Dejamos que el servidor DHCP real nos dé toda esta información y solo se interviene en la fase final, en el reconocimiento que da el servidor sobre la configuración seleccionada.

    Otra ventaja es que es más difícil de detectar a día de hoy que los ataques ARP-SPoofing. Solo se envía un paquete y este puede ser enviado con la IP spoofeada del servidor DHCP, y sería necesario que existieran reglas que validasen todos los paquetes DHCP de la red.

    El problema como en el anterior escenario es que respondería tanto el atacante como el servidor DHCP real y el cliente solo hará caso al primero de ellos que responda. Algunas veces será más rápido el servidor DHCP otras nuestro programa.

    DHCP ACK Injector

    Para automatizar este ataque en Informatica64 hemos desarrollado una aplicación en C#, es necesario tener instalado el .NET Framework 3.5. Aquí podemos ver su aspecto:


    Figura 5: DHCP ACK Injector

    En Wireshark la comunicación DHCP de un cliente que solicita una nueva dirección IP se ve así:


    Figura 6: Captura de Wireshark con el DHCP Injection Attack

    En rojo se han remarcado los dos paquetes ACK, el falso y a continuación el verdadero. La IP es la misma lo único que varía es la dirección MAC de origen del paquete ya que a los routers no les gusta mucho reenviar paquetes con su propia dirección MAC. Nótese que la diferencia entre el primer y el segundo ACK es de escasos 750 ms. Es importante responder lo más rápido posible.

    En los detalles del protocolo DHCP podemos ver los datos falsos enviados en nuestro paquete ACK.


    Figura 7: Detalles del paquete DHCP modificado

    DHCP ACK Injector se ha desarrollado este mismo programa en C y, aunque ha sido desarrollado para Windows haciendo uso de WinPcap, creemos que no tendrá que ser muy complicado migrarlo a Linux, así que es probable que lo portemos.

    Modo de uso:

    DHCP ACK Injection Use: DHCPACKInjection.exe [-l|-i -g -d ]
    -l: List interfaces -i : Use the interface N
    -g : Change the gateway to IP_GATEWAY
    -d : Change the gateway IP to IP_GATEWAY


    Figura 8: DHCP ACK Injector funcionando

    Descarga del programa: DHCP ACK Injector.

    Publicado por Maligno en http://www.elladodelmal.com/2011/10/ataque-man-in-middle-con-dhcp-ack.html
    [][][] LUK [][][]
    hackhispano.com
    Citar  
     

  2. #2  
    Moderador HH
    Fecha de ingreso
    Apr 2010
    Mensajes
    1.052
    Descargas
    7
    Uploads
    0
    Muy muy bueno, me pondré a ello.
    • Taller de programación HackHispano: http://tallerdeprogramacion.es
    • Wargame HackHispano: [PRÓXIMAMENTE]
    • Normas del foro: http://foro.hackhispano.com/announcement.php?f=2
    Citar  
     

  3. #3  
    Avanzado
    Fecha de ingreso
    Oct 2010
    Mensajes
    401
    Descargas
    24
    Uploads
    0
    Bueno se ve muy bien el tema, no e tenido tiempo para estudiarlo en profundidad por eso me lo guardo para otro dia, para cuando no este ocupado.
    René Pérez Joglar: Pa' tener a un listo que no dice nada prefiero a un idiota que hable mucho.
    Citar  
     

  4. #4  
    Avanzado
    Fecha de ingreso
    Oct 2009
    Mensajes
    200
    Descargas
    28
    Uploads
    0
    interesante, veremos que tal funciona
    Citar  
     

  5. #5  
    Medio
    Fecha de ingreso
    Sep 2008
    Mensajes
    134
    Descargas
    0
    Uploads
    0
    Muy buen aporte, sí señor. Nunca está de más aprender cosas nuevas. Para la aplicación que viene de C#, ¿podéis suministrar el código fuente? Sería de gran ayuda, sobre todo para un servidor que quiere aprender a manejar winpcap y dlls.

    Saludos!
    Citar  
     

  6. #6  
    Avanzado
    Fecha de ingreso
    Oct 2003
    Ubicación
    En algún diamante loco...
    Mensajes
    466
    Descargas
    5
    Uploads
    0
    La verdad que está muy bueno.

    Se agradece.
    A Diego lo tenes que comparar con Einstein, con Mozart, Da Vinci, Platon... esta en el nivel de genio!

    MONUMENTO:
    Gracias a 4v7n42, Matias y leepriestenator
    Citar  
     

  7. #7  
    Avanzado
    Fecha de ingreso
    Oct 2010
    Mensajes
    401
    Descargas
    24
    Uploads
    0
    Perdonad si me equivoco pero dado q dhcp es un protocolo a nivel de aplicacion, no haria falta utilizar ninguna libreria externa, como WinPcap, se podria manejar con sockets UDP normales y corrientes.


    PD: ¿Alguein me aclara si lo que digo es cierto xd?
    René Pérez Joglar: Pa' tener a un listo que no dice nada prefiero a un idiota que hable mucho.
    Citar  
     

Temas similares

  1. Office Injector (Infecta con documentos words y excel)
    Por illuminat3d en el foro MALWARE
    Respuestas: 0
    Último mensaje: 07-03-2016, 19:51
  2. Respuestas: 1
    Último mensaje: 25-06-2014, 19:44
  3. Respuestas: 0
    Último mensaje: 23-01-2014, 10:13
  4. Respuestas: 6
    Último mensaje: 15-10-2013, 21:42
  5. Respuestas: 0
    Último mensaje: 25-05-2012, 14:33

Marcadores

Marcadores