Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-8110 — Exploit PoC Python per CVE-2025-8110, che dimostra la scrittura arbitraria di file verso RCE in Gogs tramite manipolazione di symlink e abuso delle API. Progettato per la ricerca sulla sicurezza educativa e per ambienti di laboratorio autorizzati. | Kitploit
Strumenti/GitHubGitHub/xdezen/cve-2025-8110
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebApprendimento e FormazioneSviluppo PayloadLab e Pratica
GitHubxdezen/cve-2025-8110

CVE-2025-8110

Exploit PoC Python per CVE-2025-8110, che dimostra la scrittura arbitraria di file verso RCE in Gogs tramite manipolazione di symlink e abuso delle API. Progettato per la ricerca sulla sicurezza educativa e per ambienti di laboratorio autorizzati.

Vedi Repository
1 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Gogs Arbitrary File Write to RCE (CVE-2025-8110) - Exploit a Scopo Educativo

Questo repository contiene uno script di prova di concetto (PoC) in Python per dimostrare e analizzare la vulnerabilità registrata come CVE-2025-8110 nel servizio Git auto-ospitato Gogs (versioni 0.13.3 e precedenti).


⚠️ Dichiarazione di Non Responsabilità (Disclaimer)

[!WARNING] QUESTO SOFTWARE È FORNITO ESCLUSIVAMENTE A SCOPI EDUCATIVI E DI RICERCA SULLA SICUREZZA. L'uso di questo materiale contro obiettivi senza il consenso preventivo e scritto dei loro proprietari è completamente illegale. L'autore di questo repository non si assume alcuna responsabilità per danni, perdite o usi impropri derivanti dall'uso di questo codice. Utilizzalo sempre a tuo rischio e solo in ambienti controllati o simulazioni autorizzate (come laboratori CTF).


Cos'è il CVE-2025-8110?

Il CVE-2025-8110 è una vulnerabilità critica di Scrittura Arbitraria di File causata da una validazione insufficiente nella gestione dei collegamenti simbolici (symlink) tramite l'API PutContents di Gogs.

Meccanismo di Impatto

Un attaccante autenticato può:

  1. Creare un repository Git locale che contenga un collegamento simbolico che punta a un file sensibile al di fuori della cartella del repository (ad esempio, il file di configurazione .git/config del server).
  2. Caricare (push) questo repository sul server Gogs.
  3. Utilizzare l'API di Gogs per modificare il file del collegamento simbolico. Poiché l'API non verifica se la destinazione è un collegamento diretto, il sistema operativo sottostante segue il collegamento e sovrascrive file di sistema con i privilegi con cui viene eseguito Gogs.
  4. Se il servizio Gogs viene eseguito come root, la scrittura di file può essere elevata a Esecuzione Remota di Codice (RCE) iniettando il comando desiderato nella proprietà sshCommand del file di configurazione di Git.

Spiegazione del Codice (exploit.py)

Lo script automatizza l'intero processo di sfruttamento utilizzando credenziali valide e un Token API generato manualmente in precedenza tramite l'interfaccia web di Gogs:

root@kitploit:~
          ┌──────────────────────────────────────────────┐
          │       Macchina dell'Attaccante (Kali)        │
          └──────────────────────┬───────────────────────┘
                                 │
         (1) Crea Repository     │ (3) Carica Symlink (.git/config)
         Maligno tramite API     │     tramite git push
                                 ▼
          ┌──────────────────────────────────────────────┐
          │      Tunnel SSH Locale (porta 8080)          │
          └──────────────────────┬───────────────────────┘
                                 │
                                 ▼
          ┌──────────────────────────────────────────────┐
          │           Server Vittima Gogs                │
          │              (Porta 3001)                    │
          └──────────────────────┬───────────────────────┘
                                 │
                                 │ (4) API PUT "contents"
                                 │     Segue Symlink e scrive
                                 │     "sshCommand" in .git/config
                                 ▼
          ┌──────────────────────────────────────────────┐
          │     Esecuzione del Payload come ROOT         │
          └──────────────────────────────────────────────┘

Componenti Principali dello Script:

  1. create_malicious_repo: Effettua una richiesta POST all'API di Gogs (/api/v1/user/repos) autenticandosi con il token di accesso fornito per creare un nuovo repository con un nome casuale generato dinamicamente.
  2. upload_malicious_symlink:
    • Clona il repository appena creato nella cartella temporanea locale /tmp/.
    • Crea un collegamento simbolico localmente sulla macchina attaccante che punta a .git/config (il file di configurazione di Git del server).
    • Esegue un commit e invia le modifiche al server tramite un comando di sistema (git push).
  3. exploit: Definisce il payload utilizzando un trucco di iniezione nella proprietà sshCommand di Git. Aggiornando il contenuto tramite l'API, Gogs è costretto a sovrascrivere il proprio .git/config sul server. Quando viene attivata l'ultima parte del processo di Git, il sistema di Gogs esegue il comando di terminale (una shell inversa in Bash) restituendo la connessione al tuo listener Netcat.

Guida all'Uso in Laboratori (HTB - Silentium)

Prerequisiti

Assicurati di configurare i dati di identità globali in Git prima di eseguire lo script per evitare errori durante il commit automatico:

root@kitploit:~
git config --global user.email "[email protected]"
git config --global user.name "studente"

Uso: python3 exploit.py -u (http://127.0.0.1:8080) -lh <TU_IP_VPN> -lp 4446

Scarica lo strumento