Git

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Da biste preuzeli .git direktorijum sa URL-a koristite https://github.com/arthaud/git-dumper

Koristite https://www.gitkraken.com/ za pregled sadržaja

Ako se u web aplikaciji pronađe .git direktorijum možete preuzeti sav sadržaj koristeći wget -r http://web.com/.git. Zatim možete videti izmene korišćenjem git diff.

Alati: Git-Money, DVCS-Pillage i GitTools mogu se koristiti za preuzimanje sadržaja git direktorijuma.

Alat https://github.com/cve-search/git-vuln-finder može se koristiti za pretragu CVE-ova i poruka o sigurnosnim ranjivostima unutar commit poruka.

Alat https://github.com/michenriksen/gitrob pretražuje osetljive podatke u repozitorijumima organizacije i njenih zaposlenih.

Repo security scanner je alat baziran na komandnoj liniji koji je napravljen sa jednim ciljem: da vam pomogne da otkrijete GitHub secrets koje su developeri slučajno objavili push-ovanjem osetljivih podataka. Kao i ostali, pomoći će vam da nađete lozinke, privatne ključeve, korisnička imena, tokene i još mnogo toga.

Ovde možete naći studiju o GitHub dorks: https://securitytrails.com/blog/github-dorks

Brže preuzimanje /.git i zaobilaženje dirlisting-a (2024–2026)

  • holly-hacker/git-dumper je prerada iz 2024. klasičnog GitTools dumpera sa paralelnim preuzimanjem (>10x ubrzanje). Primer: python3 git-dumper.py https://victim/.git/ out && cd out && git checkout -- .
  • Ebryx/GitDump vrši brute-force nad imenima objekata iz .git/index, packed-refs, itd. da bi oporavio repozitorijume čak i kada je directory traversal onemogućen: python3 git-dump.py https://victim/.git/ dump && cd dump && git checkout -- .

Brza post-dump trijaža

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 sa automatskim pretraživanjem Git istorije. trufflehog git file://$PWD --only-verified --json > secrets.json
  • Gitleaks (v8+): brz regex skup pravila, može skenirati raspakovan tree ili celu istoriju. gitleaks detect -v --source . --report-format json --report-path gitleaks.json

Server-side Git integration RCE via hooksPath override

Modern web aplikacije koje integrišu Git repozitorijume ponekad prepišu .git/config koristeći identifikatore koje kontroliše korisnik. Ako se ti identifikatori konkateniraju u hooksPath, možete preusmeriti Git hooks ka direktorijumu pod kontrolom napadača i izvršiti proizvoljan kod kada server pokrene sistemski Git (npr. git commit). Ključni koraci:

  • Path traversal in hooksPath: ako se ime repozitorijuma/ime dependency-ja kopira u hooksPath, ubacite ../../.. da izađete iz predviđenog hooks direktorijuma i pokažete na lokaciju u koju se može pisati. Ovo je efikasno path traversal u Git config.
  • Force the target directory to exist: kada aplikacija vrši server-side clones, zloupotrebite kontrole destinacije kloniranja (npr. ref/branch/path parametar) da naterate da se klonira u ../../git_hooks ili sličnu traversal putanju tako da se međuprostorni folderi kreiraju za vas.
  • Ship executable hooks: postavite izvršni bit u Git metapodatke tako da svaki clone upiše hook sa mode 100755:
git update-index --chmod=+x pre-commit

Dodajte svoj payload (reverse shell, file dropper, itd.) u pre-commit/post-commit u tom repo.

  • Find a native Git code path: biblioteke kao JGit ignorišu hooks. Tražite deployment flow/flags koji padaju nazad na system Git (npr. prisiljavanje deploy-with-attached-repo parametara) tako da će hooks zaista biti izvršeni.
  • Race the config rewrite: ako aplikacija sanitizuje .git/config neposredno pre pokretanja Git-a, spamujte endpoint koji upisuje vaš maliciozni hooksPath dok pokrećete Git akciju da pobedite u race condition i ostvarite izvršenje vašeg hook-a.

References

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks