Kit de herramientas en Python para la lectura no autenticada de archivos en GitLab CVE-2026-85706: exploit weaponizado con loot, shell, escaneo masivo, además de auditoría y generación de informes no intrusiva con SafeChecker.

⚠️ SOLO USO ÉTICO – PRUEBAS DE SEGURIDAD AUTORIZADAS
Este repositorio proporciona herramientas únicamente para profesionales de seguridad autorizados, equipos azules y pentesters.
El acceso no autorizado a sistemas informáticos es ilegal según la CFAA (EE. UU.), la Computer Misuse Act (Reino Unido), el TCK 243/244 (Turquía) y leyes similares en todo el mundo.
CVE‑2026‑85706 es una vulnerabilidad crítica de lectura arbitraria de archivos locales no autenticada en GitLab CE/EE autoalojado (versiones 18.7 a 19.3.1) que permite a un atacante no autenticado leer cualquier archivo del servidor mediante una única solicitud HTTP a la API de commits.
%63ommits./api/v4/projects/{id}/repository/commits abre el archivo especificado en file.path antes de que se aplique la autenticación.%-secuencia no válida, Rack devuelve el contenido en un cuerpo 400 Bad Request, filtrando el contenido completo.| Herramienta | Propósito | Usuario previsto |
|---|---|---|
exploit.py | Kit de herramientas completamente armado con lectura de archivos no autenticada, enumeración de botín, extracción de tokens de administrador, escaneo masivo, shell interactivo, rotación de proxies, modo sigiloso y generación de informes en múltiples formatos. | Equipos rojos / pentesters autorizados |
safechecker.py | Comprobador de vulnerabilidades no intrusivo que detecta la versión de GitLab, valida la exposición, audita las cabeceras de seguridad y evalúa el riesgo sin leer ningún archivo. Genera informes JSON/CSV/HTML. | Equipos azules / auditores de seguridad |
| Característica | exploit.py | safechecker.py |
|---|---|---|
| Detección de vulnerabilidades | ✅ | ✅ |
| Detección de versión | ✅ | ✅ |
| Lectura de archivos no autenticada | ✅ | ❌ |
| Enumeración de botín | ✅ | ❌ |
| Extracción de tokens de administrador | ✅ | ❌ |
| Shell interactivo | ✅ | ❌ |
| Escaneo masivo (multihilo) | ✅ | ✅ |
| Auditoría de cabeceras de seguridad | ❌ | ✅ |
| Comprobación de TLS/certificado | ❌ | ✅ |
| Mapeo MITRE ATT&CK | ✅ | ✅ |
| Soporte de proxy | ✅ | ✅ |
| Rotación de proxies | ✅ | ❌ |
| Rotación de User‑Agent (OPSEC) | ✅ | ❌ |
| Jitter / retardo (OPSEC) | ✅ | ❌ |
| Limitador de tasa adaptativo | ✅ | ✅ |
| Modo sigiloso | ✅ | ❌ |
| Suplantación de TLS con curl_cffi | ✅ | ❌ |
| Modo no intrusivo (seguro) | ❌ | ✅ |
| Salida JSON / JSONL / CSV / HTML | ✅ | ✅ |
| Salida a base de datos SQLite | ✅ | ❌ |
| Notificación por webhook | ✅ | ✅ |
| Diferencias con el escaneo anterior | ✅ | ✅ |
| Limpieza de registros (antiforense) | ✅ | ❌ |
| User‑Agent personalizado | ✅ | ✅ |
| Control de verificación SSL | ✅ | ✅ |
| Escenario | Herramienta recomendada |
|---|---|
| Equipo azul – verificar si su GitLab es vulnerable | safechecker.py |
| Auditoría de seguridad – evaluación de vulnerabilidades no intrusiva | safechecker.py |
| Equipo rojo – pruebas de penetración autorizadas con explotación completa | exploit.py |
| Bug Bounty – pruebas de divulgación responsable | safechecker.py |
| Escaneo masivo – comprobar múltiples objetivos en busca de vulnerabilidades | exploit.py (solo detección) |
| Respuesta a incidentes – comprobar si los sistemas están comprometidos | safechecker.py |
git clone https://github.com/tc4dy/CVE-2026-85706-PoC-Toolkit
cd CVE-2026-85706-PoC-Toolkit
pip install -r requirements.txt
requests
urllib3
curl_cffi
rich
pyyaml
exploit.py