Ús d' Ettercap

Cada dia són més populars les tècniques de sniffing, arp-spoof, dns-spoof, man in the middle, etc., però són molts els que creuen que estan reservades per als gurú de la xarxa, i fins fa poc era així, però en això com en tot, amb el temps, internet ha fet possible que es desenvolupin ràpidament eines que fan que el que abans resultava molt, ara sigui cosa de nens (no estic segur de si això és bo o dolent).

En aquest text vaig tractar d'explicar (per sobre) com utilitzar el programa “Ettercap“.

He escollit el “ettercap” a banda de perquè considero que és una de les millors eines que es poden trobar per interceptar connexions, perquè crec que després que TONTETE fes 3 estupends manuals sobre el tema (Xarxes i sniffers, Arp-spoof, fonament i practica, Manual sobre la tècnica “Man In The Middle” ), que “moebius” escrivís un article sobre el “dsniff” (per a linux), publicat a la revista “hackxcrack” Nº11, i que “Vic_Thor” explicara com utilitzar el “Cain” (Windows) per interceptar el trànsit de xarxes mitjançant enverinament arp (http://www.freewebs.com/victhor/hxc/FAQ/faq2.pdf ) crec que li ha arribat el torn al “Ettercap” i com fa bastant que no faig un text d'aquest tipus… ja em va tocant 🙂

Ja es que molts de vosaltres li teniu por al linux, però sabeu que tard o d'hora haureu d'atrevir-vos, i quin millor moment que aquest?, perquè l'ettercap funciona sota linux, encara que si prefereixes continuar pensant-te, també pots instal·lar-lo a Windows, amb l'ajuda del cygwin, però d'això en parlarem més endavant.

Aquests temes poden resultar molt tècnics, però com sempre, i perquè tothom ho entengui, no vaig entrar en explicacions profundes sobre l'arp, sniff, topologies de xarxa etc… només tracte de demostrar el fàcil que pot resultar un atac teòricament avançat, però que ara per ara qualsevol pot fer, és a dir, qualsevol pot representar un perill per a la nostra seguretat.

INTRODUCCIÓ:
Abans de ficar-nos de ple amb l'ettercap, vam introduir uns petits conceptes que tal vegada t'ajudin a entendre de què va tot això.

Hub/Switch
Hi ha molts tipus de xarxes, entre elles, les que connecten els equips mitjançant un hub i les que ho fan mitjançant un switch. Suposem que tenim una minixarxe (LAN) amb 3 equips, com la de molts particulars, petites empreses, etc., connectats tots tres a un hub, si l' equip 1 vol obrir una carpeta (o recurs compartit) de l' equip 2, la petició d'entrar en aquesta carpeta surt de l'equip 1, va al hub i aquest la mana a l' equip 2 y 3, però com que la petició era per a l'equip 2, el 3 quan la rebi simplement la ignorarà, i el 2 la rebrà i respondrà, i amb la resposta tornarà a succeir el mateix.

En aquesta situació, una persona situada a l' equip 3 pot utilitzar un sniffer, i deixar-lo a l'escolta, d'aquesta manera pot veure tota la informació que s'intercanvien els equips 1 y 2, perquè veurà a l'sniffer tots aquests paquets que no eren per al, sinó per a l' equip 2.

Si la nostra minired tingués un switch i no un hub el funcionament seria diferent, en la mateixa situació que abans, la petició de l' equip 1 sortiria cap al switch, però aquest la manaria unicament a l'equip 2, ja que va dirigida a ell (aquesta és la diferència amb el hub) , i el 3 no s'assabentaria de res. Ara l'sniffer de l'equip 3 ja no serveix per a res.

Ip/Mac
Cada equip connectat a una xarxa/internet, posseeix (almenys) una adreça IP i cada dispositiu de connexió posseeix una adreça MAC. L' adreça IP és del tipus de X.X.X.X i serveix per distingir un equip d' un altre quan aquests estan connectats (un equip aïllat, és a dir, sense cap tipus de connexió, també té IP, és la 127.0.0.1). La direcció MAC va “gravada” en cada dispositiu de connexió (targetes de xarxa, routers, modems…) i en teoria no hi ha d'haver 2 iguals al món, fins fa poc se suposava que no es podien canviar i des de no fa gaire existeixen tècniques per canviar-les (no sempre).

Perquè quedi més clar anem a veure alguns casos: Un equip independent, que es connecta a internet mitjançant un modem tindrà la IP que li assigni el seu ISP i la MAC que porta de fàbrica el modem. Si hi ha diversos equips connectats a internet amb un modem-router (en multiposat) els equips internet seran identificats per la IP que li assigni el seu ISP al modem-rputer la MAC serà la del modem-router, però entre ells s' identificaran uns als altres (i amb el modem-router) mitjançant la IP que li hagi assignat l' administrador de la xarxa i la MAC de les seves vestits de xarxa en el cas dels equips, ja que el modem-router té una MAC pròpia.

Per a l'exemple de la nostra minired, vam suposar que la IP de l'equip 1 és 1.1.1.1 la de l' equip 2 és 2.2.2.2 i la del 3 és 3.3.3.3, i que les adreces MAC de les seves targetes de xarxa són MAC1, MAC2 i MAC3 respectivament, això ens servirà per entendre el següent paràgraf.

Arp spoofing
És aquí on entra l'ARP (address resolution protocol). L'ARP funciona manant paquets que fan la seguici consulta: “Si el teu ip és X.X.X.X mandame la teva adreça MAC”, quan un equip rep aquesta consulta, comprova que la ipció és la seva i si és així respon enviant la seva adreça MAC, i l'equip que va formular la consulta, guardarà la resposta a la cache amb la ip i la MAC (IP/MAC).

L'important és que aquests paquets són enviats a tots els equips de la xarxa, independentment de si la xarxa està connectada mitjançant un switch o un hub.

L'arp-spoofing funciona manant consultes i respostes arp especialment creades.

De nou a la nostra minired, si l' equip 3 mana respostes a l'equip 1 amb la informació IP/MAC manipulada, pot enganyar-lo i aconseguir que si surt alguna informació des de 1 cap a 2, aquesta vagi en realitat cap a 3, i per tant ens trobem de nou l'equip 3 pot interceptar tota la comunicació entre 1 y 2 encara que la xarxa disposi d'un switch.

Hem dit una mica més amunt “respostes arp especialment creades”, què contindrien aquestes respostes? simplement, l' equip 3 construiria una resposta en què el contingut IP/MAC fos 2.2.2.2/MAC3 (per suposat en la realitat això és més complicat, però crec que queda clar el funcionament), i l'enviaria a l'equip 1, per exemple, d' aquesta manera aquesta resposta queda guardada a la catxe de 1, i creurà que a la ip 2.2.2.2 li correspon la MAC3 en comptes de la MAC2 ( a això se l'anomena enverinament ARP).

ETTERCAP

Què és?
Segons els seus autors:
Ettercap és un sniffer/interceptor/logger per a xarxes LAN amb switchs, que suporta la dissecció activa i passiva de molts protocols (fins i tot xifrats) i inclou moltes característiques per a l' anàlisi de la xarxa i del host (amfitrió).
Entre les seves funcions, les més destacades són les següents:
*Injection de caràcters en una connexió establerta emulant comandaments o respostes mentre la connexió està activa.
*Compatibilitat amb SSH1: Pot interceptar users i passwords fins i tot en connexions “segures” amb SSH.
*Compatibilitat amb HTTPS: Intercepta connexions mitjançant http SSL (suposadament segures) fins i tot si s'estableixen a través d'un proxy.
*Intercepta trànsit remot mitjançant un tunel GRE: Si la connexió s' estableix mitjançant un tunel GRE amb un router Cisco, pot interceptar-la i crear un atac “Man in the Middle”.
*”Man in the Middle” contra tuneles PPTP (Point-to-Point Tunneling Protocol).
Suport per a Plug-ins.

Llista de plugins:
Col·lector de contrasenyes 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.
Filtratge i substitució de paquets.
OS fingerprint: és a dir, detecció del sistema operatiu remot.
Mata connexions.
Escaner de LAN: hosts, ports oberts, serveis…
Busca altres enverinaments a la mateixa xarxa.
Port Stealing (robatori de ports): és un nou mètode per a l'sniff en xarxes amb switch, sense enverinament ARP”.

Aquesta info està treta de la pàgina oficial de l'Ettercap i ens dona una idea del potent que és aquesta eina.

Instal·lació a Linux:
La isntalació és molt senzilla, la versió de la qual vaig parlar en endavant és la 0.6.b, primer ens baixem l'arxiu des del web oficial
http://ettercap.sourceforge.net/index.php?s=download
(Existeixen també els rpm, però no te'ls recomano, perquè no porten tots els plugins que porta l'arxiu tar, almenys el que jo he provat)
Un cop descarregada, la descomprimim:

tar -zxvf ettercap-0.6.b.tar.gz

anem a la carpeta en la qual s'ha descomprimit:

cd ettercap-0.6.b

i comencem:

./configure

si tot va bé tenim diverses opcions de make, jo us recomano que ho instal·lis tot, per a això posa's:

make complete_install

i ja està isntalat.

Si aneu a usar les opcions de SSH1 o HTTPS són necessàries les llibreteres OpenSSL ( http://www.openssl.org ) si no les teniu ja instal·lades

Instal·lació a Windows:
Com a gran part dels programes pensats per a Linux, és possible fer-los córrer a Windows gràcies al cygwin (http://cygwin.com/setup.exe).

Però també hi ha una distribució específica per a Windows, podeu baixar-la des de:
http://sourceforge.net/projects/ettercap/

El que prefereixi instal·lar a Windows el paquet per a linux està de sort, el paquet conté un arxiu cridant README. WIN32 en què expliquen els passos que haureu de seguir.

Usant l'Ettercap:
Abans de començar amb l'Ettercap hem de configurar el nostre sistema perquè accepti tots els paquets que detecti, per a això, obrim una terminal i escrivim:

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

per comprovar si el ip_forward està en 1 ó 0 (activat o desactovat) podem utilitzar aquest comandament:

cat /proc/sys/net/ipv4/ip_forward

i la resposta hauria de ser un 1.

Per fer el mateix a Windows hem d'anar al registre, a la cadena:

HKLMSYSTEMCurrentControlSetServicesTcpipParameters

i en el valor IPEnableRouter posem un 1 en comptes d' un 0.

Ara amb el ip_forward activat i l'Ettercap instal·lat, l'executem en una terminal (amb dimensions superiors a 80×25) i veiem que el primer que fa és buscar tots els equips de la nostra xarxa, quan acaba, ens apareix una pantalla en la qual apareixen dues columnes amb les IPs en contrades a la nostra xarxa, a la columna de l'esquerra se selecciona (movent els cursors i polsant enter) l' equip “origen” que es vol espiar, i a la de la dreta l'equip “destinació”, perquè ens entenguem, suposem que a la xarxa on estic hi ha un switch que connecta el gateway (172.26.0.1) amb la resta dels equips, en el moment de les captures hi ha 2 equips encesos el 172.26.0.2 i el 172.26.0.4.

El meu equip és el 172.26.0.4 i vaig tractar d'interceptar tota la informació que intercanvia l'equip 172.26.0.2 amb internet, és a dir, la que envia i rep del 172.26.0.1 a través del switch, així que selecciono a la primera columna l'equip 172.26.0.2 i en la segona el 172.26.0.1, això és el que veurem:


Si posem F1 veurem el menú d'ajuda (tots els menú posseeixen la seva pròpia ajuda, i sempre pots accedir polsant F1):


Veiem que hi ha 3 modes de sniffing:
Enverinament ARP -> polsant 'a’ o 'A’
Sniffing a les IPs -> polsant 's’ o 'S’
Sniffing a les MAC -> polsant 'm’ o 'M’

En el nostre cas polsarem 'a', però hi ha més coses interessants, per accedir als plugins cal polsar 'p’ o 'P’ , per esbrinar el sistema operatiu dels equips de la xarxa polsarem 'f’ o 'F', també podem editar les capçaleres dels paquets polsant 'x’ o 'X', etc.… en fi això ja és cosa vostra.
Vam activar els plugins que volem fer servir, per a això posem 'q’ (quit) per sortir de l'ajuda i ara posem la 'p', aquest és el menú que veiem:


Si baixem amb el cursor veiem que tenim 34 plugins instal·lats (els tenim perquè durant la instal·lació vam posar 'make complete_install’ i això inclou els plugins), no els vaig explicar un per un, perquè cadascú té una definició suficientment descriptiva, i perquè sens dubte sorgiran molts més.
L' elecció dels plugins a utilitzar depèn de les necessitats de cada cas, però tinc cura perquè alguns són atacs DOS i poden ser perillosos, per a la integritat de la xarxa LAN.
Amb el cursor et mous per la llista i per seleccionar el que vulguis activar polses 'enter', el plugin quedarà marcat amb una 'A'.
Alguns estan marcats amb una 'E', aquests són d' execució independent, és a dir, no se seleccionen, s'executen al polsar 'enter'.
Si tens dubtes, per provar, selecciona els que posi '…password…’ 😉
En aquest exemple jo actiu els següents: H13_giant2, H20_dwarf, H30_thief (és més del que necessito per interceptar contrasenyes i correus)
Per veure des de la línia de comandaments quins plugins tens instal·lats escriu en una terminal: 'ettercap -Np list’ i per executar-ne un en concret 'ettercap -Np nombre_del_pluging host'.
Hi ha molt més a saber sobre els plugins, per això llegeix l'arxiu 'README. PLUGINS', i si tens algun dubte sobre l'ús d'algun plugin, cadascú es troba en una carpeta amb el seu nom dins de la carpeta 'plugins', i alguns juntament amb el seu corresponent HOWTO.
Surto del menú de plugins (polsant 'q') i començament a capturar, en aquest cas a causa del switch polsant l'a’ (enverinament ARP), i això és el que es veu:


Veiem que queda detallat l'estat en què es troba cada comunicació etablerta (ACTIVE, CLOSED, KILLED…) i el tipus o protocol (http, domain…)
A la part de dalt veiem que informació sobre la sessió que hem configurat, en aquest cas els fitres estan desactivats (Filter: OFF) i la captura de passwords anctiva (Active Dissector: ON) i el tipus d'sniff és ARP.
Podem obrir l'ajuda (F1) per veure tot el que podem fer.
Polsant 'enter’ sobre qualsevol línia podem fer un sniff a la connexió seleccionada, si aquesta es troba activa (ACTIVE) veurem com en el quadre de l'esquerra apareix l'enviat per l'equip objectiu i en el de la dreta l'enviat des de l'equip remot a l'equip objectiu.
Aquesta és la captura:

i heu de trobar els passwords aquí? No, l'Ettercap és molt llest, i facilita el treball, desvetllant els user i password que troba, a la part baixa de la finestra, quan seleccionem la connexió en la qual es troben.
Per exemple, aquesta és la captura del password de hotmail quan algú es connecta al seu correu via web:


com veieu avall es veu l'user, el pass i la URL en la qual es van utilitzar. Fixar-vos bé que la connexió és https (teòricament segura).
Tot i que no tot resulta tan bonic, aquesta és la captura d'un inici de sessió del MSN:


Com veieu no ens dóna el password en text pla (logicament), però… i el robatori de sessions? mmmmm, no se no es, bo això és un tema llarg, per a una altra vegada 🙂
En fi, quan et canses, polses 'l’ o 'L’ i es guarden en un log totes les contrasenyes capturades.
Bo, crec que com a exemple ja és suficient, queden moltes coses per veure, per exemple les captures de POP, FTP, TELNET, IRC … , l'edició manual de les capçaleres dels paquets enviats, els filtres (que permeten capturar i editar cadenes “al vol”, etc.… però això et toca a tu.
Com veus, tot aquest text, més que un manual, és una presentació, presa de contacte, o anomena-ho com vulguis, espero que almenys hagi servit per ampliar una mica els conements d'algun sobre aquestes tècniques que s'estan d'actualitat.


Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!