This is a multiple threads tool to detect whether a site has the .git
folder
leakage vulnerability. It is able to download the target .git
folder almost
completely. This tool also works when the DirectoryListings
feature is
disabled. It is worth mentioning that this tool will download almost all files
of the target git repository and then rebuild them locally, which makes this
tool State of the art in this area. For example, tools like [githack] just
simply restore the latest version. With GitHacker's help, you can view the
developer's commit history, which makes a better understanding of the character
and psychology of developers, so as to lay the foundation for further code
audition.
The remote .git
folder maybe malicious, so to prevent you from being attacked.
I highly recommend you run this tool under a disposable jailed environment
(eg: docker container).
2021-08-01 Fixed: Malicious .git folder maybe harmful to the user of this tool (Reported by Driver Tom)
2022-03-01 Fixed: Arbitrary file write via recursive file downloader (Reported by Justin Steven)
- The analysis is to be released.
2022-03-01 Fixed: Remote Code Execution via malicious .git/config
and .git/hooks/*
files (Reported by Justin Steven)
- The analysis is to be released.
2021-05-25
Tools | Index | Source Code | Reflogs | Stashes | Commits | Branches | Remotes | Tags |
---|---|---|---|---|---|---|---|---|
GitTools | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
dvcs-ripper | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
GitHack | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
git-dumper | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
GitHacker | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
GitTools | ❌ | ✔️ | ✔️ | ❌ | ✔️ | ❌ | ✔️ | ❌ |
dvcs-ripper | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
GitHack | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
git-dumper | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
GitHacker | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | 💪 | ✔️ | 💪 |
- git >= 2.11.0
- Python 3
pip3 install GitHacker
# quick start
githacker --url http://127.0.0.1/.git/ --output-folder result
# brute for the name of branchs / tags
githacker --brute --url http://127.0.0.1/.git/ --output-folder result
- Publish Docker image to hub.docker.com
- Add Dockerfile
- Fix stash files missing due to the fix of #21 (
git clone
can't download stash files) - Fix infinit downloading 404 files
- Use python f'string in
test.py
-
Download packed files firstly(Unsolvable via StackOverflow) - Download tags and branches when Index enabled
- Try common tags and branches when Index disabled
- find packed refs
- 【.git/ folder attack】Comparison of attack tools (Part I)
- 【.git/ folder attack】Comparison of attack tools (Part II)
THE DRINKWARE LICENSE
<[email protected]> wrote this file. As long as
you retain this :x:tice you can do whatever you want
with this stuff. If we meet some day, and you think
this stuff is worth it, you can buy me the following
drink(s) in return.
Red Bull
JDB
Coffee
Sprite
Cola
Harbin Beer
etc
Wang Yihang