Git

Tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

To dump a .git folder from a URL use https://github.com/arthaud/git-dumper

Tumia https://www.gitkraken.com/ kuchunguza yaliyomo

Iwapo saraka .git inapopatikana katika programu ya wavuti unaweza kushusha yaliyomo yote kwa kutumia wget -r http://web.com/.git. Kisha, unaweza kuona mabadiliko yaliyofanywa kwa kutumia git diff.

Zana: Git-Money, DVCS-Pillage na GitTools zinaweza kutumika kupata yaliyomo ya saraka ya git.

Zana https://github.com/cve-search/git-vuln-finder inaweza kutumika kutafuta CVEs na ujumbe wa security vulnerability ndani ya commit messages.

Zana https://github.com/michenriksen/gitrob hufanya utafutaji wa data nyeti katika repositories za shirika na wafanyakazi wake.

Repo security scanner ni zana inayotumika kwa command line iliyotengenezwa kwa lengo moja: kukusaidia kugundua GitHub secrets ambazo developers kwa bahati mbaya walipakia kwa kusukuma (pushing) data nyeti. Na kama zana nyingine, itakusaidia kupata passwords, private keys, usernames, tokens na mengine.

Hapa unaweza kupata utafiti kuhusu github dorks: https://securitytrails.com/blog/github-dorks

Mbinu za haraka za /.git dumping & dirlisting bypass (2024–2026)

  • holly-hacker/git-dumper ni rewrite ya 2024 ya classic GitTools dumper yenye parallel fetching (>10x speedup). Example: 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 -- .

Triage ya haraka baada ya dump

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

Uchunguzi wa siri/nyaraka za uthibitisho (zana za sasa)

  • TruffleHog v3+: entropy+regex na utembelezaji wa historia ya Git kiotomatiki. trufflehog git file://$PWD --only-verified --json > secrets.json
  • Gitleaks (v8+): seti ya sheria za regex ya haraka, inaweza kuchunguza mti uliotolewa au historia nzima. gitleaks detect -v --source . --report-format json --report-path gitleaks.json

RCE upande wa server kupitia override ya hooksPath kwenye integrasiyo ya Git

Programu za wavuti za kisasa zinazojumuisha repos za Git wakati mwingine huandika upya .git/config kwa kutumia vitambulisho vinavyodhibitiwa na mtumiaji. Ikiwa vitambulisho hivyo vinachanganywa ndani ya hooksPath, unaweza kuelekeza Git hooks kwenye saraka inayodhibitiwa na msaliti na kutekeleza msimbo yoyote wakati server inapoendesha Git ya asili (mf., git commit). Hatua kuu:

  • Path traversal in hooksPath: ikiwa jina la repo/kifurushi cha utegemezi limekiliwa ndani ya hooksPath, ingiza ../../.. ili kutoroka saraka ya hooks iliyokusudiwa na kuonyesha kwenye eneo linaoweza kuandikwa. Hii ni kwa ufanisi path traversal katika Git config.
  • Force the target directory to exist: wakati programu inapotekeleza server-side clones, tumia vibaya udhibiti wa mahali pa clone (mf., parameter ya ref/branch/path) ili kufanya clone ndani ya ../../git_hooks au njia ya traversal inayofanana ili saraka za kati ziundwe kwa ajili yako.
  • Ship executable hooks: weka bit ya utekelezaji ndani ya metadata ya Git ili kila clone iandike hook kwa mode 100755:
git update-index --chmod=+x pre-commit

Ongeza payload yako (reverse shell, file dropper, n.k.) kwenye pre-commit/post-commit katika repo hiyo.

  • Find a native Git code path: maktaba kama JGit huzingatia hooks. Chunguza mtiririko wa deployment/flags ambazo hurudi kwenye system Git (mf., forcing deploy-with-attached-repo parameters) ili hooks ziweze kukimbia.
  • Race the config rewrite: ikiwa app inasafisha .git/config kabla kabisa ya kuendesha Git, spam endpoint inayoiandika hooksPath yako yenye madhara huku ukichochea kitendo cha Git ili kushinda [race condition] na kuona hook yako ikitekelezwa.

References

Tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks