Inicio > Ethernet, gratuito, hackear, manuales, Tcp/Ip, tutoriales > Envenenamiento ARP (Ettercap – IV)

Envenenamiento ARP (Ettercap – IV)


Ettercap

Una de las herramientas más potentes que hacen uso del envenenamiento ARP en entornos GNU/Linux es Ettercap (http://ettercap.sourceforge.net). Ésta es una herramienta con licencia GPL diseñada con el fin de analizar , filtrar, logear y escuchar determinado tráfico circulando por la red. Soporta disección activa y pasiva de muchos protocolos (incluso los cifrados). Es capaz de realizar ataques MITM (Man in the Middle) entre diferentes hosts de la red , con el fin de entrometerse en su comunicación y obtener información valiosa tipo contraseñas POP, SSH, Telnet, FTP, Https, etc…

Decir que la mayoría de los sistemas operativos (excepto linux 2.4 y solaris 8) no implementan estados en el protocolo arp (aceptan arp­ replys sin haber enviado antes un request), por lo que facilmente aceptan respuestas ARP y en consecuencia modifican su tabla ARP en caché con cada arp­reply recibido.

Pasamos pues a explicar el funcionamiento en la práctica de este potente software.

Ettercap tiene dos modos de sniffar:

UNIFIED ­> Esnifa todos los paquetes que pasan por el cable. Es posible poner la interfaz de red en modo promiscuo y permitir que los paquetes que no vayan dirigidos a él, los redirecciona usando la capa 3 de enrutado. Así es posible lanzar un ataque MITM con otra herramienta y permitir que ettercap redireccione los paquetes a su destino verdadero.

BRIDGED ­> Utiliza dos interfaces de red y direcciona el trafico de una a la otra mientras se esnifa y se filtra si interesa. Es un método absolutamente anónimo pues es imposible detectar un ataque MITM por parte de los otros hosts de la red. Se puede decir que se trata de un MITM a nivel de la capa física. Estarás en medio del cable entre dos entidades. No es recomendado en gateways pues transformará tu gateway en un bridge.

Las características mas relevantes de Ettercap son:

  • Soporte SSH1 ­> Capacidad para snifar usuario y contraseña de conexiones ssh1. Ettercap es el primer software capaz de snifar este tipo de tráfico en modo Full­duplex.
  • Soporte SSL ­> Capacidad de snifar datos cifrados con SSL. Un certificado falso es presentado al host victima y la sesión es desencriptada.
  • Inyección de caracteres en una conexión establecida.
  • Filtrado de paquetes ­> Por medio de scripts es posible buscar por cadenas específicas en paquetes TCP y UDP, con el fin de modificarla por una que nosotros deseemos, deshechar paquetes, etc..
  • Mata conexiones ­> Capacidad para finalizar conexiones TCP.
  • Soporte de Plug­ins ­> Capacidad de creación de tus propios plugins utilizando las API de Ettercap.
  • Capturador de contraseñas: TELNET, FTP, POP, RLOGIN, SSH1, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.
  • Fingerprint pasivo ­> Posibilidad de escanear la red local en modo pasivo (sin enviar ningun paquete) y obtener información detallada sobre los hosts, como el sistema operativo que utilizan, servicios en ejecución, puertos abiertos, IP, direcciones MAC y vendedor del adaptador de red.

Modo de utilización:

root@localhost # ettercap OPCIONES OBJETIVO1 OBJETIVO2

El trafico será snifado de objetivo1 a objetivo2 y viceversa (no existe el concepto de Origen y Destino).

La sintaxis de OBJETIVO1 y OBJETIVO2 es de la forma MAC/IPs/Puertos. Existe la posibilidad de omitir algun campo , indicando en consecuencia que la condición será siempre aceptada para cualquier valor en el campo omitido. Ejemplo:

//110 significa cualquier dirección MAC e IP, pero sólo el puerto 110.

00:23:64:07:BD:AC//80 ­> Cualquier IP, pero sólo la MAC indicada y el puerto 80

Es posible indicar un rango de Ips o varias Ips en el objetivo. Esto se hace utilizando el carácter ‘­’ para indicar rango, coma (‘,’) para especificar extension de la Ip y punto y coma (‘;’) para separar las direcciones IP. Ejemplo:

11:22:33:44:55:66/10.13.12.4­7;10.13.12.78,79/80 ­> Sólo la MAC 11:22:33:44:55:66, con puerto 80 y las direcciones IP: 10.13.12.4, 10.13.12.5 , 10.13.12.6 , 10.13.12.7 , 10.13.12.78 o 10.13.12.79

Lo mismo ocurre con los rangos de puertos (indicamos la separación con ‘,’ y el rango con ‘­’://80­110,143,6667 ­> Cualquier MAC e IP, pero solo los puertos del 80 al 110, el 143 o el 6667.

Es posible también indicar el modo inverso al indicar un objetivo, de forma que snifaremos todo el tráfico MENOS el objetivo que hemos definido. Se utiliza con la opción ­R (de reverse). Ejemplo:

# ettercap ­T ­R /10.13.12.7/ ­> Snifaremos todo el trafico proveniente de cualquier direccion MAC, cualquier PUERTO y cualquier IP excepto 10.13.12.7. El parámetro ­T indica que ejecutaremos ettercap en modo texto, al contrario que ­G , que lo ejecutará en modo gráfico haciendo uso de GTK+ y ­C haciendo uso de las librerías Curses.

Hasta aquí todo respecto a la sintaxis de los OBJETIVOS. Una vez estemos ejecutando ettercap, implicará que éste direccionará de manera automática todos los paquetes que nos lleguen a sus destinos correspondientes. Esto implica además que el parámetro ip_forwarding (/proc/sys/net/ipv4/ip_forward) del kernel deberá estar desactivado con el fin de que la redirección de paquetes la lleve a cabo Ettercap y no el kernel, así se evita que los paquetes aparezcan por duplicado en la red. Por suerte, ettercap en la versión NG 0.7.3 ya modifica este parámetro automáticamente. Es posible ver ayuda más detallada haciendo uso de las páginas de Man que vienen en la instalación del ettercap o consultando el foro de ettercap (http://ettercap.sourceforge.net/forum).

Aquí pasaremos a hacer algunas pruebas de cómo llevaríamos a cabo un ataque de MITM con envenenamiento ARP, aunque ettercap posibilita también llevar a cabo otros tipos de ataques (dhcp, port stealing, icmp…), pero que no se profundizarán en ellas aquí.

Para llevar a cabo un ataque en toda la red utilizando envenenamiento ARP escribimos:

# ettercap ­Tq ­M arp:remote //

  • T = Modo texto
  • q = quiet – No visualizamos el contenido del paquete. Compatible con modo consola solo.
  • M = Ataque Man in the middle
  • arp: = envenenamiento ARP
  • remote = permite snifar direcciones ip remotas , envenenando así al gateway.
  • // = especificación del objetivo: todos los hosts de la LAN.

Si por ejemplo queremos ejecutar Ettercap como herramienta que efectúa un ataque ARP contra una determinada IP y a continuación monitorizar el tráfico con otras herramientas, como por ejemplo Ethereal o Wireshark, lo haremos por medio del siguiente comando:

# ettercap ­T ­o ­M arp:remote /10.45.34.1/

Esto indica que ettercap envenenará la tabla ARP de 10.45.34.1 y que estaremos en medio de su tráfico dirigido hacia él, y el que él mismo produzca. Sólo deberemos agregar el flag ­z (­Tz) si queremos que solo capturemos paquetes procedentes de la IP, y no tráfico diriguido a él.

Ettercap efectúa un ARP request a los hosts que le pasemos como objetivos con el fin de obtener su verdadera MAC. Esto supondrá que cuando efectuemos un ataque a toda la red (//), ettercap producirá una tormenta de peticiones arp a cada host de la red, con sus respectivas respuestas, lo que no sería deseable pues saturaría de tráfico ARP la red de manera innecesaria. Por ello, para que esto no ocurra cada vez que lanzemos ettercap, es posible guardar la lista de hosts en un fichero, para cargarla en futuros usos con el fin de no producir el torrente enorme de peticiones arp a toda la red. Sería de la siguiente forma:

# ettercap ­T // ­k lista_de_hosts.txt

Cuando volvamos a hacer uso de ettercap, solo tendremos que cargar el archivo de la forma:

# ettercap ­T // ­j lista_de_hosts.txt

Así mismo, también podemos hacer uso de filtros a partir de la herramienta etterfilter ($ man etterfilter para más información), que crea un fichero compilado para que ettercap pueda cargarlo y utilizarlo. Algun ejemplo de creación de un filtro para luego ponerlo en funcionamiento podría ser algo así:

Archivo filtro.txt

if (tcp.src == 80 && search(DATA.data,”google.com”)) {

replace(“google.com”, “yahoo.com”);

msg(“Redireccionando a yahoo\n”);

}

fin de archivo.

En la sintaxis anterior estamos haciendo un filtrado de los paquetes que vayan dirigidos al puerto 80, es decir, el puerto para la navegación y además contengan la palabra “google”. Por lo tanto lo que pretendemos aquí es ver como podemos direccionar a otra dirección (en este caso a yahoo).

# etterfilter filtro.txt ­o filtro // Para compilar el filtro.

# ettercap ­Tq ­F filtro ­M arp:remote /10.45.76.5/ //

Con esta ultima instrucción lanzamos ettercap para que filtre y redireccione los paquetes origen destino con ip 10.45.76.5. El resultado es que 10.45.76.5 al pretender visitar http://www.google.com, será direccionado a http://www.yahoo.com.

Observando los simples ejemplos anteriores, podemos imaginarnos la cantidad de posibilidades que nos ofrece este software, un software muy potente, pero que en manos de gente con objetivos malintencionados puede suponer un severo riesgo para la integridad de nuestra red.Por eso vayamos a mencionar alguna de las posibles soluciones que encontramos ante este tipo de ataques.

Tutorial III

Tutorial II

Tutorial I

  1. kerigan
    20/11/2011 a las 7:55 am

    Hola amigo. Tengo en la casa dos ordenadores. Uno, que es en el que tengo todas mis aplicaciones y de donde trabajo, es un Debian Squeeze y el otro un Windows 7. E instalado ettercap y e intentado hacer captura de trafico al ordenador con windows. En cuando le doi start al ettercap, el ordenador con windows se queda sin internet. Vamos que no puede navegar. Me puedes decir que es lo que pasa? Gracias y perdona por la molestia.

  2. 02/02/2011 a las 8:55 pm

    Hola mi buen otra vez leyendo tus grandiosos textos pero me gustaria saber algo me descargue etercap para windows y cuando quise poner Pestaña Sniff>Unified Sniffing
    luego seleecione mi tarjeta wifi y cuando le doy “aceptar” se me cierra????
    por que podra ser???
    si me pudieras dar una respuesta me gustaria….
    aaaa y otra cosa en linux lo probe bueno hackeando una red wifi pero con el aircrack y me funciono asi que no se por que no funciona en windows o no tendra soporte para el adaptdor wifi???
    Saludos y buen aporte!!!

    • 02/02/2011 a las 9:58 pm

      Dentro de poco haré el tutorial sobre Windows y Linux de Ettercap. Pero sinceramente no lo he probado con redes Wifi. Quizás el problema de la wifi en Windows sea como siempre alguna DLL defectuosa, el antivirus o el simple cortafuegos del Windows. La verdad que no sabría. Tendría que probar pero ya te digo no tengo ni deseo por ahora una Wifi, es el sistema mas inseguro de comunicaciones que existe. Un saludo y ya hablamos.

  1. 02/02/2011 a las 5:34 pm
  2. 02/02/2011 a las 5:27 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: