
Pupy — это фреймворк с открытым исходным кодом для C2 и пост-эксплуатации, кроссплатформенный (Windows, Linux, OSX, Android), написанный на Python и C.
pip3 install pipx
pipx ensurepath
pipx install git+https://github.com/n1nj4sec/pupy@nextgen
pupysh
Если вам нужна более подробная информация, обратитесь к вики
git clone https://github.com/n1nj4sec/pupy
cd pupy
git checkout nextgen
git submodule init
git submodule update
pip install venv
python3 -m venv pupyvenv
source pupyvenv/bin/activate
pip install -r requirements.txt
запустите pupysh из установки для разработки:
source pupyenv/bin/activate
python3 -m pupy.cli
Pupy — это кроссплатформенный многофункциональный инструмент C2 и пост-эксплуатации, в основном написанный на Python. Он использует подход полного выполнения в памяти и оставляет очень низкий след. Pupy может обмениваться данными через несколько транспортов, мигрировать в процессы с помощью рефлексивной инъекции и загружать удаленный код Python, пакеты Python и C-расширения Python из памяти.
Загрузчик для Windows может загрузить весь интерпретатор Python из памяти с помощью рефлексивной DLL.
Может быть упакован в один .py файл и запущен без каких-либо зависимостей, кроме стандартной библиотеки Python, на всех ОС.
Рефлексивно мигрировать в другие процессы.
Удаленно импортировать чистые пакеты Python (.py, .pyc) и скомпилированные C-расширения Python (.pyd, .so) из памяти.
Легко расширяется, модули просты в написании и сортируются по ОС и категории.
Модули могут напрямую обращаться к объектам Python на удаленном клиенте с помощью rpyc.
Интерактивный доступ к удаленным объектам из оболочки pupy с автодополнением удаленных атрибутов.
Транспорты связи являются модульными и комбинируемыми. Экспортируйте данные с помощью HTTP через HTTP через AES через XOR или любой комбинации доступных транспортов.
Общайтесь с помощью obfsproxy подключаемых транспортов.
Выполнять неинтерактивные команды на нескольких хостах одновременно.
Команды и скрипты, выполняемые на удаленных хостах, можно прерывать.
Автодополнение команд и аргументов.
Можно определить пользовательскую конфигурацию: псевдонимы команд, модули, автоматически запускаемые при подключении и т.д.
Открывать интерактивные оболочки Python с автодополнением на удаленном интерпретаторе Python, работающем полностью в памяти.
Интерактивные оболочки (cmd.exe, /bin/bash и т.д.) можно открывать удаленно.
Удаленное выполнение PE-исполняемых файлов из памяти.
Генерировать полезные нагрузки в различных форматах:
Развертывание в памяти из одной командной строки с помощью однострочных команд Python или PowerShell.
Встраивать «скриптлеты» в сгенерированные полезные нагрузки для выполнения некоторых задач «офлайн» без необходимости сетевого подключения (например, запуск кейлоггера, добавление персистентности, выполнение пользовательского Python-скрипта, check_vm и т.д.)
Несколько целевых платформ:
Вся документация находится на вики.
Работает ли сервер на Windows?
Pupy не тестировался на Windows. Теоретически он должен работать на любой платформе, поддерживающей Docker и Docker Compose. Однако вам потребуется адаптировать инструкции по установке Docker Compose для платформы Windows.
Я не могу установить Pupy. Установка не удалась.
Если вы не выполните эти шаги, ваш issue будет закрыт.
Полезные нагрузки и модули для Android и/или Mac OSX не работают.
Pupy имеет ограниченную поддержку Android и OSX. Эти платформы могут плохо поддерживаться и периодически выходить из строя. Некоторые модули (например, кейлоггер) могут отсутствовать для этих платформ.
Если кто-то из вас хочет участвовать в разработке pupy, не стесняйтесь! Любая помощь приветствуется, и все pull request будут рассмотрены.
Также есть небольшая заметка о разработке. Пожалуйста, запускайте flake8 перед любыми коммитами. Файл с конфигурацией находится здесь.
| Платформа | Контактная информация |
|---|---|
| [email protected] | |
| https://twitter.com/n1nj4sec |
Этот проект представляет собой личное развитие, пожалуйста, уважайте его философию и не используйте в злых целях!
Особая благодарность всем участникам и сторонникам, которые помогают улучшать pupy и делать его лучшим инструментом! :)
| Формат | Архитектура | Краткое имя |
|---|
| ~~ Пакет Android ~~ | x86 и ARMv7 | apk |
| Бинарный файл Linux | x86 | lin_x86 |
| Бинарный файл Linux | x64 | lin_x64 |
| Разделяемый объект Linux | x86 | so_x86 |
| Разделяемый объект Linux | x64 | so_x64 |
| Исполняемый файл Windows PE | x86 | exe_x86 |
| Исполняемый файл Windows PE | x64 | exe_x64 |
| DLL Windows | x86 | dll_x86 |
| DLL Windows | x64 | dll_x64 |
| Python-скрипт | x86 и x64 | py |
| Однострочный Python | x86 и x64 | py_oneliner |
| PowerShell | x86 и x64 | ps1 |
| Однострочный PowerShell | x86 и x64 | ps1_oneliner |
| Платформа | Статус поддержки |
|---|
| Windows XP | ~~ Поддерживается ~~ поддержка Python прекращена |
| Windows 7 | ~~ Поддерживается ~~ поддержка Python прекращена |
| Windows 8 | Поддерживается |
| Windows 10 | Поддерживается |
| Linux | Поддерживается |
| Mac OSX | Ограниченная поддержка |
| Android | Ограниченная поддержка |