
GitPwnd è uno strumento di penetrazione di rete che ti consente di utilizzare un repository git per il comando e controllo di macchine compromesse.
GitPwnd è uno strumento per supportare i test di penetrazione di rete. GitPwnd consente a un attaccante di inviare comandi alle macchine compromesse e di ricevere i risultati usando un repository git come livello di trasporto per il comando e controllo. Utilizzando git come meccanismo di comunicazione, le macchine compromesse non devono comunicare direttamente con il tuo server di attacco, che si trova probabilmente su un host o un IP considerato non affidabile dalla macchina compromessa.
Attualmente GitPwnd presume che il repository git di comando e controllo sia ospitato su GitHub, ma questo è solo un dettaglio implementativo dell'iterazione attuale. La stessa tecnica è ugualmente applicabile a qualsiasi servizio in grado di ospitare un repository git, come BitBucket, Gitlab, ecc.
Lo script di configurazione di GitPwnd (setup.py) e il server (server/) sono stati scritti e testati usando Python3, ma probabilmente funzioneranno anche con Python 2.7. Il processo di bootstrap per impostare la persistenza sulle macchine compromesse è stato testato su Python 2.7.
# Install Python dependencies
$ pip3 install -r requirements.txt --user
# Set up config
$ cp config.yml.example config.yml
# Configure config.yml with your custom info
# Run the setup script
$ python3 setup.py config.yml
$ cd server/
$ pip3 install -r requirements.txt --user
$ python3 server.py
Contributi benvenuti! Sentiti libero di aprire una issue o una PR e ti risponderemo il prima possibile.