Coder Social home page Coder Social logo

zengshuai / githacker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wangyihang/githacker

0.0 1.0 0.0 1.83 MB

πŸ•·οΈ A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches, common tags.

Python 97.75% Makefile 1.21% Dockerfile 1.05%

githacker's Introduction

GitHacker

Desciption

This is a multiple threads tool to exploit 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 by brute forcing common .git folder files.

With GitHacker's help, you can view the developer's commit history, branches, ..., stashes, which makes a better understanding of the target repo, even to find security vulnerabilities.

PROCLAMATION (IMPORTANT)

Several VULNERABILITIES have been reported recently, if you are using GitHacker <= 1.1.0, please update your tool as soon as possible.

The remote .git folder maybe malicious, so to prevent you from being attacked. It's highly recommended that you SHOULD run this tool under a disposable jailed environment (eg: Docker container).

Requirments

  • git >= 2.11.0
  • Python 3

Usage in Docker (Recommended)

# print help info
docker run wangyihang/githacker --help
# quick start
docker run -v $(pwd)/results:/tmp/githacker/results wangyihang/githacker --output-folder /tmp/githacker/results --url http://127.0.0.1/.git/
# brute for the name of branchs / tags
docker run -v $(pwd)/results:/tmp/githacker/results wangyihang/githacker --brute --output-folder /tmp/githacker/results --url http://127.0.0.1/.git/
# exploit multiple websites, one site per line
docker run -v $(pwd)/results:/tmp/githacker/results wangyihang/githacker --brute --output-folder /tmp/githacker/results --url-file websites.txt 

Usage

# install
python3 -m pip install -i https://pypi.org/simple/ GitHacker
# print help info
githacker --help
# 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
# exploit multiple websites, one site per line
githacker --brute --url-file websites.txt --output-folder result

Comparison of other tools

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 ❌ βœ”οΈ βœ”οΈ βœ”οΈ βœ”οΈ πŸ’ͺ βœ”οΈ πŸ’ͺ

Example

Demo

TODO

  • Download packed files firstly (Unsolvable via StackOverflow)
  • Fix infinit downloading 404 files, #25
  • Fix error when master branch not exists, #18
  • Extract branch names from .git/logs/HEAD, #18
  • Publish Docker image to hub.docker.com
  • Add Dockerfile
  • Fix stash files missing due to the fix of #21, #23, #24 (git clone can't download stash files)
  • Use python f'string in test.py
  • Download tags and branches when Index enabled
  • Try common tags and branches when Index disabled
  • find packed refs

Videos

asciinema

asciicast

YouTube

Security Issues

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)

  • To be released

2022-03-01 Fixed: Remote Code Execution via malicious .git/config and .git/hooks/* files (Reported by Justin Steven)

  • To be released

References

Acknowledgement

Licsence

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

githacker's People

Contributors

wangyihang avatar l3s10n avatar infdahai avatar jeroldcamacho avatar expoli avatar yctseng1227 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.