Pentesting Introduccion Metasploit

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Metasploit: introducción al pentesting » Hacking Lethani https://hackinglethani.

com/es/metasploit-introduccion-al-pentesting/

Metasploit: introducción al pentesting » Hacking


Lethani

por Lethani

Metasploit es un proyecto open source creado por H.D Moore que facilita la explotación de
vulnerabilidades de seguridad en los tests de intrusión.

Está dividido en módulos que implementan distintas funcionalidades, de forma que es


extremadamente sencillo incrementar las funciones de la herramienta.

Metasploit tiene 4 interfaces distintas: msfconsole, msfcli, Armitage y web. Sin embargo, en
este post me centraré en explicar la más utilizada, la consola de comandos de metasploit
msfconsole.

Acceder a ella es muy sencillo, basta con levantar la base de datos y escribir en la terminal
msfconsole. Tanto Kali como Parrot la traen instaslada (si aún no te has decidido por un
sistema operativo, quizá deberías leer este post):

Pero antes de empezar, comentar que metasploit dispone de un conjunto de herramientas que
se pueden lanzar independientemente, sin necesidad de tener que cargar todo el framework para
utilizarlas. A continuación expongo un breve resumen de las más importantes:

Unifica las herramientas Msfpayload y Msfencode.

Msfpayload permite la generación de shellcodes en distintos lenguajes de programación, así


como la creación de ejecutables que inyecten código malicioso en el objetivo.

Msfencode impide a los IDS, antivirus, etc. la detección del archivo (payload) que hayamos
creado con Msfpayload. A grandes rasgos, es un ofuscador.

Msfpescan escanea exes o DLLs de Windows para conseguir el código máquina, mientras que
msfelfscan lo hace en aplicaciones ELF de Linux.

1 de 6 11/10/2023, 12:25
Metasploit: introducción al pentesting » Hacking Lethani https://hackinglethani.com/es/metasploit-introduccion-al-pentesting/

Se utiliza para el desarrollo de exploits. Analiza un binario y devuelve los gadgets utilizables.

Permite crear un demonio de Metasploit que quede a la escucha de un puerto, y que se pueda
conectar un cliente mediante netcat.

En proximos posts hablaré sobre estas herramientas en específico, dado el tremendo potencial que
tienen algunas como msfvenom.

Terminología

Antes de continuar, voy a explicarte algunos términos clave a la hora de realizar un pentesting.

En primer lugar, entendamos qué es un exploit. Un exploit es un código que permite a un


atacante explotar una vulnerabilidad. Está formado por dos partes: el código malicioso y el
payload.

El código malicioso va a ser aquel que explote cierta vulnerabilidad que tenga un sistema. El
payload es el que establece una conexión entre atacante y víctima.

Hay tres tipos de payloads. En primer lugar, tenemos los payloads de tipo single. Estos realizan
tareas concretas, como pueden ser crear un usuario, ejecutar un comando, o hacer un bind a una
shell. En segundo lugar, encontramos los payload de tipo stagers. Estos se emplean para crear
una conexión entre víctima y atacante. Se usan para cargar en la víctima el tercer tipo de payloads,
los de tipo staged. Por último, los payload de tipo staged se usan para realizar tareas complejas,
como crear una consola meterpreter (una shell especial que te permite realizar muchas más
acciones que una normal).

En definitiva, la elección del payload correcto es vital, y de ello dependerá que el exploit
tenga éxito o no. Sin embargo, cabe destacar que hay otros módulos de tipo «auxiliary» que
pueden ser ejecutados por metasploit y no precisan utilizar payload.

Por otro lado, existen bastantes páginas que enumeran exploits. Entre ellas, podemos
encontrar 0day.today, exploit-db o rapid7.

En estas páginas podemos encontrar los últimos exploits conocidos para los distintos sistemas. Sin
embargo, al ser la explotación de vulnerabilidades la tercera etapa de una auditoría (precedida por
la recolección de información y el análisis de vulnerabilidades) no será de extrañar encontrarnos
con que el sistema tiene algunas vulnerabilidades con CVE.

El CVE (Common Vulnerabilities and Exposures) es el estándar que lista las


vulnerabilidades conocidas. Sea cual sea la vulnerabilidad que quieras explotar, es casi seguro que
tiene un CVE asociado. Y al utilizar programas como nmap, es probable que descubras estos
códigos. Pues bien, una página muy interesante para saber a qué vulnerabilidad corresponde un
CVE, que grado de riesgo (o CVSS) tiene, qué se necesita para explotarlo, y mucho más, es
cvedetails. Hay otras páginas que contienen esta información, pero lo bueno de cvedetails es que
en cada vulnerabilidad te indica qué módulo de metasploit debes utilizar para explotarla:

2 de 6 11/10/2023, 12:25
Metasploit: introducción al pentesting » Hacking Lethani https://hackinglethani.com/es/metasploit-introduccion-al-pentesting/

Comandos básicos

Comando Descripción
db_status Para ver el estado de la base de datos
db_import Importa el escaneo a la base de datos
hosts Muestra los hosts
services mMuestra los servicios de cada puerto
vulns Muestra las vulnerabilidades
creds Muestra las credenciales
search Busca todos los exploits que tengan que ver con «term»
use Para utilizar el exploit .

Tras escoger un exploit, podremos aplicar los siguientes comandos:

Comando Descripción
> info Te da información sobre ese exploit

3 de 6 11/10/2023, 12:25
Metasploit: introducción al pentesting » Hacking Lethani https://hackinglethani.com/es/metasploit-introduccion-al-pentesting/

Comando Descripción
> show Todos los exploits deben ir adheridos a un payload. Este comando muestra los
payloads payloads que hay para ese exploit. Sin embargo, no es necesario para los
auxiliares.
> set payload Selecciona el payload para el exploit actual.
> show Te muestra lo que tienes que rellenar para lanzar con éxito ese exploit. Lo que
options aparezca aquí como obligatorio y esté vacío, es indispensable rellenarlo para
ejecutar exitosamente el exploit.
> set rhost Ejemplo de como rellenar las options necesarias para lanzar un exploit. En este
8.8.8.8 caso, se especifica el host remoto.
> set cmd ls Se especifica para un exploit y payload determinados que el comando a lanzar
es «ls».
> exploit Lanza el exploit.
> run Cuando lo que se ejecuta es un exploit auxiliar, hay que escribir run para
ejecutarlo, en lugar de «exploit».
> unset Elimina la información asociada a la opción «option».

Estos son los comandos más interesantes, pero podemos obtener un listado completo de comandos
escribiendo «help«.

A continuación, a modo de PoC mostraré un ejemplo simple en el que utilizo metasploit para
obtener una shell en un windows server 2008 en el que descubrí que se podía explotar la
vulnerabilidad CVE-2017-0144, más conocida por su sobrenombre «EthernalBlue«:

PoC: Obtener una shell con metasploit

En primer lugar, al investigar sobre esta vulnerabilidad descubrimos que afecta a los sistemas que
emplean SMB 2. Así que procedí a utilizar el módulo auxiliary/scanner/smb/smb2, para
averiguar si la máquina victima lo soportaba.

A continuación, y para estar seguros, ejecuté otro módulo auxiliar que indica si la versión es apta
para esa vulnerabilidad.

4 de 6 11/10/2023, 12:25
Metasploit: introducción al pentesting » Hacking Lethani https://hackinglethani.com/es/metasploit-introduccion-al-pentesting/

¡Lo es! Por tanto, procedemos a explotarlo, con el exploit «exploit/windows


/smb/ms17_010_eternalblue«:

Y listo. Como podemos observar, hemos conseguido una shell en la máquina víctima
gracias a metasploit.

Esto ha sido una pequeña prueba de concepto que he realizado para poder enseñarte el uso básico
de metasploit. No obstante, en un entorno real no hubiera sido tan fácil. Metasploit tiene
muchísimas funcionalidades más que he tenido que dejar en el tintero porque no tenían cabida en
un post de introducción.

Por no hablar de que ahora que hemos conseguido una shell, tendríamos que pasar a la
postexplotación: la escalada de privilegios, el pivoting y las puertas traseras. Pero eso
lo dejo para futuros posts.

5 de 6 11/10/2023, 12:25
Metasploit: introducción al pentesting » Hacking Lethani https://hackinglethani.com/es/metasploit-introduccion-al-pentesting/

Lethani.

6 de 6 11/10/2023, 12:25

También podría gustarte