Git

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Bir URL’den .git klasörünü çekmek için kullanın https://github.com/arthaud/git-dumper

İçeriği incelemek için https://www.gitkraken.com/ kullanın

Bir web uygulamasında .git dizini bulunursa, tüm içeriği wget -r http://web.com/.git. ile indirebilirsiniz. Sonra yapılan değişiklikleri git diff ile görebilirsiniz.

Araçlar: Git-Money, DVCS-Pillage ve GitTools bir git dizininin içeriğini almak için kullanılabilir.

Araç https://github.com/cve-search/git-vuln-finder commit mesajları içinde CVE’leri ve güvenlik açıklamalarına dair mesajları aramak için kullanılabilir.

Araç https://github.com/michenriksen/gitrob bir kuruluşun ve çalışanlarının depolarında hassas verileri arar.

Repo security scanner komut satırı tabanlı bir araçtır ve tek amacı geliştiricilerin yanlışlıkla hassas veriyi push ederek oluşturduğu GitHub secrets’leri keşfetmenize yardımcı olmaktır. Diğerleri gibi şifreler, özel anahtarlar, kullanıcı adları, token’lar ve daha fazlasını bulmanıza yardımcı olur.

Burada GitHub dorks hakkında bir çalışma bulabilirsiniz: https://securitytrails.com/blog/github-dorks

Daha hızlı /.git dumping & dirlisting bypass (2024–2026)

  • holly-hacker/git-dumper klasik GitTools dumper’ın 2024 yeniden yazımıdır; paralel fetching ile (>10x hızlanma). Örnek: python3 git-dumper.py https://victim/.git/ out && cd out && git checkout -- .
  • Ebryx/GitDump .git/index, packed-refs, vb. dosyalardan obje isimlerini brute-force yaparak dizin traversal devre dışı olsa bile repoları kurtarır: python3 git-dump.py https://victim/.git/ dump && cd dump && git checkout -- .

Hızlı post-dump triage

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

Secret/credential hunting (current tooling)

  • TruffleHog v3+: entropy+regex with automatic Git history traversal. trufflehog git file://$PWD --only-verified --json > secrets.json
  • Gitleaks (v8+): fast regex ruleset, can scan unpacked tree or full history. gitleaks detect -v --source . --report-format json --report-path gitleaks.json

Server-side Git integration RCE via hooksPath override

Modern web apps that integrate Git repos sometimes rewrite .git/config using user-controlled identifiers. If those identifiers are concatenated into hooksPath, you can redirect Git hooks to an attacker-controlled directory and execute arbitrary code when the server runs native Git (e.g., git commit). Key steps:

  • Path traversal in hooksPath: Eğer bir repo adı/bağımlılık adı hooksPath içine kopyalanıyorsa, hedeflenen hooks dizininden kaçmak ve yazılabilir bir konuma işaret etmek için ../../.. enjekte edin. Bu aslında Git config içinde bir path traversal.
  • Force the target directory to exist: uygulama server-side clones yaptığında, clone destination kontrollerini (ör. bir ref/branch/path parametresi) suistimal ederek klonunuzu ../../git_hooks veya benzeri bir traversal yoluna yaptırın, böylece ara klasörler sizin için oluşturulmuş olur.
  • Ship executable hooks: Git metadata içinde executable biti ayarlayın ki her clone, hook’u mode 100755 ile yazsın:
git update-index --chmod=+x pre-commit

Add your payload (reverse shell, file dropper, etc.) to pre-commit/post-commit in that repo.

  • Find a native Git code path: kütüphaneler like JGit hooks’ı yok sayar. hooks’un gerçekten çalışması için system Git’e geri dönen deployment akışları/flag’leri (ör. deploy-with-attached-repo parametrelerini zorlamak) arayın.
  • Race the config rewrite: Eğer uygulama Git’i çalıştırmadan hemen önce .git/config’i sanitize ediyorsa, Git eylemini tetiklerken kötü amaçlı hooksPath’inizi yazan endpoint’i spam yaparak bir race condition kazanmaya çalışın ve hook’unuzun çalışmasını sağlayın.

References

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin