Uso de Ettercap

Cada día son mas populares las técnicas de sniffing, arp-spoof, dns-spoof, man in the middle, eta abar, 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 programaEttercap“.

He escogido elettercapa 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écnicaMan In The Middle ), de quemoebiusescribiera un articulo sobre eldsniff” (para linux), publicado en la revistahackxcrackNº11, y de queVic_Thorexplicara como utilizar elCain” (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 tipoya 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 etcsólo trato de demostrar lo fácil que pude resultar un ataque teóricamente avanzado, pero que hoy por hoy cualquiera puede realizar, hau da, cualquiera puede representar un peligro para nuestra seguridad.

INTRODUCCIÓN:
Antes de meternos de lleno con el ettercap, Vamos a aurkeztera batzuk kontzeptu txiki batzuk que tal vez lagundu dut ulertzen zer va guztia hau.

Hub/Switch
Existen muchos tipos de redes, horien artean, las que conectan los taldeak hub baten bidez eta switch baten bidez egiten duten. Supongamos que tenemos una minired (LAN) con 3 equipos, como la de muchos particulares, pequeñas empresas, eta abar, konektatuak 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 eta 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 situation, 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 eta 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 (gutxienez) 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, hau da, sin ningún tipo de conexión, también tiene IP, es la 127.0.0.1). La dirección MAC vagrabadaen cada dispositivo de conexión (tarjetas de red, bideratzaileak, 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: “Zure IPa X.X.X.X bada, bidali iezadazu zure MAC helbidea”, talde batek kontsulta hau jasotzen duenean, egiaztatzen du zehaztutako IPa berea dela eta hala bada, erantzuten du bere MAC helbidea bidaliz, eta kontsulta egin duen taldeak, erantzuna cache-ean gordeko du IParekin eta MACekin (IP/MAC).

Garrantzitsuena da pakete hauek sareko tresna guztiei bidaltzen zaizkiela, sareak switch edo hub baten bidez konektatuta dagoen ala ez kontuan hartu gabe.

ARP-spoofinga ARP kontsultak eta erantzunak bidaltzea funtzionatzen du, bereziki sortuak.

Berriro gure mini-sarean, si el equipo 3 ARPrako erantzunak bidaltzen ditu taldeari 1 IP/MAC informazio manipulatua erabiliz, engain dezake eta lortu dezake zerbaiten informazioa bidaltzen bada 1 hemenetatik 2, benetan honetara joango dela 3, eta beraz, berriro aurkitzen dugu talde hori 3 komunikazio osoa oztopatu dezake 1 eta 2 nahiz eta sareak switch bat izan.

Gure aurretik esan dugu apur bat “bereziki sortutako ARP erantzunak”, zer edukiko luketen erantzun horiek? simplemente, taldea 3 IP/MAC edukia 2.2.2.2/MAC3 izango zuen erantzun bat eraikiko luke (noski, errealitatean hau askoz konplexuagoa da, baina uste dut funtzionamendua argi gelditzen dela), eta taldeari bidaliko lioke 1, adibidez, modu honetan erantzun hau gorde egiten da cache-an 1, eta pentsatuko du IP hori 2.2.2.2 MAC3 dagokiola MAC2-ren ordez ( honela ARP intoxikazioa deitzen zaio).

ETTERCAP

¿Qué es?
Bere egileen arabera:
Ettercap LAN sareetarako sniffer/interceptor/logger bat da switch-ekin, protokolo askoren diseinu aktibo eta pasiboa onartzen du (kifratutakoak barne) 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-ra, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.
Paketeen iragazketa eta ordezkapena.
SOen hatza: hau da, Hautematen urruneko sistema eragilea.
Konektibitateak hiltzen ditu.
LAN eskaneatzailea: hosts, irekita dauden portuak, servicios…
Sare berean beste pozoitze batzuk bilatzen ditu.
Portua lapurtzea (portuen lapurreta): switch-a duen sareetan sniff egiteko metodo berria da, ARP pozoiketarik gabe”.

Informazio hau Ettercap-en webgune ofizialetik hartuta dago eta tresna honen potentziaz ideia bat ematen digu.

Linux-en instalazioa:
Instalazioa oso erraza da, Honetaz aurrera hitz egingo dudan bertsioa 0.6.b da, Lehenik eta behin fitxategia webgune ofizialetik deskargatzen dugu
http://ettercap.sourceforge.net/index.php?s=download
(RPM-ak ere badaude, baina ez dizkizut gomendatzen, fitxategi tarrek dakartzan plugin guztiak ez dituztelako ekartzen, gutxienez nik probatu ditudanak)
Deskargatu ondoren, deskonprimitu egiten dugu:

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.

Ettercap erabiltzen:
Ettercapean hasteko gure sistema paketeei detektatzen dituen guztiak onartzeko konfiguratu behar dugu, horretarako, terminal bat irekitzen dugu eta idazten dugu:

echo 1 > /proc/sys/net/ipv4/ip_forward

ip_forward aktibatuta dagoen egiaztatzeko 1 edo 0 (aktibatuta edo desgaituta dagoen) komando hau erabil dezakegu:

cat /proc/sys/net/ipv4/ip_forward

eta erantzuna hau izan beharko litzateke 1.

Windows-en berdina egiteko erregistroara joan behar dugu, haren kateara:

HKLMSYSTEMCurrentControlSetServicesTcpipParameters

eta IPEnableRouter balioan jartzen dugu 1 beste baten ordez 0.

Orain ip_forward aktibatuta eta Ettercap instalatuta, terminal batean exekutatzen dugu (80 baino zabalera handiagoarekin×25) eta lehenengoa egiten duena gure sareko gailu guztiak bilatzea dela ikusten dugu, amaitzen duenean, 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) taldea “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, hau da, 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 ‘ao ‘A
Sniffing a las IPs -> pulsando ‘so ‘S
Sniffing a las MAC -> pulsando ‘mo ‘M

En nuestro caso pulsaremos ‘a’, pero hay mas cosas interesantes, para acceder a los plugins hay que pulsar ‘po ‘P’ , para averiguar el sistema operativo de los equipos de la red pulsaremos ‘fo ‘F’, también podemos editar las cabeceras de los paquetes pulsando ‘xo ‘X’, eta abar… 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_instally 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, hau da, no se seleccionan, se ejecutan al pulsar ‘enter’.
Si tienes dudas, para probar, selecciona los que ponga ‘…password…’ 😉
En este example yo activo los siguientes: H13_giant2, H20_dwarf, H30_thief (es más 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 concret 'ettercap -Np nombre_del_pluging host'.
Hay mucho más que saber sobre los plugins, Archivioa 'README. PLUGINS', y si tienes alguna duda sobre el uso de algún plugin, every one se encuentra en una carpeta con su nombre dentro de la carpeta 'plugins', y algunos junto con su correspondiente HOWTO.
Salgo del menu de plugins (pulsando 'q') y comienzo a capturar, en este kasu debido al switch pulsando la 'a’ (envenenamiento ARP), eta esto es lo que se ve:


Vemos que queda detallado el state en que se encuentra cada comunicación etablecida (ACTIVE, CLOSED, KILLED…) y el type o protocolo (http, domain…)
En la parte de arriba vemos que información sobre la sesión que hemos configurado, en este kasuan los fitros están desaktibatutako (Iragazkia: OFF) y la captura de passwords anctiva (Active Dissector: ON) y el type 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 team objetivo.
Esta es la captura:

eta pasahitzak aurkitu behar ditut ahí? Ez, Ettercap oso listoa da, 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.
Adibidez, 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 🙂
Bueno, cuando te canses, pulsas ‘lo ‘Ly se guardan en un log todos las contraseñas capturadas.
Onena, 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 cadenasal vuelo”, eta abar… 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.


Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!