INTRODUCCIÓN AL ETTERCAP
Hola acabo de encontrar un manual de ettercap que me ha gustado bastante y he aprendido de él.
Espero que les sirva de ayuda.
MANUAL: http://www.xombra.com/go_articulo.php?nota=47
Cada día son mas populares las técnicas de sniffing, arp-spoof, dns-spoof, man in the middle, etc, pero son muchos los que creen que están reservadas para los gurú de la red, y hasta hace poco era así, pero en esto como en todo, con el tiempo, internet ha hecho posible que se desarrollen rápidamente herramientas que hacen que lo que antes resultaba muy compicado, ahora sea cosa de niños (no estoy seguro de si eso es bueno o malo).
En este texto voy a tratar de explicar (por encima) cómo utilizar el programa "Ettercap ".
He escogido el "ettercap" a parte de porque considero que es una de las mejores herramientas que se pueden encontrar para interceptar conexiones, porque creo que después de que TONTETE hiciese 3 estupendos manuales sobre el tema (Redes y sniffers , Arp-spoof, fundamento y practica , Manual sobre la técnica "Man In The Middle" ), de que "moebius" escribiera un articulo sobre el "dsniff " (para linux), publicado en la revista "hackxcrack" Nº11, y de que "Vic_Thor" explicara como utilizar el "Cain " (Windows) para interceptar el tráfico de redes mediante envenenamiento arp (http://www.freewebs.com/victhor/hxc/FAQ/faq2.pdf ) creo que le ha llegado el turno al "Ettercap" y como hace bastante que no hago un texto de este tipo... ya me va tocando
Ya se que muchos de vosotros le teneis miedo al linux, pero sabeis que tarde o temprano tendreis que atreveros, y ¿qué mejor momento que éste?, porque el ettercap funciona bajo linux, aunque si prefieres seguir pensandotelo, también puedes instalarlo en Windows, con la ayuda del cygwin, pero de esto hablaremos mas adelante.
Estos temas pueden resultar muy técnicos, pero como siempre, y para que todo el mundo lo entienda, no voy a entrar en explicaciones profundas sobre el arp, sniff, topologías de red etc... sólo trato de demostrar lo fácil que pude resultar un ataque teóricamente avanzado, pero que hoy por hoy cualquiera puede realizar, es decir, cualquiera puede representar un peligro para nuestra seguridad.
INTRODUCCIÓN:
Antes de meternos de lleno con el ettercap, vamos a introducir unos pequeños conceptos que tal vez te ayuden a entender de qué va todo esto.
Hub/Switch
Existen muchos tipos de redes, entre ellas, las que conectan los equipos mediante un hub y las que lo hacen mediante un switch. Supongamos que tenemos una minired (LAN) con 3 equipos, como la de muchos particulares, pequeñas empresas, etc, conectados los tres a un hub, si el equipo 1 quiere abrir una carpeta (o recurso compartido) del equipo 2, la petición de entrar en esa carpeta sale del equipo 1, va al hub y éste la manda al equipo 2 y 3, pero como la petición era para el equipo 2, el 3 cuando la reciba simplemente la ignorará, y el 2 la recibirá y responderá, y con la respuesta volverá a suceder lo mismo.
En esta situación, una persona situada en el equipo 3 puede utilizar un sniffer, y dejarlo a la escucha, de esta forma puede ver toda la información que se intercambian los equipos 1 y 2, porque verá en el sniffer todos esos paquetes que no eran para el, sino para el equipo 2.
Si nuestra minired tuviera un switch y no un hub el funcionamiento sería diferente, en la misma situación que antes, la petición del equipo 1 saldría hacia el switch, pero este la mandaría unicamente al equipo 2, puesto que va dirigida a él (esta es la diferencia con el hub) , y el 3 no se enteraría de nada. Ahora el sniffer del equipo 3 ya no sirve para nada.
Ip/Mac Cada equipo conectado a una red/internet, posee (al menos) una dirección IP y cada dispositivo de conexión posee una dirección MAC. La dirección IP es del tipo de X.X.X.X y sirve para distinguir un equipo de otro cuando estos están conectados (un equipo aislado, es decir, sin ningún tipo de conexión, también tiene IP, es la 127.0.0.1). La dirección MAC va "grabada" en cada dispositivo de conexión (tarjetas de red, routers, modems...) y en teoría no debe haber 2 iguales en el mundo, hasta hace poco se suponía que no se podían cambiar y desde no hace mucho existen técnicas para cambiarlas (no siempre).
Para que quede mas claro vamos a ver algunos casos: Un equipo independiente, que se conecta a internet mediante un modem tendrá la IP que le asigne su ISP y la MAC que trae de fábrica el modem. Si hay varios equipos conectados a internet con un modem-router (en multipuesto) los equipos internet serán identificados por la IP que le asigne su ISP al modem-rputer la MAC será la del modem-router, pero entre ellos se identificarán unos a otros (y con el modem-router) mediante la IP que le haya asignado el administrador de la red y la MAC de sus trajetas de red en el caso de los equipos, puesto que el modem-router tiene una MAC propia.
Para el ejemplo de nuestra minired, vamos a suponer que la IP del equipo 1 es 1.1.1.1 la del equipo 2 es 2.2.2.2 y la del 3 es 3.3.3.3, y que las direcciones MAC de sus tarjetas de red son MAC1, MAC2 y MAC3 respectivamente, esto nos servirá para entender el siguiente párrafo.
Arp spoofing
Es aquí donde entra el ARP (address resolution protocol). El ARP funciona mandando paquetes que hacen la seguiente consulta: "Si tu ip es X.X.X.X mandame tu dirección MAC", cuando un equipo recibe esta consulta, comprueba que la ip especificada es la suya y si es así responde enviando su dirección MAC, y el equipo que formuló la consulta, guardará la respuesta en la cache con la ip y la MAC (IP/MAC).
Lo importante es que estos paquetes son enviados a todos los equipos de la red, independientemente de si la red está conectada mediante un switch o un hub.
El arp-spoofing funciona mandando consultas y respuestas arp especialmente creadas.
De nuevo en nuestra minired, si el equipo 3 manda respuestas arp al equipo 1 con la información IP/MAC manipulada, puede engañarlo y conseguir que si sale alguna información desde 1 hacia 2, ésta vaya en realidad hacia 3, y por lo tanto nos encontramos de nuevo el equipo 3 puede interceptar toda la comunicación entre 1 y 2 aunque la red disponga de un switch.
Hemos dicho un poco mas arriba "respuestas arp especialmente creadas", ¿qué contendrían estas respuestas? simplemente, el equipo 3 construiría una respuesta en las que el contenido IP/MAC fuese 2.2.2.2/MAC3 (por supuesto en la realidad esto es mas complicado, pero creo que queda claro el funcionamiento), y la enviaría al equipo 1, por ejemplo, de esta manera esta respuesta queda guardada en la cache de 1, y creerá que a la ip 2.2.2.2 le corresponde la MAC3 en vez de la MAC2 ( a esto se le llama envenenamiento ARP).
ETTERCAP
¿Qué es?
Según sus autores:
"Ettercap es un sniffer/interceptor/logger para redes LAN con switchs, que soporta la disección activa y pasiva de muchos protocolos (incluso cifrados) e incluye muchas características para el análisis de la red y del host (anfitrión)".
Entre sus funciones, las mas destacadas son las siguientes:
*Injection de caracteres en una conexión establecida emulando comandos o respuestas mientras la conexión está activa.
*Compatibilidad con SSH1: Puede interceptar users y passwords incluso en conexiones "seguras" con SSH.
*Compatibilidad con HTTPS: Intercepta conexiones mediante http SSL (supuestamente seguras) incluso si se establecen a través de un proxy.
*Intercepta tráfico remoto mediante un tunel GRE: Si la conexión se establece mediante un tunel GRE con un router Cisco, puede interceptarla y crear un ataque "Man in the Middle".
*"Man in the Middle" contra tuneles PPTP (Point-to-Point Tunneling Protocol).
Soporte para Plug-ins.
Lista de plugins:
Colector de contraseñas en : 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.
Filtrado y sustitución de paquetes.
OS fingerprint: es decir, detección del sistema operativo remoto.
Mata conexiones.
Escaner de LAN: hosts, puertos abiertos, servicios...
Busca otros envenenamientos en la misma red.
Port Stealing (robo de puertos): es un nuevo método para el sniff en redes con switch, sin envenenamiento ARP".
Esta info está sacada de la página oficial del Ettercap y nos da una idea de lo potente que es esta herramienta.
Instalación en Linux:
La isntalación es muy sencilla, la versión de la que voy a hablar en adelante es la 0.6.b, primero nos bajamos el archivo desde la web oficial
http://ettercap.sourceforge.net/index.php?s=download
(Existen también los rpm, pero no te los recomiendo, porque no traen todos los plugins que trae el archivo tar, al menos loe que yo he probado)
Una vez descargada, la descomprimimos:
tar -zxvf ettercap-0.6.b.tar.gz
vamos a la carpeta en la que se ha descomprimido:
cd ettercap-0.6.b
y comenzamos:
./configure
si todo va bien tenemos varias opciones de make, yo os recomiendo que lo instaleis todo, para ello poned:
make complete_install
y ya está isntalado.
Si vais a usar las opciones de SSH1 o HTTPS son necesarias las libreiras OpenSSL ( http://www.openssl.org ) si no las teneis ya instaladas
Instalación en Windows:
Como gran parte de los programas pensados para Linux, es posible hacerlos correr en Windows gracias al cygwin (http://cygwin.com/setup.exe ).
Pero también hay una distribución específica para Windows, podeis bajarla desde:
http://sourceforge.net/projects/ettercap/
El que prefiera instalar en Windows el paquete para linux está de suerte, el paquete contiene un archivo llamando README.WIN32 en el que explica detalladamente los pasos que debeis seguir.
Usando el Ettercap:
Antes de empezar con el Ettercap tenemos que configurar nuestro sistema para que acepte todos los paquetes que detecte, para ello, abrimos una terminal y escribimos:
echo 1 > /proc/sys/net/ipv4/ip_forward
para comprobar si el ip_forward está en 1 ó 0 (activado o desactovado) podemos utilizar este comando:
cat /proc/sys/net/ipv4/ip_forward
y la respuesta debería ser un 1.
Para hacer lo mismo en Windows debemos ir al registro, a la cadena:
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
y en el valor IPEnableRouter ponemos un 1 en vez de un 0.
Ahora con el ip_forward activado y el Ettercap instalado, lo ejecutamos en una terminal (con dimensiones superiores a 80x25) y vemos que lo primero que hace es buscar todos los equipos de nuestra red, cuando termina, nos aparece una pantalla en la que aparecen dos columnas con las IPs en contradas en nuestra red, en la columna de la izquierda se selecciona (moviendo los cursores y pulsando enter) el equipo "origen" que se quiere espiar, y en la de la derecha el equipo "destino", para que nos entendamos, supongamos que en la red en la que estoy hay un switch que conecta el gateway (172.26.0.1) con el resto de los equipos, en el momento de las capturas hay 2 equipos encendidos el 172.26.0.2 y el 172.26.0.4.
Mi equipo es el 172.26.0.4 y voy a tratar de interceptar toda la información que intercambia el equipo 172.26.0.2 con internet, es decir, la que envía y recibe del 172.26.0.1 a través del switch, así que selecciono en la primera columna el equipo 172.26.0.2 y en la segunda el 172.26.0.1, esto es lo que veremos:
Si pulsamos F1 veremos el menú de ayuda (todos los menú poseen su propia ayuda, y siempre puedes acceder pulsando F1):
Vemos que hay 3 modos de sniffing:
Envenenamiento ARP -> pulsando 'a' o 'A'
Sniffing a las IPs -> pulsando 's' o 'S'
Sniffing a las MAC -> pulsando 'm' o 'M'
En nuestro caso pulsaremos 'a', pero hay mas cosas interesantes, para acceder a los plugins hay que pulsar 'p' o 'P' , para averiguar el sistema operativo de los equipos de la red pulsaremos 'f' o 'F', también podemos editar las cabeceras de los paquetes pulsando 'x' o 'X', etc... en fin eso ya es cosa vuestra.
Vamos a activar los plugins que queremos usar, para ello pulsamos 'q' (quit) para salir de la ayuda y ahora pulsamos la 'p', este es el menú que vemos:
Si bajamos con el cursor vemos que tenemos 34 plugins instalados (los tenemos porque durante la instalación pusimos 'make complete_install' y esto incluye los plugins), no los voy a explicar uno por uno, porque cada uno posee una definición suficientemente descriptiva, y porque sin duda surgirán muchos mas.
La elección de los plugins a utilizar depende de las necesidades de cada caso, pero ten cuidado porque algunos son ataques DOS y pueden ser peligrosos, para la integridad de la red LAN.
Con el cursor te mueves por la lista y para seleccionar el que quieras activar pulsas 'enter', el plugin quedará marcado con una 'A'.
Algunos están marcados con una 'E', estos son de ejecución independiente, es decir, no se seleccionan, se ejecutan al pulsar 'enter'.
Si tienes dudas, para probar, selecciona los que ponga '...password...'
En este ejemplo yo activo los siguientes: H13_giant2, H20_dwarf, H30_thief (es mas de lo que necesito para interceptar contraseñas y correos)
Para ver desde la linea de comandos qué plugins tienes instalados escribe en una terminal: 'ettercap -Np list' y para ejecutar uno en concreto 'ettercap -Np nombre_del_pluging host'.
Hay mucho mas que saber sobre los plugins, para ello leete el archivo 'README.PLUGINS', y si tienes alguna duda sobre el uso de algún plugin, cada uno se encuentra en una carpeta con su nombre dentro de la carpeta 'plugins', y algunos junto con su correspondiente HOWTO.
Salgo del menú de plugins (pulsando 'q') y comienzo a capturar, en este caso debido al switch pulsando la 'a' (envenenamiento ARP), y esto es lo que se ve:
Vemos que queda detallado el estado en que se encuentra cada comunicación etablecida (ACTIVE, CLOSED, KILLED...) y el tipo o protocolo (http, domain...)
En la parte de arriba vemos que información sobre la sesión que hemos configurado, en este caso los fitros están desactivados (Filter: OFF) y la captura de passwords anctiva (Active Dissector: ON) y el tipo de sniff es ARP.
Podemos abrir la ayuda (F1) para ver todo lo que podemos hacer.
Pulsando 'enter' sobre cualquier linea podemos hacer un sniff a la conexión seleccionada, si ésta se encuentra activa (ACTIVE) veremos cómo en el cuadro de la izquierda aparece lo enviado por el equipo objetivo y en el de la derecha lo enviado desde el equipo remoto al equipo objetivo.
Esta es la captura:
¿y tengo que encontrar los passwords ahí ? No, el Ettercap es muy listo, y facilita el trabajo, desvelando los user y password que encuentra, en la parte baja de la ventana, cuando seleccionamos la conexión en la que se encuentran.
Por ejemplo, esta es la captura del password de hotmail cuando alguien se conecta a su
correo via web:
como veis abajo se ve el user, el pass y la URL en la que se utilizaron. Fijaros bien que la conexión es https (teóricamente segura).
Aunque no todo resulta tan bonito, esta es la captura de un inicio de sesión del MSN:
Como veis no nos da el password en texto plano (logicamente), pero... ¿y el robo de sesiones? mmmmm, no se no se, bueno eso es un tema largo, para otra vez
En fin, cuando te canses, pulsas 'l' o 'L' y se guardan en un log todos las contraseñas capturadas.
Bueno, creo que como ejemplo ya es suficiente, quedan muchas cosas por ver, por ejemplo las capturas de POP, FTP, TELNET, IRC ... , la edición manual de las cabeceras de los paquetes enviados, los filtros (que permiten capturar y editar cadenas "al vuelo", etc... pero eso te toca a ti.
Como ves, todo este texto, mas que un manual, es una presentación, toma de contacto, o llamalo como quieras, espero que por lo menos haya servido para ampliar un poco los conocimentos de alguno sobre estas técnicas que se están de actualidad.
Texto escrito por CyruxNET
Un saludo,
Ricardo.