¡Tu mensaje de bienvenida, twitter o publicidad aquí!

| Suscríbete vía RSS

30 mar 2010

SHAbr, fuerza bruta para SHA-1

| 1 comentarios |

Introducción


Cuando hacemos password guessing, el siguiente paso viene a ser obtener en texto plano el valor de algún elemento cifrado (password cracking). Herramientas para eso hay a patadas, pero el otro día buscando alguna que me permitiera realizar un ataque de fuerza bruta con éxito sobre hashes cifrados con SHA-1 me encontré con SHAbr.

Su creador, Daniel Niggerbrugge ha conseguido optimizar el código hasta el punto de alcanzar un total de 60Mhashes/s. Obteniendo buenos resultados para longitudes inferiores a 16 caracteres (eso dice él... la práctica es otra cosa :P). También permite el uso de varios procesadores y utiliza SSE2 para hashear los valores en texto plano.

El código fuente lo podéis encontrar en su blog, por si queréis echarle un vistazo, así como el binario para plataformas Windows.

Uso


El uso de la aplicación es bastante sencillo: shabr SHA1_hash -c charset
Dónde:

  • SHA1_hash: Es el hash de 40 caracteres.

  • -c charset: Es el juego de caracteres a usar (all, loweralpha, upperalpha, mixalpha, numeric, loweralpha-numeric, upperalpha-numeric, mixalpha-numeric).



Como parámetros opcionales tenemos:

  • -B: Establecemos la prioridad por debajo de lo normal

  • -Q: Indicamos que no nos muestre el proceso mientras se ejecuta

  • -t threads: Cantidad de hilos a usar

  • -l max length: Por defecto 15

  • -m min length: Por defecto 1



Práctica


Pero vamos a la parte práctica y hagamos algunas pruebas:


En este caso hemos pasado al programa el hash correspondiente a la palabra "hola y no ha tardado nada en obtenerla. También han sido 4 caracteres loweralpha, así que no le hemos hecho trabajar demasiado.

Pasando un hash loweralpha-numeric obtenemos el siguiente caso de prueba:



Ha tardado 110.79 segundos en sacar abc123, ocupando un 60% de las posibles combinaciones. No esta nada mal.

Sin embargo en este otro caso:



Las pruebas resultan ser demasiado costosas utilizando un juego de caracteres al completo (minúsculas, mayúsculas, símbolos y números). Va por 6 caracteres y ha tardado 10 minutos en completar un 1% (la contraseña era SHA-1br, puesta a maldad). Quizás deberíamos plantearnos hablar de procesamiento paralelo para agilizar el tiempo de cómputo.

No obstante, puede darse el caso de que realmente resulte inviable el hecho de intentar romper el hash de una contraseña. Recordad que a mayor entropía mayor tiempo de cálculo, y viceversa. Pero aun así en esos casos que necesitéis realizar una auditoría de passwords y os encontréis con SHA-1, recordad a SHAbr.

29 mar 2010

Zenmap, un frontend para Nmap

| 0 comentarios |

Introducción


Aunque sea partidario de la terminal y prefiera no utilizar una GUI para Nmap (los hombres de verdad no la usan, le pese a quién le pese :P), es destacable el trabajo que se han pegado los chicos de Insecure con la aplicación.

En ella nos podemos encontrar:
  • Posibilidad de realizar escaneos preconfigurados, sin necesidad de leerse la documentación (a los flojos os encantará).
  • Exportación de los resultados.
  • Dibujos de la topología de red que analizamos.
  • Entorno de trabajo amigable.


Instalación


Su instalación en Ubuntu es bastante sencilla:
sudo apt-get install nmap zenmap

Y para lanzarla más de lo mismo (si lo haces sin privilegios no tendrá toda su funcionalidad):
sudo zenmap

Uso básico


Algunas de las opciones que trae por defecto para utilizar son

  • Intense scan: Pedimos que haga un análisis rápido, habilitando la detección del SO y su versión, aumentando el nivel de mensajes detallados. También se solicita un análisis detallado a los puertos especificados

  • Quick scan: Realiza un escaneo rápido de una lista de puertos por defecto

  • Slow, comprehensive scan: Quizás la opción más completa de todas, pero la más lenta ya que asume que todo los host están vivos y utiliza algunos scripts para sacar un informe más detallado



No obstante si quieres saber con seguridad lo que aporta cada opción puedes consultar las páginas del man desde una terminal con: man nmap

En caso de querer crearte tus propios perfiles, puedes hacerlo desde la pestaña: Profile > New Profile or Command.


Otras pestañas importantes son la que nos indican los puertos y el estado en el que se encuentran, la que nos proporciona información sobre el host, el sistema operativo sobre el que funciona, y la que se encarga de dibujarnos la topología de red.

Bastante completa como podéis ver, y una buena alternativa para aprender un poco sobre el funcionamiento de las redes y cómo realizar un correcto OS fingerprinting