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

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

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

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

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

Категории

Все категории
Loading categories
gitlab-cve-2020-10977 — GitLab Arbitrary File Read Exploit | Kitploit
Инструменты/GitHubGitHub/vandycknick/gitlab-cve-2020-10977
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingPayload Development
GitHubvandycknick/gitlab-cve-2020-10977

gitlab-cve-2020-10977

GitLab Arbitrary File Read Exploit

Репозиторий
225 лет назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

GitLab CVE2020-10977

Введение

Этот скрипт обеспечивает удаленное выполнение кода для GitLab Community Edition (CE) и Enterprise Edition (EE). Уязвимость CVE представляет собой произвольное чтение файлов, которое позволяет извлечь secret_key_base Rails, загрузив файл secrets.yaml GitLab. Это, в свою очередь, позволяет получить выполнение кода, подписав собственный cookie experimentation_subject_id, который GitLab использует внутренне для A/B-тестирования. Полезная нагрузка, встроенная в cookie, содержит уязвимость десериализации, которая позволяет выполнять код на экземпляре GitLab.

Произвольное чтение файлов существует в GitLab EE/CE 8.5 и более поздних версиях. Эта уязвимость была исправлена в версиях 12.9.1, 12.8.8 и 12.7.8. Однако RCE затрагивает только версию 12.4.0 и выше, когда был введен уязвимый cookie experimentation_subject_id.

Протестировано на версии 12.8.1

Использование

Модуль тестировался с python 3.9 и требует следующих зависимостей:

  • requests
  • beautifulsoup4

Если у вас установлен pipenv, вы можете быстро начать, выполнив pipenv install и pipenv shell, чтобы получить оболочку в виртуальном окружении pipenv.

root@kitploit:~
 $ ./cve_2020_10977.py --help

usage: cve_2020_10977.py [-h] --url URL -u USERNAME -p PASSWORD [--cmd CMD]

optional arguments:
  -h, --help            show this help message and exit
  --url URL             Target URL
  -u USERNAME, --username USERNAME
                        Gitlab username
  -p PASSWORD, --password PASSWORD
                        Gitlab password
  --cmd CMD             Command to execute

Разработка

Включен Makefile, упрощающий локальную разработку или тестирование эксплойта. Он зависит от docker и docker-compose для быстрого развертывания локальной версии GitLab, уязвимой к этой CVE.

root@kitploit:~
make up

Запустит локальный экземпляр GitLab и экземпляр Debian, чтобы упростить тестирование обратного шелла. Экземпляр GitLab будет доступен на вашем localhost через порт 5580. Наличие этого дополнительного образа дает вам IP-адрес, доступный из Docker-сети. Можно сделать ваш localhost доступным из Docker-контейнера, но, на мой взгляд, это не стоит усилий, и я определенно не хочу рекламировать использование --privileged

Подключиться к экземпляру Debian (RHOST) легко можно с помощью:

root@kitploit:~
make shell

Это позволяет подготовить обратный шелл с помощью nc -lnvp 9000.

Когда это сделано, вы готовы протестировать эксплойт. Вы можете выполнить:

root@kitploit:~
make exploit

Для запуска эксплойта: он не выполнит RCE, а вместо этого выведет секрет GitLab Rails.

root@kitploit:~
make exploit-rce

Сцепит эту CVE с полезной нагрузкой RCE, упомянутой выше, чтобы получить обратный шелл.

Удачного хакинга!

Ссылки

  • https://hackerone.com/reports/827052
  • https://nvd.nist.gov/vuln/detail/CVE-2020-10977
  • https://www.exploit-db.com/exploits/48431
Скачать инструмент