viernes, 7 de septiembre de 2007

ARP poison practico

Continuamos con la segunda parte del ataque ARP Poison. En este bloque veremos como poner en practica la teoria vista en el primer capitulo.

Vamos a hacer que todo el trafico existente entre dos dispositivos, pase por nuestra maquina y de esta forma podremos analizarlo (o simplemente observarlo lo que nosotros queramos). Con un hub es muy sencillo, ya que solo hay que poner la tarjeta de red en modo monitor, pero cuando estamos conectador a un switch la cosa se complica un poquito (muy poquito) más. Para conseguir nuestro objetivo envenenaremos las tablas ARP de los dispositivos y de esta forma haremos que todo el trafico se dirija hacia nosotros.

Vamos pues a la práctica del ataque!

Existen varios programas que nos permiten hacer un envenenamiento de la cache ARP. Para MS Windows tenemos el famoso Cain & Abel de oxid, que podemos descargar de la web y es totalmente gratuito. Para el otro gran sistema operativo, GNU\Linux, tenemos dos grandes soluciones: ettercap y dentro de la suite dnisff el programa arpsoof (también son gratuitas).

Empezaremos viendo en envenenamiento de ARP en Windows.

Lo primero que haremos será bajarnos la ultima versión del Cain y Abel. Al instalarlo y ejecutarlo si tenemos un antivirus ejecutándose puede que nos de problemas ya que detectará el programa como un troyano. Una vez solucionado este pequeño problema podemos ir a la barra de herramientas principal y darle al botón "Start/Stop Sniffer" para activarlo. Ahora escanearémos la red para saber los dispositivos que están conectados. Esto se hace seleccionando la pestaña "Sniffer" y pulsando el botón "+" que aparecen también en la barra de herramientas. Luego vamos a subpestaña ARP y presionamos el botón + y seleccionamos los dispositivos que queremos envenenar. Si queremos husmear toda la red, seleccionaremos la ip del router que es por donde van a pasar todas las comunicaciones y de esta forma suplantaríamos su identidad. Por último activamos el botón de para envenenar las tabla de ARP (Start/Stop ARP).

Solo un pequeño inciso: esto no es una practica guiada, solo es para que despertar la curiosidad de la gente, luego no pienso incluir imágenes de como imágenes, y si incitar ha investigar un poco para saber exactamente como se hace y que es lo que estamos haciendo ;).

Con esto ya hemos realizado el ataque con éxito. Podremos ver todas las contraseñas y los password de las comunicaciones de los protocolos que no vayan cifrados (que son casi todas).


Ahora le toca el turno a nuestro querido Linux.

Vamos a hacer una pequeña prueba ahora. Primero vamos a ver la tabla ARP que tiene el sistema en este momento. Para ello hacemos en el ordenador victima un "arp -a". Nos mostrara la cache ARP correcta. Una vez finalizado el ataque volveremos a ver la tabla ARP y veremos como esta tabla ha cambiado....

Primero que todo nos bajamos el paquete ettercap con el apt y lo instalamos en modo superusuario. Vamos a realizar ahora un ataque MITM (Man in the middle). Esto significa ponerse entre dos ordenadores para poder ver el tráfico entre ellos dos.

Antes de empezar a jugar con el ettercap tenemos que activar el forwarding para que nuestra maquina actúe como un router y cuando recibamos paquetes que no están destinado a nosotros intente entregarlos al destino correcto. Esto lo hacemos con la instrucción "echo 1 > /proc/sys/net/ipv4/ip_forward". Para hacer esto mismo en Windows (si vemos que el Cain i Abel no funciona) tendremos que ir al registro de windows y en la entrada "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter" el valor ipenabelrouter lo ponemos a 1. Arrancamos ahora si el ettercap.

Tenemos tres opciones: modo texto, con una interfaz basada en las librerías ncurses y con una interfaz con gtk2. Elegimos por ejemplo, en modo texto (la ventaja de lanzarlo en modo texto es que podríamos ejecutarlo en bakground). Para ello es "ettercap -t q -M arp:remote /ip1/ /ip2/" donde -t quiere decir que lo lanzamos en modo texto, -q que no muestre el contenido capturado, -M el tipo de ataque (man in the middle) y las dos ips que queremos envenenar. Para ver todos los paquetes que circulan por nosotros (que van a ser muchos), ya que vamos en medio de dos ordenadores utilizaremos el sniffer wireshark que es mejor que el que incorpora el ettecap. Si lo activamos podremos ver toda la información que trascurre entre los dos ordenador. Igual que en el Cain i Abel si queremos ver el tráfico de toda red ponemos en la ip2 la ip del router. De esta forma podremos analizar todo el tráfico que circula. Si nos fijamos en la salida del wireshark vemos también como cada cierto tiempo se envían paquetes arp falsos. Ettecap posee muchos plugings y herramientas adicionales que lo hacen más potente. Esta es una buena forma de empezar a descubrir el potencial de ettercap ;).

Recordamos la cache ARP? Si vamos al ordenador víctima, veremos como su cache ha cambiado. Ahora aparece nuestra MAC en lugar de la MAC del dispositivo en cuestión. El ataque ha sido todo un éxito.

Por último no si nos habremos dado cuenta que al hacer un envenenamiento de ARP cuando emitimos un certificado digital no dice algo similar como a la imagen. Pero como la costumbre es hacer clic en aceptar o si sin leer previamente lo que se nos dice, pues en un 99% de los casos este mensaje pasará inadvertido y seguiros sin problemas con el ataque.

Y muchos os preguntareis, cual es la posible solución para este ataque tan tan fácil de hacer? La respuesta es únicamente una: desactivar el uso del ARP en maquinas que se conecten a la vlan y poner las entradas arp estáticas (con el consiguiente aumento de trabaja para el administrador).

Esto ha sido todo por hoy. No he explicado como hacer el ataque en el arpsoof lo dejo como trabajo para vosotros ;).

5 comentarios:

Anónimo dijo...
Este comentario ha sido eliminado por un administrador del blog.
Anónimo dijo...

hwelte@gmail.com




muy practica tu guia , gracias

KrAm0x dijo...

Se puede profundizar un poco mas.......
Asi que si te animas, ya sabes donde estamos.
Un saludo

Anónimo dijo...

hola que tal. muy bueno.. tu blog... pero tengo una pregunta no se si me puedas.. ayudar.. es sobre el ip forward.. sigo teniendo porblemas.. aun asi cuando pongo el comando para activarlo. las maquinas victimas se quedan sin internet..

KrAm0x dijo...

Hola Brian que tal?
Bueno, para hacer una ataque MITM (Man in the middle/Hombre en el medio) y situarte en medio de la comunicación de dos ordenadores, necesitas envenenar la cache ARP de tu víctima. Para ello existen multitud de herramientas com Cain y Abel (Win), ettercap (Linux) o dsniff (Linux).
Lo primero que deberás de hacer para realizar el ARP posion (y hacer un MITM) será poner el ip_fordward de tu máquina a 1. Fácil no? ;) Después utilizaremos un programa de los tres de arriba antes mencionados, para inundar la cache ARP de la víctima con ARP falsas que dirijan el tráfico de la red hacia nuestro ordenador. Para ello si usamos el ettercap (si arrancamos el ettercap con la opción "ettercap -G" lanzamos el ettercap en modo interfaz gráfica que es mas amigable que el modo texto) solo tenemos que seleccionar los host que queremos envenenar (se llaman targets en ettercap) y decirle que active el ARP poison.
Cuando termines de envenanar la cache, podras ver mediante un sniffer en el ordenador atacante que el tráfico de la víctima pasa por ti. Además, en el ordenador víctima si haces un ping obtendrás respuesta.
Además de todo esto que te he explicado, te recomiendo que le eches un vistazo al artículo realizado por SLaYeR, llamado "Dnisff: la suite definitiva" (se encuentra en este mismo blog) que hace el ataque MITM pero con el programa Dsniff (también muy fácil ;)).
Espero haberte ayudado.
Saludos.