Git
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Щоб звантажити папку .git з URL використовуйте https://github.com/arthaud/git-dumper
Використовуйте https://www.gitkraken.com/ для перегляду вмісту
Якщо в вебзастосунку знайдено директорію .git ви можете завантажити весь вміст, використавши wget -r http://web.com/.git. Потім можна переглянути зміни за допомогою git diff.
Інструменти: Git-Money, DVCS-Pillage and GitTools можна використовувати для отримання вмісту git-директорії.
Інструмент https://github.com/cve-search/git-vuln-finder можна використовувати для пошуку CVE та повідомлень про вразливості в повідомленнях комітів.
Інструмент https://github.com/michenriksen/gitrob шукає конфіденційні дані в репозиторіях організацій та їхніх співробітників.
Repo security scanner — інструмент для командного рядка, створений з однією метою: допомогти вам виявити GitHub секрети, які розробники випадково запушили разом із чутливою інформацією. Як і інші, він допоможе знайти паролі, приватні ключі, імена користувачів, токени та інше.
Тут можна знайти дослідження про github dorks: https://securitytrails.com/blog/github-dorks
Швидший /.git dumping & dirlisting bypass (2024–2026)
- holly-hacker/git-dumper — це переписаний у 2024 році варіант класичного GitTools dumper з паралельним завантаженням (прискорення >10x). Приклад:
python3 git-dumper.py https://victim/.git/ out && cd out && git checkout -- . - Ebryx/GitDump brute-forces object names from
.git/index,packed-refs, etc. to recover repos even when directory traversal is disabled:python3 git-dump.py https://victim/.git/ dump && cd dump && git checkout -- .
Швидка первинна перевірка після дампу
cd dumpdir
# reconstruct working tree
git checkout -- .
# show branch/commit map
git log --graph --oneline --decorate --all
# list suspicious config/remotes/hooks
git config -l
ls .git/hooks
Пошук секретів/облікових даних (поточні інструменти)
- TruffleHog v3+: entropy+regex з автоматичним обходом історії Git.
trufflehog git file://$PWD --only-verified --json > secrets.json - Gitleaks (v8+): швидкий набір правил regex, може сканувати розпаковане дерево або повну історію.
gitleaks detect -v --source . --report-format json --report-path gitleaks.json
RCE на серверній стороні при інтеграції Git через перевизначення hooksPath
Сучасні веб-застосунки, що інтегрують Git-репозиторії, іноді перезаписують .git/config, використовуючи ідентифікатори, контрольовані користувачем. Якщо ці ідентифікатори конкатенуються в hooksPath, можна перенаправити Git hooks у директорію, контрольовану атакуючим, і виконати довільний код, коли сервер виконує native Git (наприклад, git commit). Ключові кроки:
- Path traversal in
hooksPath: якщо ім’я репозиторію/ім’я залежності копіюється вhooksPath, інжектуйте../../.., щоб вийти з призначеної директорії hooks і вказати на записуване розташування. Це фактично є path traversal в конфігурації Git. - Force the target directory to exist: коли додаток виконує server-side clones, зловживайте контролем місця призначення клону (наприклад, параметром
ref/branch/path), щоб змусити клонувати в../../git_hooksабо подібний traversal-шлях, через що проміжні директорії будуть створені. - Ship executable hooks: встановіть біт виконуваності у метаданих Git, щоб кожен клон записував hook з режимом
100755:
git update-index --chmod=+x pre-commit
Додайте ваш payload (reverse shell, file dropper тощо) до pre-commit/post-commit у цьому репозиторії.
- Find a native Git code path: бібліотеки на кшталт JGit ігнорують hooks. Шукайте потоки розгортання/прапори, які відступають до system Git (наприклад, примусово deploy-with-attached-repo параметри), щоб hooks дійсно виконалися.
- Race the config rewrite: якщо застосунок санітує
.git/configбезпосередньо перед запуском Git, спамте endpoint, який записує ваш зловмиснийhooksPath, одночасно ініціюючи Git-дію, щоб виграти race condition і змусити ваш hook виконатися.
References
- holly-hacker/git-dumper – parallel fast /.git dumper
- Ebryx/GitDump
- LookOut: RCE and internal access on Looker (Tenable)
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.


