14 ago 2019

LABORATORIOS DE SEGURIDAD CON GNS3 2/2 - DHCP SPOOFING

Saludos Amigos

En nuestra primera entrega, hablamos de una herramienta llamada GNS3 el cual nos permitía construir un laboratorio completo sobre interconexión de Redes LAN/WAN

Ahora les comparto el articulo entregado por uno de nuestros alumnos certificados THD-EPC (Ethical Pentester Certified). sobre un laboratorio practico del funcionamiento del DHCP SPOOFING.




DHCP SPOOFING

A diario escuchamos de empresas que sufren ataques de hacking perpetrados por una persona que se encuentran al otro lado del mundo y que posee conocimientos profundos en cuanto a técnicas y herramientas de penetración a sistemas informáticos. Debido a esto, las empresas invierten sus recursos y dirigen sus esfuerzos en blindar sus accesos exteriores usando todo tipo de dispositivos y software que el mercado pueda ofrecer (Firewall, IPS, WAF, Antivirus, Anti DDoS y otros).

Pero muy poco escuchamos de los ataques internos que pueden ser llevados a cabo por su mismo personal o un ocasional visitante. En toda red LAN generalmente lo que se busca es que esta funcione y haga su trabajo (transportar DATOS). Muy pocos administradores, se dan a la tarea de conocer e implementar medidas de seguridad, que mitiguen ataques que existen desde hace mucho tiempo, y que todavía hoy pueden ser llevados a cabo muy fácilmente.

Es justamente la facilidad y la vigencia de uno de estos ataques (DHCP Spoofing) que pretendo demostrar en este artículo.

1. El protocolo DHCP

Todo dispositivo que quiera comunicarse dentro de una red TCP/IP debe de contar con ciertos parámetros básicos en cuanto a direccionamiento de capa 3 que le permitirá comunicarse dentro del segmento o fuera del mismo. 

Estos parámetros son:

  1. Una dirección IP
  2. Una máscara de red
  3. Una dirección IP de una puerta de enlace
  4. Una dirección IP de un servidor DNS

El protocolo DHCP es uno de los más usados en todo tipo de redes desde pequeñas, medianas y más aún grandes. Permite que a través de un servidor se pueda gestionar de manera automática la asignación de direcciones IP’s dentro de una red LAN.

Figura 1 - Mensajes del Protocolo DHCP

El funcionamiento del protocolo es muy sencillo como se ve en la imagen anterior:

  1. El cliente mediante un mensaje DISCOVERY de Broadcast solicita una IP a algún servidor DHCP que se pueda encontrar en su red LAN
  2. El servidor o los servidores, que se encuentran en el mismo segmento de red, devolverán un mensaje OFFER Unicast, ofreciendo una IP de un pool de direcciones que gestionan, para que el cliente pueda usarla. 
  3. Seguidamente, el cliente responderá a la oferta con un mensaje REQUEST Broadcast, confirmando que acepta la oferta y pretende usar esa dirección.
  4. Finalmente el servidor registrará la asignación de la IP ofertada al cliente, y enviara un mensaje de ACK Unicast indicando que el proceso se ha completado de forma correcta.

2. El ATAQUE 

Las herramientas utilizadas para armar el escenario simulado del ataque son: 
  • GNS3 con VM. 
  • VMWare Workstation. 
  • 2 Máquinas virtuales con Windows 10 (VICTIMA y USUARIO NORMAL). 
  • 1 Máquina virtual con Kali Linux (ATACANTE). 
  • 1 Router Cisco emulado modelo 3750 IOS 12 (SERVIDOR DHCP LEGAL). 
  • 1 SwitchMultilayer Cisco emulado con IOSv 15. 
  • Yersinia instalado en la máquina de Kali Linux para el DHCP Starvation. 
  • Metasploit instalado en la máquina de Kali Linux para el DHCP Rogue. 
  • Wireshark instalado en la máquina de Kali para visualizar el tráfico de la víctima. 

La topología del ataque es el que se muestra en la siguiente imagen:


Figura 2 - Escenario Virtualizado Armado con GNS3

El ROUTER Cisco R1 es el servidor DHCP legal y también hace el rol de puerta de enlace además de tener la conexión a INTERNET. La configuración del servidor DHCP en el router es la siguiente:

Extracto de la configuración Cisco R1, puede descargar AQUI

El ATACANTE es un usuario que está dentro de la red LAN y ha recibido los parámetros de direccionamiento IP a través del servidor DHCP. (Es una Maquina en Kali Linux)

Figura 3: Interfaz de red eth0 recibiendo IP a través de DHCP

El SWITCH CiscoIOSvL215-1 que está conectado a todos los equipos (Router, Atacante, Victima y Usuario normal) esta con la configuración por defecto en todos sus puertos y no cuenta con ningún tipo de configuración adicional. En otras palabras se lo energizo y se conectaron los hosts. (La configuración completa del switch CiscoIOSvL215-1 puede descargarse de AQUI.

El USUARIO NORMAL es otro usuario además de nosotros que está recibiendo los parámetros de direccionamiento IP a través del servidor DHCP legal que se encuentra configurado en el router CISCO.

Figura 4: Usuario normal recibiendo DHCP del servidor legal

La VICTIMA antes de que se lleve a cabo el ataque, tiene la PC apagada. Vamos a asumir que una vez que el ataque se lleve a cabo, la victima encenderá el equipo y entrará en acción.

El ataque consta de 4 fases:

Fase Previa: Preparación del DCHP Rogue

En esta fase previa, antes de llevar a cabo el ataque, se hace la configuración de una interfaz de red virtual en la máquina del atacante, y se hace la configuración de los parámetros del servidor DHCP falso en el equipo del ATACANTE

Creamos la interfaz virtual eth0:1 y le asignamos la dirección IP 172.16.10.254 que posteriormente será usada como puerta de enlace para la VICTIMA.

Figura 5: Creación y asignación de IP a la interfaz virtual eth0:1

Habilitamos el reenvió en la máquina del ATACANTE, esto con el fin de que cuando recibamos el tráfico de la VICTIMA podamos re dirigirlo hacia la puerta de enlace real. Además agregamos una ruta en la máquina del ATACANTE que apunte a la puerta de enlace legal que en este caso es el router Cisco.


Figura 6: Habilitación de ip_forward y ruta para reenvió del tráfico


Configuramos los parámetros en el servidor DHCP falso. Para esto vamos a usar Metasploit que nos permite configurar y correr un DHCP Rogue.

 Figura 7: Iniciación del metasploit y habilitación del módulo de DHCP


Figura 8: Configuración de los parámetros del módulo de DHCP en Metasploit

Fase I: DCHP Starvation

En esta primera parte del ataque se busca agotar el pool de direcciones que tiene el servidor DHCP legal, que en este caso es el router Cisco. Esto con el fin de levantar un servidor DHCP falso y que cuando la víctima solicite direccionamiento IP, nuestro servidor DHCP falso sea el único que responda. 

Iniciamos YERSINIA, con el fin de realizar el ataque de DHCP Starvation y agotar todas las IPs del pool de direcciones que tiene el Router Cisco. 

Figura 9: IP’s asignadas por el servidor DHCP legal antes del ataque (router Cisco)

Figura 10: Iniciando el Ataque DHCP Starvation usando YERSENIA

 Figura 11: Ataque DHCP Starvation con YERSINIA en ejecución


Figura 12: Tabla de direcciones IP’s asignadas en el servidor DHCP legal después del ataque

Fase II: DHCP Rogue

En esta segunda parte del ataque, se levanta el servidor DHCP falso en el equipo del atacante, para que responda a las solicitudes de direccionamiento de las víctimas. Esto con el fin principal, de poner al equipo del atacante como puerta de enlace, para que todo el tráfico de la víctima pase a través de este cuando se dirija hacia un segmento de red externo como pudiera ser INTERNET. 

Levantamos el servidor DHCP falso que tenemos configurado en Metasploit

Figura 13: Iniciación del servidor DHCP falso en Metasploit

Encendemos la máquina de la víctima para que se una a la red LAN y solicite dirección IP a través de DHCP.

Figura 14: Direccionamiento IP de la maquina victima recibido del servidor DHCP falso

Fase III: Robo de credenciales MITM

En esta última parte del ataque, simplemente se revisa todo el tráfico de la víctima, que va pasando a través del equipo del atacante, con un sniffer. El objetivo de esto podría ser localizar credenciales de acceso a páginas web, solo por poner un ejemplo.

Hasta este punto la victima ya tiene direccionamiento, que dirige su tráfico hacía la máquina del ATACANTE. Posteriormente, el ATACANTE solo necesitará levantar un sniffer, como WIRESHARK, para poder visualizar todo el tráfico de la víctima, que este dirigido hacia otros segmentos de red como por ejemplo INTERNET.

Figura 15: Iniciación del sniffer WIRESHARK

Desde la máquina de la víctima abrimos un navegador, y accedemos a un sitio HTTP de prueba, que nos permite autenticarnos, usando nuestras credenciales. Todo esto podrá ser visto por el ATACANTE que finalmente obtendrá nuestras credenciales.

Figura 16: Sitio HTTP de login para probar el robo de credenciales

Figura 17: Credenciales encontradas a través de WIRESHARK


3. CONTRAMEDIDA

Después de la demostración realizada, creo que nos queda claro lo fácil y peligroso que puede ser este tipo de ataques. Entonces la pregunta que todos nos hacemos es, cómo evito este tipo de ataques, que contramedidas puedo encontrar disponibles. 

Pues una buena noticia es que si existe una contramedida, y se denomina DHCP Snooping. La demostración de cómo se configura y cómo funciona la haremos para la marca CISCO pero las demás marcas también cuentan con este tipo de contramedida.

Figura 18: Topología de red donde se tiene aplicado DHCP Snooping


La idea detrás de esta contramedida es, definir PUERTOS CONFIABLES (trusted ports) y PUERTOS NO CONFIABLES (untrusted ports)

Los puertos en el switch que estén conectados a los servidores DHCP legales deberán ser configurados como TRUSTED y el resto de los puertos como UNTRUSTED. De esta manera cuando un atacante conectado a un puerto UNTRUSTED pretenda responder a solicitudes de DHCP DISCOVER haciéndose pasar por un servidor DHCP el puerto inmediatamente será BLOQUEADO

También para el tema del DHCP Starvation se maneja una tabla conocida como DHPCP Snooping Binding Table que contiene el puerto, la dirección MAC y la IP asignada por el servidor DHCP legal. Con esta información el switch será capaz de detener un ataque de DHCP Starvation

Configuración de DHCP Snooping en nuestro Switch

Figura 19: Configuración básica de DHCP Snooping

4. RECOMENDACIONES

DHCP Spoofing es solo uno de los muchos ataques internos (MAC Flooding, DNS Spoofing, ARP Spoofing, VLAN Hopping, STP Attack y otros) que pueden ser realizados dentro de una LAN, es por eso que es importante conocer todos estos ataques y sus respectivas contramedidas. 

Lo ideal sería que se cuente con una plantilla de HARDENING que pueda ser adecuada a las diferentes topologías con las que se cuenten. 

Se deben contar con políticas que definan procesos de cómo se debe configurar un dispositivo de red nuevo.

5. CONCLUSIÓN 

Finalmente, podemos concluir indicando que la mayor parte de los ataques perpetrados en las organizaciones son de tipo interno. Para llevarlos a cabo, no es necesario contar con conocimientos avanzados de hacking, ya que hoy en día existe una vasta cantidad de herramientas que automatizan las tareas que antes requerían conocimientos bastante técnicos. 

De igual manera se cuenta con la información necesaria en INTERNET, donde el atacante solo debe realizar una búsqueda sencilla y encontrara un sinfín de fuentes que lo guiaran paso a paso sobre cómo llevar a cabo un ataque con éxito. 

Tomar conciencia de todo esto es clave para no sufrir ataques de este tipo y mucho más si nosotros somos los encargados de que esto no suceda.

6. FUENTES

Definición y funcionamiento de un Servidor DHCP
http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m2/servidor_dhcp.htm

Ataque DHCP Spoofing usando Metasploit
http://svuit.vn/threads/lab-2-rogue-dhcp-server-with-flood-dhcp-and-rogue-routing-1251/

Ataque DHCP Spoofing usando Yersinia
https://www.youtube.com/watch?v=hfqy2ib-t44&list=PL2A7l6PiV52d-79P90Gx7IF807cQzwKdj

DHCP Snooping
https://packetpushers.net/ccnp-studies-configuring-dhcp-snooping/



Autor: Jorge Aduviri - (Ethical Pentester Certified)


NOTAS FINALES POR @jcaitf

Tal como menciona nuestro amigo Jorge, la mayor parte de los ataques provienen desde la LAN, el anterior articulo muestra de una manera muy practica como se capturan las credenciales que viajan por protocolo HTTP, sin embargo recuerden que existen técnicas que permiten también hacerlo sobre HTTPS o HSTS, como puede ser el caso de SSLSTRIP+, SSLSPLIT, entre otros.

Es lógico que ademas de controlar estos posibles ataques a través del switche, es importante tener en cuenta el cifrado de las comunicaciones que permiten en caso de captura de trafico evitar la fuga de información.  Asegurar los equipos de comunicación de datos así como los servidores y estaciones de trabajo, no sobra a la hora de hablar de seguridad.







No hay comentarios:

Publicar un comentario

Tus Comentarios son Importantes para Nosotros Siéntete Libre De Opinar