Если .git/ директория доступна снаружи, это один из самых опасных векторов: с её помощью можно восстановить структуру проекта и получить чувствительные данные.
➖ Структура репозитория (архитектура, пути, названия компонентов)
➖ История изменений с возможными утечками токенов
➖ Конфиги и ключи из прошлого (.env, .pem, config.php)
➖ Доступ к приватным Git-сервисам (через config, remote)
Цели анализа:
1️⃣ Восстановить исходный код проекта
— анализ логики, уязвимостей, жестко заданных секретов
2️⃣ Найти приватные ключи, токены, логи
— которые были случайно закоммичены и затем удалены
3️⃣ Идентифицировать точки подключения к CI/CD, облаку
— через .git/config, .gitmodules, .env
4️⃣ Обойти .gitignore и восстановить удалённые файлы
— если файл исключён из коммитов, но был в истории — его можно восстановить
Инструменты:
git-dumper — скачивает и собирает .git в локальный репозиторий
GitTools — модульный набор: finder, extractor, dumper
wget/curl — для ручной загрузки .git файлов при ограничениях
Мини-сценарий для пентеста:
git-dumper http://target.com/.git/ ./recovered_repo
cd recovered_repo
git log --oneline
git show <commit_id>
Практическое применение:
➡️ Извлечённый .env может содержать DB-пароли, API-ключи, SMTP/Slack/Webhook данные
➡️ Анализ git log покажет уязвимые коммиты и забытые файлы
➡️ Из config можно получить приватный git remote с доступом через SSH
➡️ Используя git log -- <filename> можно восстановить удалённый или заигноренный файл