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.