💣Lab de explotación
Nota: Este tipo de técnicas son muy invasivas, ya que vamos a ganar acceso a distintos sistemas, por lo que no podemos utilizar estas técnicas sin un consentimiento o aprobación por parte del objetivo
Introducción
Necesitamos poner a prueba nuestras nuevas habilidades para crear y entregar payloads, adquirir un shell interactivo en Windows y Linux, y cómo explotar una aplicación web. Complete los objetivos a continuación para finalizar el contrato.
Guión
El equipo de CAT5 nos ha asegurado un punto de apoyo en la red de Inlanefreight
. Nuestra responsabilidad es examinar los resultados del reconocimiento que se ejecutó, validar cualquier información que consideremos necesaria, investigar lo que se puede ver y elegir qué exploits, payloads y shells se utilizarán para controlar los objetivos. Necesitaremos ingresar al host base por RDP
y realizar las acciones necesarias desde allí. A continuación encontrarás las credenciales, direcciones IP y otra información que puede ser necesaria.
Objetivos
Demostrar tus conocimientos sobre cómo explotar y recibir un shell interactivo desde un
Host o Servidor Windows
Demostrar tus conocimientos sobre cómo explotar y recibir un shell interactivo desde un
Host o Servidor Linux
Demostrar tus conocimientos sobre cómo explotar y recibir un shell interactivo desde una
Aplicación Web
Demostrar tu capacidad para identificar a quién tiene acceso como usuario a un
entorno de shell
en el host de la víctima.
Completa los objetivos respondiendo las preguntas del desafío.
Credenciales y otra información necesaria
Foothold:
Dirección IP:
10.129.126.181
Credenciales:
htb-student
/HTB_@cademy_stdnt!
Puede ser utilizado por RDP.
Conectividad al Foothold
Para acceder al entorno del laboratorio de Evaluación de habilidades será necesario el uso de XfreeRDP para proporcionar acceso GUI a la máquina virtual. Puede iniciar el cliente XFreeRDP
escribiendo lo siguiente en su shell una vez que se genera el objetivo:
Puede encontrar los target IP
, Username
y Password
necesarios a continuación:
IP
== 10.129.126.181Username
== htb-studentPassword
== HTB_@cademy_stdnt!
Una vez que inicie la conexión, se le pedirá que ingrese nuevamente las credenciales proporcionadas en la ventana que ve a continuación:
Iniciar sesión XFreeRDP
Hosts de destino
Los host 1 a 3 serán tus objetivos para este desafío de habilidades. Cada host tiene un vector único para atacar e incluso puede tener más de una ruta incorporada. Las preguntas de desafío a continuación se pueden responder explotando estos tres hosts. Obtenga acceso y enumere estos objetivos.
Necesitarás utilizar la PC Foothold proporcionada. Intentar interactuar con los objetivos desde cualquier lugar que no sea el Foothold
no funcionará. Tenga en cuenta que el host de Foothold tiene acceso a la red interna de inlanefreight ( 172.16.1.0/23
), por lo deberás prestar especial atención a la dirección IP que elijas al iniciar tus listeners.
Pistas
Intenta completar los desafíos por tu cuenta. Si te quedas atascado, consulta los consejos útiles que aparecen a continuación:
Host 1
¿Cuál es el hostname del Host-1?
Acceso básico con xfreerdp al foothold
En el escritorio tenemos credenciales de acceso que podemos utilizar:
Abrimos firefox y entramos a la IP del Host-1 (172.16.1.11:8080
) y nos loguemos con estas credenciales en la parte de Host Manager
En la sección Server Status
conseguimos información relevante de este host y su hostname
:
Explota el objetivo y gana una sesión de shell. Envíe el nombre de la carpeta ubicada en C:\Shares\
En la parte de administración vemos el vector de entrada para subir una webshell en formato WAR
:
Para ello vamos a crear una webshell con msfvenom
con el siguiente comando:
Y vamos a crear un listener con Metasploit usando multi/handler
:
En este punto, subimos la webshell y tenemos que hacer click para recibir la conexión en nuestro listener:
Bingo! Obtenemos la conexión y encontramos la carpeta dentro de C:\Shares
Host 2
¿Qué distribución de Linux se ejecuta en el Host-2?
Concretamente este Host-2 esta usando una distribución Ubuntu de Linux
¿En qué idioma está escrito el shell que se carga cuando se utiliza el exploit 50064.rb?
Vamos a localizar este exploit en nuestro host:
Este exploit está escrito en PHP
Explota el sitio del blog y establece una sesión de shell con el host de destino. Envíe el contenido de /customscripts/flag.txt
Para ello necesitamos importar el exploit 50064.rb
en Metasploit.
Primero, necesitamos encontrar la ruta para colocar este archivo:
Ahora vamos a importalo en Metasploit de la siguiente manera:
Ahora vamos a arrancar el exploit con Metasploit:
En el listado de credenciales obtuvimos las credenciales para la parte del blog, que es lo que estamos explotando en este Host-2, por lo que las proporcionaremos en la parte de options:
Se nos abre correctamente una sesión de Meterpreter y accedemos correctamente al contenido de /customscripts/flag.txt
Host 3
¿Cuál es el hostname de Host-3?
Vamos con el tercer host, con la IP 172.16.1.13
El hostname de este host es: SHELLS-WINBLUE
Explote y obtenga una sesión de shell con el Host-3. Luego envíe el contenido de C:\Users\Administrator\Desktop\Skills-flag.txt
Observamos que es un host windows bastante antiguo, por lo que a simple vista parece vulnerable a EternalBlue. Vamos a testearlo con Metasploit:
Concretamente vamos a utilizar el exploit 1: exploit/windows/smb/ms17_010_psexec
Bingo! Obtenemos la sesión de Meterpreter como SYSTEM
, y podríamos hacer lo que queramos en el sistema.
Última actualización