Library
✍️ Autor: El Pingüino de Mario🔍 Dificultad: Fácil 📅 Fecha de creación: 13/05/2024
Last updated
✍️ Autor: El Pingüino de Mario🔍 Dificultad: Fácil 📅 Fecha de creación: 13/05/2024
Last updated
En primer lugar, tras conectarnos a la máquina, utilizamos el comando:
para verificar la conectividad de red.
A continuación, se realiza el comando:
para realizar un escaneo de puertos y servicios detallado en la dirección IP.
Como podemos observar durante el escaneo, el puerto 22 perteneciente al servicio SSH y el puerto 80 perteneciente al servicio HTTP están abiertos, por lo que se procederá a indagar más.
Se utiliza el comando:
para obtener más información sobre esos puertos específicamente.
Seguimos indagando más sobre los puertos y ahora exploramos el servicio HTTP. Se ingresó la dirección IP en el navegador, lo que llevó a que la página web sobre la página por defecto Apache2.
De primeras, no se nos muestra nada, por lo que revisamos el código fuente por si hay alguna información oculta relevante pero no vemos nada.
Ahora buscaremos directorios con la herramienta Gobuster a través de:
Hemos identificado un archivo index.php
en el sistema. Vamos a examinar su contenido para obtener más información.
Al revisar el archivo index.php
, encontramos una cadena que parece ser una posible contraseña. Dado que el puerto 22 (SSH) está abierto, y no hemos encontrado otros elementos de interés, procederemos a realizar un ataque de fuerza bruta para intentar encontrar un usuario que esté utilizando esta contraseña para acceder por SSH.
Con la información obtenida anteriormente, realizamos el comando:
que utiliza la herramienta Hydra para realizar un ataque de fuerza bruta contra el servicio SSH de una máquina con la IP 172.17.0.2 para obtener el usuario con esa contraseña.
Al realizar el ataque de fuerza bruta, hemos descubierto el usuario de esa contraseña. Sabiendo esto, nos conectamos a través de SSH al usuario con el comando:
Al estar dentro y ejecutar:
aún no somos root, por lo que hacemos:
para ver si hay algo para explotar.
Carlos tiene permisos para ejecutar un script con privilegios de root utilizando el comando sudo
. Vamos a investigar cómo funciona este script con el objetivo de identificar una posible manera de escalar nuestros privilegios en el sistema.
Contamos con un script que se encarga de copiar archivos a una ruta específica. Lo interesante es que este script depende de una librería particular. Dado que la máquina se llama Library, podemos inferir que es posible llevar a cabo un ataque de Library Hijacking. Esto implica que, si logramos crear una librería maliciosa, podríamos hacer que el script ejecute nuestras órdenes al intentar acceder a ella.
Además, como tenemos la capacidad de ejecutar el script con privilegios de root, podemos utilizar esta técnica para realizar cualquier cambio en el sistema. En este caso, emplearemos el ataque para otorgar permisos SUID al binario bash
, lo que nos permitirá escalar privilegios de manera efectiva.
Hemos identificado que tenemos permisos de escritura en el directorio /opt
. Aprovecharemos esta situación creando una librería maliciosa con el mismo nombre que la librería requerida por el script. Dentro de esta librería, incluiremos las instrucciones que deseamos ejecutar.
Con todo listo, simplemente necesitamos ejecutar el script con sudo
. Cuando el script intente acceder a la librería, buscará primero en el directorio actual, lo que activará nuestra carga maliciosa.
Hemos logrado modificar los permisos del binario bash
. Ahora, solo queda utilizar el comando bash -p
para iniciar una shell con privilegios de root.