Lazy Admin es una maquina de TryHackMe, descubrimos una base de datos y una vulnerabilidad en SweetRice. Ejecutamos una shell inversa con Sudo y Perl.
Room
| Titulo | LazyAdmin |
|---|---|
| Descripción | Easy linux machine to practice your skills |
| Puntos | 110 |
| Dificultad | Facil |
| Maker |
MASSCAN & NMAP
Escaneo de puertos tcp/udp y sus servicios, nmap nos muestra dos puertos abiertos el http (80) y el ssh (22).
|
|
WHATWEB
Vemos que la pagina esta corriendo sobre un Apache 2.4.18.

HTTP
Al visitar la pagina nos muestra el tipico index de apache.

GOBUSTER
Utilizamos esta herramienta para poder obtener los directorios y archivos ue puedan ser interesantes.
|
|
Sweet Rice CMS
/content
Encontramos un CMS especificamente Sweet Rice, con un mensaje que indica que el sitio web esta en construccion.

Pasamos nuevamente gobuster sobre la direccion de SweetRice y econtramos distintos directorios relacionados con el gestor de contenidos.
|
|
Una direccion interesante es /as, contiene un panel de logeo, intentamos utilizar las credenciales por default pero no logramos acceder.

Buscamos exploits que pudiesen afectar a este gestor de contenidos y encontramos distintas vulnerabilidades.

SweetRice 1.5.1 - Backup Disclosure
Una de ellas indica que existe un backup de mysql en el directorio /inc/mysql directorio que existe en esta pagina.

Descargamos el archivo y al analizarlo encontramos que se hizo una insersion en la tabla options donde encontramos un nombre y una contraseña, las cuales podemos utilizar en el panel de logeo.

Buscamos el hash en crackstation y obtuvimos la contraseña en texto plano:

Credenciales:
User: manager
Password: Password123
SweetRice 1.5.1 - Arbitrary File Upload
Utilizamos un exploit que afecta a este gestor de contenidos para subir una shell, antes de ejecutarlo agregamos la ip y un dominio a nuestro archivo hosts (lazyadmin.thm en mi caso) ya que nos pedira un dominio y no una IP. Tambien agregamos /content/ a los valores que contienen /as/ y /attachment/.
Creamos un archivo en php de prueba:
|
|
Ejecutamos y vemos que se subio nuestro archivo:

Nuestro archivo de prueba:

Subimos una webshell:
|
|

Ejecutamos un comando para obtener una shell inversa:
|
|

USER - Flag
Nos movemos a la carpeta principal del usuario itguy y obtenemos nuestra flag user.txt.

PRIVILEGE ESCALATION
Hacemos una enumeracion rapida con el comando sudo -l -l, y vemos que hay un archivo que podemos ejecutar con perl con el comando sudo, a su vez este archivo ejecuta otro (/etc/copy.sh), este ultimo ejecuta un comando para obtener una shell inversa hacia una IP.
/home/itguy/backup.pl
|
|
copy.sh
|
|
El archivo backup.pl no puede ser modificado, pero el archivo copy.sh si, hicimos una pequeña prueba con un comentario en bash.
|
|

Permisos copy.sh:

Agregamos una shell inversa al archivo copy.sh:
|
|

Ejecutamos y obtenemos una shell inversa con el usuario root, junto con nuestra flag root.txt.

Firefox Decrypt
Dentro de la carpeta principal del usuario itguy encontramos la carpeta .mozilla/firefox/, utilizamos firefox_decrypt para obtener las contraseñas y usuarios guardados.

