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

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

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

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

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

Категории

Все категории
Loading categories
cve-2024-32002-poc — Доказательство концепции для CVE-2024-32002: уязвимость внедрения пути подмодуля Git. | Kitploit
Инструменты/GitHubGitHub/joaoleonello/cve-2024-32002-poc
Анализ уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеБезопасность Цепочки ПоставокОбучение и Образование
GitHubjoaoleonello/cve-2024-32002-poc

cve-2024-32002-poc

Доказательство концепции для CVE-2024-32002: уязвимость внедрения пути подмодуля Git.

Репозиторий
1511 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

💥 CVE-2024-32002 – PoC внедрения пути Git подмодуля

Мотивация

При решении машины Compiled на платформе Hack The Box я столкнулся с любопытным поведением, связанным с Git и подмодулями. При более глубоком исследовании я нашел эту отличную статью исследователя Амала Мурали, в которой подробно описывается техника внедрения пути через .gitmodules. На основе этого я решил изучить CVE-2024-32002 и создать практическую PoC, демонстрирующую реальное влияние уязвимости.

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

CVE-2024-32002 эксплуатирует критическую ошибку в Git, связанную с разрешением путей подмодулей. Git позволяет репозиториям включать подмодули, определенные в файле .gitmodules, указывая путь и URL. Уязвимость возникает, когда путь манипулируется так, чтобы указывать внутрь каталога .git, который хранит метаданные и внутренние настройки репозитория.

При комбинировании:

  • Манипуляция .gitmodules для установки пути A/modules/x
  • Создание симлинка a → .git

…Git обманывается и разрешает A/modules/x как .git/modules/x, то есть внутри внутреннего каталога .git. Это позволяет злоумышленнику внедрить произвольные файлы в качестве вредоносных хуков, которые могут быть выполнены при легитимных операциях, таких как checkout, merge или clone.

Эта уязвимость представляет собой вектор удаленного выполнения кода, особенно опасный в средах CI/CD, автоматизациях или общих репозиториях.


⚙️ Что демонстрирует скрипт setup.sh

Этот скрипт автоматизирует создание уязвимой среды и воспроизводит последствия ошибки:

  1. Создает вредоносный подмодуль (hook-repo) содержащий хук post-checkout, который записывает в /tmp/teste.txt
  2. Инициализирует главный репозиторий (main-repo) и добавляет подмодуль
  3. Изменяет файл .gitmodules для перенаправления пути подмодуля на A/modules/x
  4. Создает симлинк a → .git, заставляя A/modules/x разрешиться как .git/modules/x
  5. Внедряет вредоносный .gitmodules в индекс с помощью git update-index --index-info
  6. Совершает легитимный коммит для имитации нормальной активности
  7. Клонирует репозиторий (cloned-repo) с --recursive, инициализируя подмодуль
  8. Копирует вредоносный хук в .git/hooks/ и выполняет git checkout HEAD для запуска эксплойта

В случае успеха хук выполняется, и файл /tmp/teste.txt создается с содержимым:

joao was here

🐳 Среда Docker

Этот репозиторий включает Dockerfile, который:

  1. **Устанавливает Git 2.45.0 (уязвимая версия)
  2. **Создает обычного пользователя (joao)
  3. **Копирует файлы PoC
  4. **Автоматически запускает setup.sh

🔧 Как воспроизвести

docker build -t git-cve-poc .
docker run --rm -it git-cve-poc

🔐 Воздействие и смягчение

Эта уязвимость затрагивает версии Git до 2.45.1. Ошибка была исправлена с помощью более строгих проверок разрешения путей подмодулей. Репозитории, использующие подмодули, должны быть проверены, а автоматизированные среды — немедленно обновлены.

⚠️ Юридическое предупреждение

Этот проект предназначен только для образовательных и исследовательских целей. Не используйте в производственных средах. Цель — продемонстрировать техническое воздействие уязвимости и продвигать хорошие практики безопасности.

Скачать инструмент