Library
En esta ocasión vamos a hacer el writeup de la máquina Library de Dockerlabs, una máquina Linux de dificultad easy.
Última actualización
En esta ocasión vamos a hacer el writeup de la máquina Library de Dockerlabs, una máquina Linux de dificultad easy.
Última actualización
Tenemos la IP: 172.17.0.2
Accedemos través del navegador y llegamos a una default page de Apache:
No obtenemos nada relevante, por lo que vamos a escanear los puertos abiertos en esta máquina.
Solo encontramos 2 puertos abiertos, el 22 y el 80. En principio nada relevante.
Haciendo fuzzing con dirsearch nos encontramos un directorio interesante:
Vamos a acceder a /index.php
a ver que encontramos.
A priori nos encontramos con lo que podría ser una posible contraseña de algún usuario del sistema. En este punto ya que no tenemos más directorios accesibles, vamos a probar a hacer un bruteforce de SSH para intentar adivinar el usuario.
En este momento puede parecer que no podemos hacer nada, pero vamos a usar ffuf para enumerar subdominios dentro de este host:
Bingo! Obtenemos el usuario de la máquina: Carlos
Buum! Efectivamente nos conseguimos loguear en la máquina. Ya estamos dentro.
Lo primero que vamos a hacer para elevar nuestros privilegios es ver los permisos de ejecución que tenemos en la máquina. Este siempre debería ser el primer paso:
Observamos que Carlos puede ejecutar el script /opt/script.py
con privilegios de superusuario. Vamos a ver el contenido del script:
SIempre que tenemos permisos de ejecución sobre algún archivo deberíamos consultar GTFOBins para encontrar una manera efectiva de elevar nuestros privilegios. Como el ejecutable es en python vamos a la sección Python.
Concretamente en la sección SUDO encontramos una forma para elevar nuestros privilegios:
SUDO
If the binary is allowed to run as superuser by sudo
, it does not drop the elevated privileges and may be used to access the file system, escalate or maintain privileged access.
Con esta pista podemos modificar nuestro script en python. El usuario Carlos no puede ejecutar sudo en la máquina, por lo que vamos a dar permisos al ejecutable y ya lo podemos editar:
Ahora vamos a eliminar todo el contenido del script y poner lo siguiente:
Lo guardamos y lo ejecutamos con sudo, y ya somos root!
Aquí ya podríamos hace run tratamiento de la TTY para movernos mejor y acceder a cualquier archivo del sistema:
Por ejemplo podríamos acceder al /etc/shadow
donde están todas las contraseñas crackeadas en sistemas Linux: