5 feb 2013

Episodio de Pentesting (Parte VI)

Hola! hoy seguiremos con nuestra cadena Episodio de Pentesting hablando sobre el proceso de envenenamiento DNS.

A grandes rasgos un envenenamiento DNS, más conocido por su traducción en inglés DNS Poissoning, es una forma de ataque MiTM en el que el atacante hará que el PC atacado resuelva las direcciones con un servidor de DNS “alterado”. Esto puede parecer un poco complejo al principio, pero vamos a explicarlo de forma más detallada.

Primero introduciremos un nuevo concepto que no se definió en el tutorial porque consideré que era más conveniente verlo justo en el momento de su necesidad. Así que a continuación se explicará que es el Protocolo ARP (Adress Resolution Protocol) y el envenenamiento de su cache.

Básicamente es un protocolo responsable de encontrar la dirección MAC correspondiente a una determinada IP. Imaginemos ordenador A y ordenador B.

ARP Request: El ordenador A pregunta en la red a quién pertenece una determinada IP, pongamos 192.168.1.1.

ARP Reply: Todos los demás ordenadores de la red ignorarán la petición a excepción del que tenga esa dirección IP. Este ordenador contestará con un paquete que contendrá la IP requerida y su dirección MAC.

El protocolo fue diseñado para ser simple y eficiente pero su mayor defecto es la ausencia de autenticación. Como resultado, no hay manera de autenticar la IP con la dirección MAC contenida en el ARP Reply. Además, el host ni siquiera comprueba si fue enviada la respuesta ARP desde la misma IP que se solicitó en la petición.

Esto quiere decir que si un ordenador A, envía una petición y recibe una respuesta ARP, el protocolo no puede comprobar si la IP corresponde con su MAC. Incluso si un host no envió una petición ARP pero si recibe una respuesta ARP, confía en la información de respuesta y actualiza su cache ARP.

Por tanto, como podemos observar parece fácil explotar el débil protocolo ARP. Es posible enviar a la red entera una respuesta ARP en la que cualquier IP está mapeada a cualquier MAC.

La vulnerabilidad anterior permite el ataque a una LAN de varias formas, en este caso, y como ya hemos indicado anteriormente utilizaremos la técnica Man in the Middle, que nos permitirá hacer sniff a todo el tráfico entre dos PC de la red.

Para conseguir esto, supongamos que mi PC es el host A, y mi router es el host B. Mi ordenador tiene una IP-A y una MAC-A, y el router una IP-B y una MAC-B.

La máquina C, o sea, la que realizará el ataque, envía una respuesta ARP a B que mapea IP-A con MAC-C, y otra respuesta ARP hacia A que mapea IP-B con MAC-C. Por tanto ahora cualquier paquete enviado desde A a B o desde B a A, llegará a C. Entonces es momento de activar en C, IP forwarding (Redireccionamiento IP), que permite redireccionar A a B. Es este momento cuando C se encuentra justo en medio de la conexión entre A y B, y tenemos un ataque Man in the Middle en toda regla.

Toda esta teoría es imprescindible, pero creo que es hora de pasar a la práctica.

Os presento a Ettercap, que nos permitirá poner en práctica este ataque. En esta ocasión vamos a utilizar la interfaz gráfica por su comodidad, ya que es un rollazo aprenderse la ingente cantidad de comandos que tiene la CLI, y no es cómodo para trabajar. En caso de no querer iniciar Xorg, podemos usar Ettercap –C, que funciona con una interfaz creada con curses. Así que iniciamos Ettercap introduciendo en la terminal “ettercap -G”.

A continuación hacemos click en “Sniff -> Unified Sniffing” y se nos abrirá una ventana de selección en la que podremos escoger cualquiera de las interfaces disponibles. Como estoy trabajando en VB,elijo eth0.

clip_image002

(Ettercap en modo Unified Sniffing)

Ahora vamos a escanear la red para ver los equipos, por lo que hacemos click en “Hosts -> Scan for host”. Y cuando esté completado en “Hosts -> Host List”. Ahora vemos información interesante, que son todos los host de la red listados con direcciones MAC correspondientes. Nos disponemos a hacer un ataque MiTM, por tanto seleccionamos un host y pulsamos en “Add to Target 1” y hacemos lo mismo con el otro host que queramos interceptar pero esta vez lo añadimos en “Add to Target 2”.

clip_image004(Seleccionando objetivos en Ettercap)

Ahora seleccionamos “Mitm -> Arp Poisoning” y marcamos la opción de Sniff Remote Connection. Una vez hecho esto iniciamos el Sniff desde “Start -> Start Sniffing”

Una vez que los paquetes están pasando por nuestro PC, lo que necesitamos es direccionar a la víctima a la dirección IP en la que hemos inyectado el exploit, para ello lo que vamos a hacer es redireccionar el DNS usando un plugin de Ettercap que se llama dns-spoof. Pero antes debemos editar el archivo de configuración que Ettercap dedica al dns. Si estáis habituados al archivo de Linux hosts (/etc/hosts) veréis que la configuración se hace del mismo modo, así que desde una terminal nos vamos a editar el archivo de configuración de DNS de Ettercap.

“nano /usr/local/share/ettercap/etter.dns”

Aquí añadimos las líneas que queramos para redireccionar cualquier dirección a nuestra IP. Yo he puesto la dirección de la UJA añadiendo esto:

*.ujaen.es A 192.168.1.27

ujaen.es A 192.168.1.27

Una vez hemos hecho eso, solo queda activar el plugin, y todo estará listo.

Saludos!

No hay comentarios:

Publicar un comentario