WriteUps Injection
Este WriteUp documenta la solución para la máquina “Injection” de DockerLabs. A través de varias etapas de reconocimiento, explotación y elevación de privilegios, el objetivo es obtener acceso a la máquina y escalar privilegios para convertirnos en el usuario root.
Resumen:
- Nombre: Injection
- Dificultad: Muy fácil
- Autor: ElPinguinoDeMario
- Sistema Operativo: Linux
- Enlace: Dockerlabs
Progreso del WriteUp
- Reconocimiento inicial
- Análisis de servicios
- Acceso por SSH
- Escalada de privilegios
- Aprendizaje
- Comandos
Reconocimiento inicial
El primer paso consiste en iniciar la máquina. Esto se puede lograr ejecutando el siguiente comando, una vez que se haya descargado la máquina:
Una vez iniciada la máquina, el script de despliegue me proporciona la dirección IP de la máquina, por lo que procedo a realizar un escaneo de puertos para identificar los servicios disponibles:
El resultado del escaneo de puertos fue:
Resultado: El escaneo de puertos reveló dos servicios importantes:
- Puerto 22: Servicio SSH abierto.
- Puerto 80: Servicio HTTP abierto.
Análisis del servicio
Al visitar la página en el puerto 80, me encontré con una pantalla de inicio de sesión que requería un User
y un Password
. Al revisar el código fuente, no encontré nada relevante. Aplicando la misma lógica que en máquinas anteriores, el nombre “Injection” sugería la posibilidad de una vulnerabilidad de inyección SQL. Decidí probar la herramienta SQLmap
, como enseña mi buen amigo El Pingüino de Mario en la Academia de Ciberseguridad y Hacking Ético:
Resultado: El comando me mostró las bases de datos disponibles en el sistema:
Con esta información, sabía que la base de datos register
podría contener datos útiles. Utilicé SQLmap
nuevamente para obtener las tablas:
Dentro de register
, encontré una tabla llamada users
. Luego, extraje las columnas:
Finalmente, obtuve los datos de username
y passwd
con:
Resultado: Con este proceso, obtuve un usuario y contraseña válidos para acceder al formulario web.
Nota: Si deseas aprender más sobre inyecciones SQL o el uso de SQLmap
, te invito a visitar la Academia de Ciberseguridad y Hacking Ético.
Acceso por SSH
Usando las credenciales obtenidas, logré acceder por SSH a la máquina como el usuario dylan
:
Al intentar ejecutar sudo -l
, obtuve el siguiente mensaje:
Pasé a revisar el directorio /var/www/html
en busca de archivos interesantes, pero no encontré nada relevante. Entonces decidí buscar archivos con permisos SUID
con el siguiente comando:
Resultado: Encontré varios binarios con el bit SUID
activado, entre ellos /usr/bin/env
.
Escalada de privilegios
Consultando GTFOBins, encontré que podía aprovechar el binario env
con permisos SUID
para escalar privilegios. Ejecuté el siguiente comando para obtener una shell como root:
root
.Aprendizaje
La máquina Injection me permitió practicar habilidades de reconocimiento, Explotación mediante inyección SQL, y elevación de privilegios utilizando binarios con SUID
. Este WriteUp refuerza la importancia de revisar configuraciones inapropiadas y aprovechar las herramientas disponibles para escalar privilegios en un sistema vulnerable.
Comandos
- Despliegue de la máquina:
- Escaneo de puertos:
- Inyección SQL para obtener bases de datos:
- Obtener tablas de la base de datos
register
: - Obtener columnas de la tabla
users
: - Obtener credenciales de
users
: - Buscar archivos con permisos
SUID
: - Escalada de privilegios con
env
: