domingo, 20 de marzo de 2011

Mezclando nmap con metasploit


Coincidiendo con la idea, indicada en Bruteforceando con metasploit y en bruteforceando, de que es mejor tener pocas herramientas que hagan muchas cosas, que no un catálogo enorme y heterogéneo de soluciones que vengan de las fuentes más diversas, leo en Nmap? In my Metasploit? It's more likely than you'd think! que Metasploit puede usar el motor NSE de Nmap dentro de sus propios módulos, y aprovechar la sinergia entre ambos proyectos para conseguir algo mejor.

Aún cuando ya usaba los resultados del análisis de puertos hecho por nmap como mapa (es un decir) para el lanzamiento de exploits, ahora dispondrá de funciones específicas para invocar a un script nse dentro de un módulo de metasploit. El módulo de Metasploit se encargará de cuantas tareas sean necesarias para construir los argumentos con los que invocar al script, y de procesar después los resultados del mismo.

De momento, si descargamos el código fuente de su repositorio svn (tengo la revisión r12033), podemos ver un ejemplo de código hecho en ./msf3/modules/auxiliary/scanner/oracle/oracle_login.rb, que utiliza el script nse de ataques por diccionario contra bases de datos Oracle realizado por Patrik
Karlsson. Para ello se sirve del módulo Msf::Auxiliary::Nmap. Con unas pocas funciones del módulo tenemos la invocación al script nse hecha, en líneas generales viene a ser así:
  1. limpiar el almacén de parámetros pasados a nmap, mediante la función nmap_reset_args
  2. pasar sus parámetros al script nse, mediante la función nmap_append_arg
  3. lanzar nmap: función nmap_run
  4. procesar la salida xml de nmap: función nmap_hosts. Como argumento, esta función debe recibir un puntero a una función nuestra, que se encargará de procesar cada máquina detectada por nmap (en el ejemplo, es la función process_host).
Analizando únicamente el ejemplo, parece una forma sencilla de reutilizar el trabajo hecho en nmap en nuestra solución de explotación favorita, pero quizás no la más eficiente: si queremos usar dos o más módulos de metasploit que llamen a nmap, tendremos que lanzar dos escaneos, (con lo que pueden llegar a tardar). En cualquier caso, es muy de agradecer que esté ahí.

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

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

lunes, 7 de marzo de 2011

La MASA


Un post de apunte rápido (Twitter no vale para todo): Microsoft presentó recientemente una nueva aplicación de seguridad interesante: el Microsoft Attack Surface Analyzer, o MASA. Esta es una solución que sirve para tomar una "foto" de nuestro sistema antes de instalar un software, otra después de instalarlo, y comparar el resultado para ver cuáles han sido las modificaciones realizadas y qué puertas podrían dejar abiertas en nuestro sistema.

Genial para desarrolladores que quieran ver que agujeros podría abrir su software, para los profesionales informáticos que pueden ver qué hará una nueva actualización y evaluar sus riesgos, o incluso para el equipo de respuesta de un incidente de seguridad.

Visto en WindowsTecnico, en Darknet, y en Microsoft Security Development Lifecycle. Descarga para Windows 7 y Windows Server 2008 R2.

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