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

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

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.

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

Популярное

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

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

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

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

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

💥 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 создается с содержимым:

    root@kitploit:~
    joao was here
    

    🐳 Среда Docker

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

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

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

    root@kitploit:~
    docker build -t git-cve-poc .
    docker run --rm -it git-cve-poc
    

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

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

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

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

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