Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipchocolatelovers.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shchocolatelovers.tar
Info:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarla
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Vemos una pagina normal y corriente, pero si inspeccionamos la pagina veremos lo siguiente en el codigo:
Vemos lo que parece ser un directorio, por lo que entraremos a el.
Veremos un Software, vamos a realizar un poco de fuzzing a ver que encontramos.
Gobuster
Info:
Vemos varias cosas interesantes, entre ellas un /admin.php que si entramos dentro veremos un panel de login, vamos a probar a meter credenciales por defecto:
Veremos que si funciona con las credenciales por defecto, por lo que vamos a ver si este software tuviera alguna vulnerabilidad.
Vemos que si tiene una vulnerabilidad asociada al CVE-2015-6967 que es para subir archivos de forma arbitraria.
Por lo que vemos parece ser que la pagina tiene que tener instalado el siguiente plugin por lo que nosotros lo instalaremos desde el panel de administrador de la siguiente forma.
Escalate user www-data
En Plugins vemos la siguiente seccion:
Por lo que le daremos a instalar y le daremos a Guardar Cambios una vez echo esto ejecutaremos el exploit de GitHub de la siguiente forma:
shell.php
Info:
Vemos que se subio corerctamente, ahora veremos donde se encuentra el contenido del plugin donde se aloja dicho archivo.
Si inspeccionamos el codigo para ver donde lo escribe, veremos que lo guarda aqui:
Por lo que nos iremos a la siguiente URL, pero antes nos pondremos a la escucha.
Y ahora nos iremos a la siguiente ruta:
Y si volvemos a donde tenemos la escucha, veremos lo siguiente:
Veremos que tendremos una shell como el usuario www-data.
Sanitización de shell (TTY)
Escalate user chocolate
Si hacemos sudo -l veremos lo siguiente:
Vemos que podemos ejecutar el binario php como el usuario chocolate, por lo que haremos lo siguiente:
Y con esto veremos que seremos dicho usuario.
Escalate Privileges
Si listamos los procesos de la maquina veremos lo siguiente:
Info:
Vemos la siguiente linea bastante interesante:
Por lo que vemos root esta ejecutando de forma continua con 5 segundos de descanso el script que esta en /opt el cual podremos modificar, por lo que haremos lo siguiente:
Esperamos unos 5 segundos y si listamos la bash.
Info:
Vemos que ha funcionado, por lo que haremos lo siguiente:
Y con esto ya seremos root por lo que habremos terminado la maquina.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-27 11:45 EST
Nmap scan report for 172.17.0.2
Host is up (0.000059s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.41 (Ubuntu)
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 7.13 seconds
if res && /Call to a member function getChild\(\) on a non\-object/ === res.body
fail_with(Failure::Unknown, 'Unable to upload payload. Does the server have the My Image plugin installed?')
elsif res && !( res.body.include?('<b>Warning</b>') || res.body.include?('warn') )
fail_with(Failure::Unknown, 'Unable to upload payload.')
end
Unable to upload payload. Does the server have the My Image plugin installed?
listening on [any] 7777 ...
connect to [192.168.60.128] from (UNKNOWN) [172.17.0.2] 34952
whoami
www-data
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>
Matching Defaults entries for www-data on 47ba4eca2fbc:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User www-data may run the following commands on 47ba4eca2fbc:
(chocolate) NOPASSWD: /usr/bin/php