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.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Για να εξαγάγετε έναν φάκελο .git από ένα URL, χρησιμοποιήστε https://github.com/arthaud/git-dumper
Χρησιμοποιήστε https://www.gitkraken.com/ για να επιθεωρήσετε το περιεχόμενο
Εάν ένας κατάλογος .git βρεθεί σε μια web εφαρμογή, μπορείτε να κατεβάσετε όλο το περιεχόμενο με wget -r http://web.com/.git. Στη συνέχεια, μπορείτε να δείτε τις αλλαγές που έγιναν χρησιμοποιώντας git diff.
Τα εργαλεία: Git-Money, DVCS-Pillage και GitTools μπορούν να χρησιμοποιηθούν για την ανάκτηση του περιεχομένου ενός καταλόγου git.
Το εργαλείο https://github.com/cve-search/git-vuln-finder μπορεί να χρησιμοποιηθεί για αναζήτηση CVEs και μηνυμάτων ευπαθειών ασφαλείας μέσα σε μηνύματα commit.
Το εργαλείο https://github.com/michenriksen/gitrob αναζητά ευαίσθητα δεδομένα στα repositories μιας οργάνωσης και των υπαλλήλων της.
Repo security scanner είναι ένα εργαλείο command line που γράφτηκε με έναν στόχο: να σας βοηθήσει να ανακαλύψετε GitHub secrets που οι προγραμματιστές τυχαία έκαναν push όταν ανέβασαν ευαίσθητα δεδομένα. Και όπως τα άλλα, θα σας βοηθήσει να βρείτε passwords, private keys, usernames, tokens και άλλα.
Εδώ θα βρείτε μια μελέτη για 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-force σε object names από
.git/index,packed-refs, κ.λπ. για να ανακτήσει repos ακόμη και όταν το directory traversal είναι απενεργοποιημένο:python3 git-dump.py https://victim/.git/ dump && cd dump && git checkout -- .
Γρήγορη αξιολόγηση μετά το 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
Αναζήτηση μυστικών/διαπιστευτηρίων (τρέχοντα εργαλεία)
- 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 σε server-side ενσωμάτωση Git μέσω override του hooksPath
Σύγχρονες web εφαρμογές που ενσωματώνουν Git repos μερικές φορές επανεγγράφουν **.git/config χρησιμοποιώντας αναγνωριστικά ελεγχόμενα από τον χρήστη**. Αν αυτά τα αναγνωριστικά συγχωνεύονται στο hooksPath, μπορείτε να ανακατευθύνετε τα Git hooks σε έναν κατάλογο που ελέγχεται από τον επιτιθέμενο και να εκτελέσετε αυθαίρετο κώδικα όταν ο server τρέξει native Git (π.χ., git commit`). Κύρια βήματα:
- Path traversal in
hooksPath: αν ένα repo name/dependency name αντιγράφεται στοhooksPath, εισάγετε../../..για να ξεφύγετε από τον προοριζόμενο κατάλογο hooks και να δείξετε σε μια εγγράψιμη τοποθεσία. Αυτό είναι ουσιαστικά ένα path traversal στο Git config. - Force the target directory to exist: όταν η εφαρμογή εκτελεί server-side clones, καταχραστείτε τους ελέγχους προορισμού clone (π.χ., παράμετρο
ref/branch/path) ώστε να κάνει clone σε../../git_hooksή σε παρόμοιο traversal path ώστε οι ενδιάμεσοι φάκελοι να δημιουργηθούν για εσάς. - Ship executable hooks: ορίστε το executable bit μέσα στα metadata του Git ώστε κάθε clone να γράφει το hook με mode
100755:
git update-index --chmod=+x pre-commit
Προσθέστε το payload σας (reverse shell, file dropper, κ.λπ.) στο pre-commit/post-commit σε αυτό το repo.
- Find a native Git code path: βιβλιοθήκες όπως JGit αγνοούν τα hooks. Αναζητήστε deployment flows/flags που επιστρέφουν στο system Git (π.χ., forcing deploy-with-attached-repo parameters) ώστε τα 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.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.


