sábado, marzo 21, 2015

Participa en Foro Ciber Security de ASLAN 2015 [Madrid]

Durante los días 14 y 15 de Abril de este año, tendrá lugar en Madrid el foro tecnológico ASLAN 2105. Dentro del mismo participaremos desde Eleven Paths como parte del foro de Ciber Security que se ha organizado, con una charla que daré yo y con un panel de debate en el que participaremos varios ponentes.

Figura 1: ASLAN 2015

La feria durará dos días, y éste es el planing para el foro de Ciber Security. La lista de ponentes completa la puedes ver el siguiente enlace [Ponentes ASLAN 2015] y la lista de todos los foros que se realizarán allí en este otro [Foros ASLAN 2015]

Figura 2: Foros tecnológicos en ASLAN 2015

Para asistir a este evento es necesario registrarse. Tiene un pase gratuito, que puedes solicitar hoy mismo desde la web. Puedes registrarte online en el siguiente enlace: Registro ASLAN 2015.

Saludos Malignos!

viernes, marzo 20, 2015

Un HASH MD5 en la password no sustituye a SSL

En muchas auditorías de nuestro servicio de Pentesting Persistente Faast nos hemos encontrado con paneles de login que utilizan elementos criptográficos diseñados por ellos para securizar el envío de credenciales por la red. Inventar sistemas de estas características cuando ya hay sistemas de cifrado de comunicaciones digitales probados y testados, no suele ser una buena idea. Hay que decir que en ocasiones esto se hace para evitar el despliegue de un sistema de SSL, y por tanto, además, estas conexiones viajaban por el protocolo HTTP, lo que permite que simplemente con un sniffer se puedan obtener los datos necesarios para descifrar la información que es enviada. Uno de los casos con los que nos encontramos auditando fue, precisamente, como el indicado anteriormente, algo que como vamos a ver que no es una buena opción de seguridad.

Figura 1: Un HASH MD5 en la password no sustituye a SSL

En este caso el usuario viaja en texto plano - aunque también se hasheaba en MD5 con una salt  - mientras que la contraseña es hasheada en MD5, después se concatenaba con un salt, para después volverse a hashear en MD5. A continuación se puede ver un sitio web que realiza el login de la forma indicada anteriormente. Podemos ver que el código fuente del sitio web cumple con el patrón md5(md5($pass).$salt), por lo que sabemos cómo se genera el hash enviado por la aplicación. ¿Esto sirve? Realmente no nos servirá de mucho, ya que con un simple sniffer y encontrándonos en medio de la comunicación tenemos los hashes y la salt, por lo que podemos realizar fuerza bruta o un ataque de diccionario. Además, MD5 no es un sistema que a día de hoy se pueda considerar robusto, así que aunque la password sea compleja acabará saliendo con algo más de tiempo. Simplemente ojeando el código Javascript del sitio web tenemos a nuestro alcance cuál es el procedimiento que utilizamos para hashear y después enviar la contraseña.

Figura 2: Código para hashear la password

El salt viaja en una conexión no segura por lo que podremos interceptarla en un ataque, por ejemplo, de MiTM. Por otro lado, podemos ver como el patrón para generar el hash del usuario es md5($user.$salt), por lo que éste es más sencillo, y además en el mismo paquete viaja el usuario en texto plano, por lo que es fácil comprobar que encaja.

Cómo atacar este sistema de cifrado

Realizando un ejercicio básico rápido iniciamos sesión con el usuario pepe y la contraseña ‘123456’, la cual es una de las más utilizadas por muchos usuarios en el mundo, y por tanto debe existir en cualquier diccionario para ataques de fuerza bruta. Configuramos Firefox para pasar por un proxy, que en este caso será nuestro ZAProxy con el fin de poder observar los datos que estamos enviando. En un escenario real, por ejemplo una auditoría, podríamos capturar esta información a través de Wireshark, y cualquier herramienta para hacer ataques en redes de datos como para realizar un esquema de ARP Spoofing sobre la víctima o cualquier otro de los ataques que hace Evil Foca.


Figura 3: Capturando los datos con ZAProxy

Una vez capturados los datos, podemos utilizar cualquier servicio online que genere MD5 con salt para verificar que teniendo la semilla es cuestión de tiempo. Un servicio que permita crackear un hash MD5 con semilla nos proporcionará diversas configuraciones. En la siguiente imagen podemos ver uno que nos ofrece distintas posibilidades típicas de aplicaciones web que podemos encontrarnos en Internet.

Figura 4: Cracking de hashes MD5 con distintas funciones de anidación

Como se puede ver se utilizan diferentes formas de hashing, aunque al final es posible realizar un ataque de fuerza bruta conociendo el salt y teniendo los hashes.

Autor: Pablo Gonzalez Pérez (@pablogonzalezpe)
Project Manager en Eleven Paths

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares