Using the Metasploit Framework
Overview
En principio se explica qué es Metasploit y cómo utilizarlo para realizar pruebas de seguridad. Esta herramienta cuenta con una gran cantidad de módulos que automatizan la explotación de un sistema. A lo largo de sus secciones, vamos viendo componentes y funcionalidades clave de Metasploit, como los plugins, los payloads, los encoders, los scripts, etc.
Tiene unos cuantos ejercicios para poner en práctica lo visto. De esta forma aprendà a buscar exploits para una vulnerabilidad o un servicio en concreto, seleccionar el módulo, ver información adicional sobre ese módulo, especificar el target, lanzar el exploit y entablar una shell.
Una cuestión sobre la que se enfatiza desde el principio es la importancia de tomar a Metasploit o cualquier otra herramienta automatizada como una herramienta más y asà evitar caer en una visión en túnel que nos lleve a pensar que "si la herramienta no puede hacerlo, entonces yo tampoco puedo".
Introduction to Metasploit
Esta primera parte cuenta con dos preguntas teóricas:
¿Qué versión de Metasploit viene equipada con una interfaz GUI?
Se trata de Metasploit Pro
.
¿Qué comando se usa para interactuar con la versión gratuita de Metasploit?
El comando es msfconsole
.
Modules
El ejercicio de esta sección consiste en utilizar Metasploit para explotar la máquina vÃctima con el EternalRomance y encontrar el archivo flag.txt en el escritorio del usuario Administrator. Se trata de una máquina Windows.
Primero desplegamos el target y la Pwnbox. Luego, iniciamos Metasploit con el comando msfconsole
y buscamos por la vulnerabilidad EternalRomance con search
.
Tenemos dos resultados, vamos a utilizar el primer exploit que está identificado con el número 0.
Con el comando show options
podemos ver qué información necesitamos pasarle para poder ejecutarlo.
En este caso, vamos a pasarle nuestra IP de atacante como LHOST y la IP de la máquina vÃctima como RHOST.
Para obtener nuestra IP, ejecutamos un ifconfig
y nos quedamos con la interfaz tun0 que corresponde a la VPN de HTB.
Una vez hecho esto, corremos el exploit con run
y obtenemos una sesión de Meterpreter.
Retrocedemos dos directorios hacia atrás para llegar a la raÃz y listamos el contenido.
Nos movemos al directorio Users y volvemos a ver qué hay dentro.
Nos metemos al directorio del usuario Administrator.
Luego nos metemos a Desktop, donde podemos ver la flag.
Payloads
En este otro ejercicio, tenemos que explotar el servicio Apache Druid y encontrar la flag.txt. A diferencia de la anterior, esta es una máquina Linux.
De nuevo, arrancamos Metasploit con msfconsole
.
Buscamos por vulnerabilidades asociadas al Apache Druid y seleccionamos el primer exploit.
Revisamos lo que nos solicita el exploit con show options
.
Indicamos el LHOST y el RHOST.
Y finalmente corremos el exploit con run
.
Nos movemos al directorio raÃz y visualizamos la flag.
Sessions & Jobs
La máquina corre una aplicación web especÃfica que podemos determinar mirando su código fuente. Para eso, lanzamos un cURL a la IP, en el title vemos el nombre de la aplicación: elFinder
.
Ahora hay que encontrar un exploit en MSF para obtener una shell. Iniciamos Metasploit y buscamos por vulnerabilidades de elFinder.
En este caso, probamos con el exploit 3, vemos sus opciones.
Configuramos el LHOST y el RHOST:
Corremos el exploit con run
y obtenemos la sesión de Meterpreter.
Ejecutamos el comando shell
para que nos otorgue una consola. Obtenemos la shell como el usuario que estaba corriendo el servicio web: www-data
.
El sistema tiene una versión antigua de sudo, tenemos que encontrar el exploit correspondiente para escalar privilegios y convertirnos en root.
Lo primero que hice fue averiguar la versión de sudo.
Luego puse la sesión en segundo plano con CTRL + Z. Con sessions
se pueden listar las sesiones que están abiertas.
Busqué vulnerabilidades para esa versión en concreto de sudo.
Con show options
revisé qué información necesitaba para lanzar este módulo post-explotación.
Tuve que indicar la sesión y el LHOST.
Lancé el exploit.
Y me otorgó una shell como root.
Retrocedà un directorio para llegar a la raÃz y listé el contenido.
Me movà al directorio root y ahà estaba la flag.
Meterpreter
Tenemos que encontrar un exploit que nos permita ganar acceso al sistema, no tenemos más información que esa. Asà que lo más conveniente es lanzar un escaneo de puertos con nmap para ver qué servicios están expuestos y cuáles pueden tener vulnerabilidades.
En el puerto 5000 me llamó la atención que estuviera FortiLogger. Busqué información y resulta que es una herramienta desarrollada por Fortinet que se utiliza comúnmente para el monitoreo y la generación de informes de eventos en entornos de seguridad de red.
Accedemos al servicio web por un navegador y nos encontramos con un panel de inicio de sesión.
Probamos credenciales tÃpicas, de las cuales admin:admin
resultan ser correctas.
Asà se ve la interfaz; si hacemos click en el Ãcono de información que está enmarcado, veremos la versión.
Busqué vulnerabilidades asociadas a esta aplicación con Metasploit y encontré una.
Estos son los requerimientos para lanzar el exploit.
Añadà el LHOST y el RHOST.
Corrà el exploit y obtuve una shell como el usuario NT AUTHORITY\SYSTEM
.
Lo que queda es encontrar el hash NTLM para el usuario htb-student. Para eso, desde Meterpreter ejecuté este comando:
El hash NTLM es el siguiente: cf3a5525ee9414229e66279623ed5c58
.
Last updated