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

2 comentarios:

Anónimo dijo...

Que tal amigo comunicate conmigo al jtoror@gmail.com Gracias.

des dijo...

Estimado anónimo,

Tienes la dirección de contacto de este blog... en el propio blog en el que me has dejado tu comentario.

Para cualquier cosa que necesites, no dudes en escribirme.

Slds!