
Pupy is an opensource, cross-platform (Windows, Linux, OSX, Android) C2 and post-exploitation framework written in python and C
pip3 install pipx
pipx ensurepath
pipx install git+https://github.com/n1nj4sec/pupy@nextgen
pupysh
Wenn Sie detailliertere Informationen wünschen, siehe Wiki
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 aus der Entwicklungsinstallation ausführen:
source pupyenv/bin/activate
python3 -m pupy.cli
Pupy ist ein plattformübergreifendes, multifunktionales C2- und Post-Exploitation-Tool, das hauptsächlich in Python geschrieben ist. Es zeichnet sich durch eine vollständig im Arbeitsspeicher ablaufende Ausführungsrichtlinie aus und hinterlässt eine sehr geringe Spur. Pupy kann über mehrere Transports kommunizieren, mit reflexiver Injektion in Prozesse migrieren und entfernten Python-Code, Python-Pakete und Python-C-Erweiterungen aus dem Speicher laden.
Windows-Payload kann den gesamten Python-Interpreter mithilfe einer reflektiven DLL aus dem Speicher laden.
Kann in eine einzelne .py-Datei gepackt werden und ohne andere Abhängigkeiten als die Python-Standardbibliothek auf allen Betriebssystemen ausgeführt werden.
Reflexiv in andere Prozesse migrieren.
Importiere reine Python-Pakete (.py, .pyc) und kompilierte Python-C-Erweiterungen (.pyd, .so) remote aus dem Speicher.
Einfach erweiterbar, Module sind einfach zu schreiben und nach Betriebssystem und Kategorie sortiert.
Module können direkt auf Python-Objekte auf dem entfernten Client zugreifen, indem sie rpyc verwenden.
Greifen Sie interaktiv von der Pupy-Shell auf entfernte Objekte zu und erhalten Sie Auto-Vervollständigung für entfernte Attribute.
Kommunikationstransporte sind modular und stapelbar. Exfiltrieren Sie Daten mit HTTP über HTTP über AES über XOR oder einer beliebigen Kombination der verfügbaren Transporte.
Kommunizieren Sie mit obfsproxy steckbaren Transporten.
Führen Sie nicht-interaktive Befehle auf mehreren Hosts gleichzeitig aus.
Auf entfernten Hosts ausgeführte Befehle und Skripte sind unterbrechbar.
Auto-Vervollständigung für Befehle und Argumente.
Benutzerdefinierte Konfiguration kann festgelegt werden: Befehlsaliase, Module, automatisch bei Verbindung ausführen usw.
Öffnen Sie interaktive Python-Shells mit Auto-Vervollständigung auf dem vollständig im Arbeitsspeicher befindlichen entfernten Python-Interpreter.
Interaktive Shells (cmd.exe, /bin/bash, etc.) können remote geöffnet werden.
PE-Executables remote und aus dem Speicher ausführen.
Erzeuge Payloads in verschiedenen Formaten:
Aus dem Speicher mit einer einzigen Befehlszeile unter Verwendung von Python- oder PowerShell-Einzeilern bereitstellen.
Betten Sie "Scriptlets" in generierte Payloads ein, um einige Aufgaben "offline" ohne Netzwerkverbindung auszuführen (z. B. Keylogger starten, Persistenz hinzufügen, benutzerdefiniertes Python-Skript ausführen, check_vm, usw.)
Mehrere Zielplattformen:
Die gesamte Dokumentation findet sich im Wiki.
Funktioniert der Server unter Windows?
Pupy wurde unter Windows nicht getestet. Theoretisch sollte es auf jeder Plattform funktionieren, die Docker und Docker Compose unterstützt. Allerdings müssen Sie die Docker-Compose-Installationsanleitung für die Windows-Plattform anpassen.
Ich kann Pupy nicht installieren. Die Installation schlägt fehl.
Wenn Sie diese Schritte nicht befolgen, wird Ihr Issue geschlossen.
Android- und/oder Mac-OSX-Payloads und -Module funktionieren nicht.
Pupy hat eingeschränkte Unterstützung für Android und OSX. Diese Plattformen werden möglicherweise nicht gut gewartet und können gelegentlich Fehler verursachen. Einige Module (z. B. Keylogger) sind für diese Plattformen möglicherweise nicht verfügbar.
Wenn Sie an der Pupy-Entwicklung teilnehmen möchten, zögern Sie nicht! Jede Hilfe wird sehr geschätzt und alle Pull-Requests werden überprüft.
Es gibt auch eine kleine Anmerkung zur Entwicklung. Bitte führen Sie vor jedem Commit flake8 aus. Die Konfigurationsdatei befindet sich hier.
| Plattform | Kontaktinfo |
|---|---|
| [email protected] | |
| https://twitter.com/n1nj4sec |
Dieses Projekt ist eine persönliche Entwicklung, bitte respektieren Sie seine Philosophie und verwenden Sie es nicht für böse Zwecke!
Besonderer Dank an alle Mitwirkenden und Unterstützer, die helfen, Pupy zu verbessern und zu einem besseren Werkzeug zu machen! :)
| Format | Architektur | Kurzname |
|---|
| ~~ Android Package ~~ | x86 & ARMv7 | apk |
| Linux Binary | x86 | lin_x86 |
| Linux Binary | x64 | lin_x64 |
| Linux Shared Object | x86 | so_x86 |
| Linux Shared Object | x64 | so_x64 |
| Windows PE Executable | x86 | exe_x86 |
| Windows PE Executable | x64 | exe_x64 |
| Windows DLL | x86 | dll_x86 |
| Windows DLL | x64 | dll_x64 |
| Python Script | x86 & x64 | py |
| Python Oneliner | x86 & x64 | py_oneliner |
| Powershell | x86 & x64 | ps1 |
| Powershell Oneliner | x86 & x64 | ps1_oneliner |
| Plattform | Unterstützungsstatus |
|---|
| Windows XP | ~~ Unterstützt ~~ Python hat die Unterstützung eingestellt |
| Windows 7 | ~~ Unterstützt ~~ Python hat die Unterstützung eingestellt |
| Windows 8 | Unterstützt |
| Windows 10 | Unterstützt |
| Linux | Unterstützt |
| Mac OSX | Eingeschränkte Unterstützung |
| Android | Eingeschränkte Unterstützung |