BW MYBITWORLD.COM ÍNDICE 1. Introducción: ¿Problemas de seguridad en DHCP? ........................... 2 2. Servidor DHCP en Ubuntu ................................................................................. 3 3. Asignación dinámica cliente Windows 7 ................................................. 5 4. Configuración DHCP ACK Injection Atacante ........................................ 6 5. Bootstrap Protocol (BOOTP) ........................................................................... 9 6. Wireshark ................................................................................................................. 10 7. Configuración desde la víctima. .................................................................. 11 8. ¿Cómo prevenir el ataque? ............................................................................ 12
DHCP INJECTION ATTACK
1
BW MYBITWORLD.COM Autor: MyBitWorld Correo electrónico: contacto@mybitworld.com Sitio de Red: http://mybitworld.com/ © 2014 MyBitWorld. Usted es libre de copiar, distribuir y comunicar, públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste, se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector, hace mal uso de éstos. Esta licencia deberá aparecer como primer texto del documento distribuido.
1. Introducción: ¿Problemas de seguridad en DHCP? Con el paso del tiempo me he dado cuenta de que este tipo de situación es bastante frecuente: es realmente difícil encontrar una empresa que tenga en cuenta políticas de configuración estrictas para asegurar un entorno local. Personalmente pienso que muchas organizaciones no son conscientes del daño que podría hacer un empleado descontento en un entorno local “poco controlado”. Sin llegar a utilizar herramientas sofisticadas, es posible desde tirar toda una red con apenas un par de paquetes, hasta hacer MitM usando ARP / DHCP / VRRP / HSRP. Como ya anticipe en el tutorial anterior, en el que explique el funcionamiento del protocolo DHCP. En este caso, y a raíz del post de @chemaalonso sobre la herramienta DHCP Ack Inyector, vino la idea de realizar esta segunda parte, donde mostraré algunos de los problemas de seguridad inherentes del protocolo DHCP. Me gustaría hablar sobre el funcionamiento de la herramienta DHCP Ack Inyector que tiene un comportamiento algo diferente, para enviar información falsificada al cliente. DHCP se realiza enviando los paquetes a la dirección MAC de broadcast FF: FF: FF: FF: FF: FF todos los clientes de la red reciben los paquetes. Partiendo del supuesto que el atacante está monitorizando los intercambios DHCP enviaremos un paquete para modificar el comportamiento.
DHCP INJECTION ATTACK
2
BW MYBITWORLD.COM Entonces el momento en que tenemos que intervenir es cuando el servidor reconoce DHCP ACK (acuse de recibo) con la configuración del cliente. Entonces el momento que debemos dedicar atención es al paquete REQUEST, donde el cliente solicita los paramentos a configurar, solicitados anteriormente. Una vez recibido el REQUEST podríamos responder con un acuse de recibo como haría el servidor DHCP verdadero pero estableciendo la configuración de acuerdo con la queramos.
2. Servidor DHCP en Ubuntu Primero debemos tener instalado un servidor DHCP instalado en alguna plataforma a la que deseemos, en mi caso he elegido hacerlo en Ubuntu. Como ya explique en el tutorial anterior, acerca de la instalación de un servidor DHCP en Ubuntu. En este simplemente os enseñare las principales configuraciones. Ubuntu guarda la configuración de la red en el directorio donde se encuentran todas las configuraciones, /etc, en concreto en el archivo interfaces, que está dentro de la carpeta network. La ruta desde raíz sería esta: /etc/network/interfaces Editamos los parámetros, pertinentes a la interface 1 que es la IP de nuestro servidor DHCP: Asignación estática IP: 172.16.0.5 Mascara 255.255.0.0 Puerta de enlace: 172.16.0.1
Reiniciamos la interface, para que se apliquen los cambios realizados.
DHCP INJECTION ATTACK
3
BW MYBITWORLD.COM Hacemos uso del comando ifconfig para verificar la nueva configuración.
Editamos el fichero isc-dhcp-server y defino la interface eth1 la que va proporcionar el servicio.
Después de haber instalado no dirigimos al fichero de configuración que está en /etc/dhcp/dhcp.conf y configuramos los siguientes parámetros. Rango: 172.16.0.10 a 172.16.0.20 Puerta de enlace: 172.16.0.1 Dns para los clientes: ns1.tudominio.org Nombre de dominio para los clientes: tudominio.org Dirección difusión: 172.16.255.255; Tiempo en segundos de alquiler: 600; Tiempo máximo que durará el alquiler: 7200;
DHCP INJECTION ATTACK
4
BW MYBITWORLD.COM
Reiniciamos el servicio.
3. Asignaciรณn dinรกmica cliente Windows 7 El cliente debe estar en la misma red que el servidor. Ahora nos dirigimos al cliente y comprobaremos que el cliente recibirรก los parรกmetros (IP, Puerta de enlace, DNS, etc.) Utilizamos el comando ipconfig /release, que hace que libere la direcciรณn IP del adaptador.
DHCP INJECTION ATTACK
5
BW MYBITWORLD.COM Con ipconfig /renew, renueva la direcciรณn IP del adaptador especificado, y como podemos apreciar en la imagen, el cliente obtiene los parรกmetros del servidor DHCP.
4. Configuraciรณn DHCP ACK Injection Atacante Debemos dirigirnos a la pรกgina de Informรกtica 64 para realizar la descarga del programa DHCP ACK Injection abajo os dejo en enlace: http://www.informatica64.com/herramientas.aspx
DHCP INJECTION ATTACK
6
BW MYBITWORLD.COM Descomprimimos el archivo y ejecutamos el programa.
Indicamos un DNS y gateway Fake, en este caso utilizarĂŠ el DNS de google y la puerta de enlace 172.16.0.253.
DHCP INJECTION ATTACK
7
BW MYBITWORLD.COM En opciones avanzadas podemos hacer una suplantaci贸n bastante selectiva configurando la ip del servidor sea la 172.16.0.99 y que la MAC sea 22-22-22-22-2222.
Le damos al bot贸n start y empezamos a escuchar los paquetes dhcp de la red.
Deshabilitamos y habilitamos el adaptador de red, que es lo mismo que ipconfig /rel茅ase y ipconfig /renew.
DHCP INJECTION ATTACK
8
BW MYBITWORLD.COM Podemos comprobar que ha sido enviado DHCP ACK a la víctima.
5. Bootstrap Protocol (BOOTP) BOOTP es un protocolo cliente / servidor usado para asignar dinámicamente los diversos parámetros de un servidor BOOTP en el arranque. Filtro de presentación
Mostrar sólo el tráfico basado en BOOTP: bootp
Filtro de captura No se puede filtrar directamente los protocolos BOOTP durante la captura, si van hacia o desde puertos arbitrarios. Sin embargo, el tráfico BOOTP normalmente va hacia o desde los puertos 67 y 68, y el tráfico hacia y desde los puertos es normalmente el tráfico BOOTP, para que pueda filtrar en los números de puerto.
Captura sólo el tráfico hacia y desde los puertos 67 y 68: El puerto 67 o el puerto 68
En muchos sistemas, se puede decir "bootps puerto" en lugar de "67" y puerto "bootpc puerto" en lugar de "puerto 68".
DHCP INJECTION ATTACK
9
BW MYBITWORLD.COM Ahora que ya sabemos la utilidad del protocolo bootp, hacemos uso de Wireshark un analizador de protocolos.
6. Wireshark Wireshark es un analizador de protocolos basado en las librerías pcap utilizado comúnmente como herramienta de diagnóstico de redes y de desarrollo de aplicaciones de red. Hacemos uso del programa y analizamos el paquete DHCP ACK, aquí se podría escribir un libro con la cantidad de información que tiene, pues bien intentaré resumir.
Frame: Correspondiente a la Capa Física los bits que pasan por la red. Ethernet II: Correspondiente a la Capa de Enlace de Datos MAC origen (22:22:22:22:22:22) y destino (ff:ff:ff:ff:ff:ff). Internet Protocol Version 4: Correspondiente a la Capa de Red determinación de ruta e IP origen (172.16.0.99) y destino 255.255.255.255. User Datagram Protocol: Correspondiente a la Capa de Transporte Conexión de extremo a extremo (UDP) Puerto origen (67) y destino (68). UDP Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción.
DHCP INJECTION ATTACK
10
BW MYBITWORLD.COM Bootstrap paquete donde viene los datos.
7. Configuraci贸n desde la v铆ctima.
DHCP INJECTION ATTACK
11
BW MYBITWORLD.COM 8. ¿Cómo prevenir el ataque? Regresamos al fichero de configuración en /etc/dhcp/dhcpd y asignamos una ip fija y la vinculamos con su MAC correspondiente.
Desde el cliente renovamos las concesiones y cómo podemos apreciar en la imagen ya no hay más ataques por aquí.
DHCP INJECTION ATTACK
12
BW MYBITWORLD.COM
EDITORES: Handerson Marques Renato Rodriguez Ander Ayesa
SIGUENOS EN:
WWW.MYBITWORLD.COM © 2014
DHCP INJECTION ATTACK
13