
GitPwnd — это инструмент сетевого проникновения, который позволяет использовать git-репозиторий для командования и управления скомпрометированными машинами.
GitPwnd — это инструмент, помогающий в проведении тестов на проникновение в сеть. GitPwnd позволяет атакующему отправлять команды на скомпрометированные машины и получать результаты обратно, используя git-репозиторий в качестве транспортного уровня для канала управления (C2). Благодаря использованию git в качестве механизма связи скомпрометированным машинам не нужно напрямую связываться с вашим атакующим сервером, который, скорее всего, находится на хосте или IP-адресе, которому скомпрометированная машина не доверяет.
В настоящее время GitPwnd предполагает, что git-репозиторий канала управления размещён на GitHub, но это лишь деталь реализации для текущей итерации. Тот же метод в равной степени применим к любому сервису, способному размещать git-репозиторий, будь то BitBucket, GitLab и т. д.
Скрипт настройки GitPwnd (setup.py) и сервер (server/) были написаны и протестированы с использованием Python3, но Python 2.7, скорее всего, тоже будет работать. Процесс начальной загрузки для установки персистентности на скомпрометированных машинах тестировался на 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
Вклад приветствуется! Пожалуйста, не стесняйтесь создавать issue или PR, и мы свяжемся с вами как можно скорее.