Git
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Aby zrzucić folder .git z URL użyj https://github.com/arthaud/git-dumper
Użyj https://www.gitkraken.com/ do przeglądania zawartości
Jeśli w aplikacji webowej znaleziono katalog .git możesz pobrać całą zawartość używając wget -r http://web.com/.git. Następnie możesz zobaczyć wprowadzone zmiany używając git diff.
Narzędzia: Git-Money, DVCS-Pillage i GitTools mogą być użyte do pobrania zawartości katalogu .git.
Narzędzie https://github.com/cve-search/git-vuln-finder może być użyte do wyszukiwania CVE i komunikatów o lukach bezpieczeństwa w commit messages.
Narzędzie https://github.com/michenriksen/gitrob wyszukuje dane wrażliwe w repozytoriach organizacji i jej pracowników.
Repo security scanner to narzędzie wiersza poleceń napisane z jednym celem: pomóc odkryć GitHub secrets, które programiści przypadkowo ujawnili, pushując wrażliwe dane. Podobnie jak inne narzędzia, pomoże znaleźć hasła, klucze prywatne, nazwy użytkowników, tokeny i inne.
Tutaj znajdziesz opracowanie na temat github dorks: https://securitytrails.com/blog/github-dorks
Szybsze /.git dumping & dirlisting bypass (2024–2026)
- holly-hacker/git-dumper jest przepisanym w 2024 roku wydaniem klasycznego dumpera GitTools z równoległym pobieraniem (>10x przyspieszenie). Przykład:
python3 git-dumper.py https://victim/.git/ out && cd out && git checkout -- . - Ebryx/GitDump brute-forces nazwy obiektów z
.git/index,packed-refsitd., aby odzyskać repozytoria nawet gdy directory traversal jest wyłączony:python3 git-dump.py https://victim/.git/ dump && cd dump && git checkout -- .
Szybka analiza po zrzuceniu
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 z automatycznym przeszukiwaniem historii Git.
trufflehog git file://$PWD --only-verified --json > secrets.json - Gitleaks (v8+): szybki regex ruleset, może skanować unpacked tree lub pełną historię.
gitleaks detect -v --source . --report-format json --report-path gitleaks.json
Server-side Git integration RCE via hooksPath override
Nowoczesne aplikacje webowe integrujące repozytoria Git czasami nadpisują .git/config używając identyfikatorów kontrolowanych przez użytkownika. Jeśli te identyfikatory są konkatenowane do hooksPath, możesz przekierować Git hooks do katalogu kontrolowanego przez atakującego i wykonać dowolny kod, gdy serwer uruchomi natywny Git (np. git commit). Kluczowe kroki:
- Path traversal in
hooksPath: jeśli nazwa repo/dependencji jest skopiowana dohooksPath, wstrzyknij../../.., aby wydostać się z zamierzonego katalogu hooks i wskazać na zapisywalną lokalizację. To jest w praktyce path traversal w konfiguracji Git. - Force the target directory to exist: gdy aplikacja wykonuje klony po stronie serwera, wykorzystaj kontrolę miejsca docelowego klonowania (np. parametr
ref/branch/path), aby spowodować, że sklonuje do../../git_hookslub podobnej ścieżki traversal, tak aby pośrednie foldery zostały utworzone. - Ship executable hooks: ustaw bit wykonywalności w metadanych Git, aby każdy clone zapisywał hook z trybem
100755:
git update-index --chmod=+x pre-commit
Dodaj swój payload (reverse shell, file dropper, itp.) do pre-commit/post-commit w tym repo.
- Find a native Git code path: biblioteki takie jak JGit ignorują hooki. Szukaj przepływów wdrożeniowych/flagi, które wracają do systemowego Git (np. forcing deploy-with-attached-repo parameters), aby hooki faktycznie się uruchomiły.
- Race the config rewrite: jeśli aplikacja sanitizuje
.git/configtuż przed uruchomieniem Git, spamuj endpoint, który zapisuje Twój złośliwyhooksPath, jednocześnie wywołując akcję Git, aby wygrać race condition i uruchomić hook.
Referencje
- holly-hacker/git-dumper – parallel fast /.git dumper
- Ebryx/GitDump
- LookOut: RCE and internal access on Looker (Tenable)
Tip
Ucz się i ćwicz Hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.


