Mostrando entradas con la etiqueta bruteforce. Mostrar todas las entradas
Mostrando entradas con la etiqueta bruteforce. Mostrar todas las entradas

martes, 8 de marzo de 2011

Bruteforceando con Metasploit


Hace unos días escribía una pequeña entrada sobre los scripts de Nmap para hacer ataques por diccionario. Si bien es cierto que están muy muy bien, hay una pequeña carencia básica: nos falta SSH entre la lista de servicios incluidos para atacar por diccionario. Si no podemos con Nmap, podemos tirar de otra solución esencial en la caja de herramientas de un pentester: Metasploit.

La versión 3.4, presentada en Mayo 2010, ya tenía un conjunto estable de scripts para esta tarea, incluyendo SSH. Usarlo es sencillo, con unos pocos comandos en msfconsole es suficiente:
  • Ver la lista de scripts para atacar la autenticación de servicios. Podemos ver el script ssh_login entre la lista de los módulos auxiliares: search login
  • Lo seleccionamos: use auxiliary/scanner/ssh/ssh_login
  • Indicamos la máquina a atacar: set RHOSTS [IP]
Ahora tenemos que dar la lista de usuarios y contraseñas a utilizar para la prueba. Tenemos muchas posibilidades, que podemos listar con el comando show options, por ejemplo dar un listado de nombres de usuario y contraseñas en un fichero, con el formato [USUARIO espacio PASSWORD] en cada línea. Una prueba sencilla es elegir un nombre de usuario y un fichero con un listado de passwords posibles.
  • Indicamos el nombre de usuarios que queremos atacar: set USERNAME [NOMBRE]
  • Indicamos el fichero de passwords a utilizar: set PASS_FILE [RUTA_FICHERO]
  • Si no queremos ser molestados con cada intento de autenticación fallido, indicamos que no los imprima en la consola: set VERBOSE false . Al menos para probar, deberíamos ver qué está haciendo el script... por lo que yo no lo pondría.
  • ¡Atacamos!: run
Cuando tengamos éxito, veremos un mensaje de confirmación con la palabra "success" en la consola ;) .
  • Para ver las sesiones que tenemos activas: sessions -l
  • Para entrar en una: sessions -i [NUM_SESION]

¡Éxito!

Fácil, ¿no?.

Existen muchísimas herramientas para algo tan sencillo como un ataque por fuerza bruta o diccionario contra un servicio en red. Algunos ejemplos son la veterana y recientemente reactivada Hydra, la increíble Medusa, ncrack (otra solución de la suite nmap para el tema de la fuerza bruta), Nix, o las que tienes en kits de pentesting como Inguma. Pero no nos hace falta complicarnos la vida buscando, las utilidades más esenciales son suficientes ;) . Otro tema, por cierto, es de dónde sacar diccionarios para probar, podemos hacerlo por ejemplo de los recursos que nos ofrece DragonJar. ¿Qué usas tú?.

Slds!

Si te gustó esta entrada, quizás quieras suscribirte al blog por RSS, seguirlo en Twitter, o

sábado, 26 de febrero de 2011

bruteforceando


"Bruteforceando" es una bonita palabra que he escuchado muchas veces, para hablar de ataques por fuerza bruta, es decir, el método que consiste en probar todas las combinaciones posibles de aquello que queramos crackear, para ver con qué combinación acertamos. Lo usaremos normalmente para obtener el usuario y password con el que entrar a un sistema. Pues de esto va esta entrada: de una herramienta de toda la vida que ahora tiene esta posibilidad, Nmap.

En la versión 5.50, anunciada hace un mes más o menos, se incluye una buena cantidad de scripts para hacer este tipo de ataques contra sistemas y protocolos variados (ssh, http, oracle, ms-sql, mysql, svn, vnc, apple filing protocol y muchos otros). NOTA: Siendo estrictos, realmente lo que hacen son ataques por diccionario, y no un ataque por fuerza bruta, pero bueno, la categoría establecida para este tipo de scripts se llama "brute"...

Se puede obtener el listado completo de scripts que implementan esta funcionalidad con el comando nmap --script-help "*-brute" :

Listado de scripts de la categoría "brute"

Y podemos ver que efectivamente funcionan (prueba de ataque por diccionario contra un servidor telnet en mi red):

Un ataque sencillo parece que funciona

Para hacer esto dispone de dos bibliotecas sencillas (brute y unpwdb), que nos permiten hacernos nuestros propios scripts para bruteforcear sin tener ni idea de programación en Lua (el lenguaje con que están implementados los scripts de nmap). La documentación de ambas bibliotecas explican de forma sencilla cómo hacer un script que las utilice. Y si no se entiende, pues basta con echar un vistazo a cualquier script que las utilice, por ejemplo http-brute o http-form-brute. Por no necesitar, ni tenemos que buscar un diccionario de passwords, ya que dispone de un diccionario con los 5000 usuarios y passwords más utilizados, actualizado recientemente por cortesía (es un decir) de Gawker.com.

Si te gustó esta entrada, quizás quieras suscribirte al blog por RSS, o seguirlo en Twitter