
Pupy è un framework open source e multipiattaforma (Windows, Linux, OSX, Android) per C2 e post-esplorazione, scritto in Python e C.
pip3 install pipx
pipx ensurepath
pipx install git+https://github.com/n1nj4sec/pupy@nextgen
pupysh
Per informazioni più dettagliate Fai riferimento al 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
esegui pupysh dall'installazione di sviluppo:
source pupyenv/bin/activate
python3 -m pupy.cli
Pupy è uno strumento C2 e di post-exploitation cross-platform e multifunzione, principalmente scritto in Python. Segue una linea guida di esecuzione tutto-in-memoria e lascia un'impronta molto bassa. Pupy può comunicare utilizzando più trasporti, migrare in processi tramite iniezione riflettente e caricare codice Python remoto, pacchetti Python ed estensioni C Python dalla memoria.
Il payload per Windows può caricare l'intero interprete Python dalla memoria utilizzando una DLL riflettente.
Può essere impacchettato in un singolo file .py ed eseguito senza dipendenze oltre alla libreria standard Python su tutti i sistemi operativi.
Migra riflettentemente in altri processi.
Importa remotamente pacchetti Python puri (.py, .pyc) ed estensioni C Python compilate (.pyd, .so) dalla memoria.
Facilmente estensibile, i moduli sono semplici da scrivere e sono ordinati per sistema operativo e categoria.
I moduli possono accedere direttamente agli oggetti Python sul client remoto utilizzando rpyc.
Accedi in modo interattivo agli oggetti remoti dalla shell di pupy e ottieni il completamento automatico degli attributi remoti.
I trasporti di comunicazione sono modulari e impilabili. Esfiltra dati usando HTTP su HTTP su AES su XOR, o qualsiasi combinazione dei trasporti disponibili.
Comunica utilizzando trasporti pluggable di obfsproxy.
Esegui comandi non interattivi su più host contemporaneamente.
I comandi e gli script in esecuzione su host remoti sono interrompibili.
Completamento automatico per comandi e argomenti.
Configurazione personalizzata definibile: alias di comandi, moduli eseguiti automaticamente alla connessione, ecc.
Apri shell Python interattive con completamento automatico sull'interprete Python remoto tutto-in-memoria.
Si possono aprire shell interattive (cmd.exe, /bin/bash, ecc.) in remoto.
Esegui eseguibili PE in remoto e dalla memoria.
Genera payload in vari formati:
Distribuisci in memoria da una singola riga di comando usando one-liner Python o Powershell.
Incorpora "scriptlet" nei payload generati per eseguire alcune attività "offline" senza necessità di connettività di rete (es: avviare keylogger, aggiungere persistenza, eseguire script Python personalizzato, check_vm, ecc.)
Multiple piattaforme target:
Tutta la documentazione si trova sul wiki.
Il server funziona su Windows?
Pupy non è stato testato su Windows. In teoria, dovrebbe funzionare su qualsiasi piattaforma che supporti Docker e Docker Compose. Tuttavia, dovrai adattare le istruzioni di installazione di Docker Compose per la piattaforma Windows.
Non riesco a installare Pupy. L'installazione fallisce.
Se non segui questi passaggi, il tuo problema verrà chiuso.
I payload e i moduli per Android e/o Mac OSX non funzionano.
Pupy ha un supporto limitato per Android e OSX. Queste piattaforme potrebbero non essere ben mantenute e potrebbero rompersi intermittentemente. Alcuni moduli (es. keylogger) potrebbero essere assenti per queste piattaforme.
Se qualcuno di voi vuole partecipare allo sviluppo di pupy, non esitate! Ogni aiuto è molto apprezzato e tutte le pull request saranno esaminate.
C'è anche una piccola nota sullo sviluppo. Per favore esegui flake8 prima di fare qualsiasi commit. Il file con la configurazione è qui.
| Piattaforma | Informazioni di Contatto |
|---|---|
| [email protected] | |
| https://twitter.com/n1nj4sec |
Questo progetto è uno sviluppo personale, per favore rispettane la filosofia e non usarlo per scopi malvagi!
Un ringraziamento speciale a tutti i contributori e sostenitori che aiutano a migliorare pupy e a renderlo uno strumento migliore! :)
| Formato | Architettura | Nome Breve |
|---|
| ~~ Pacchetto Android ~~ | x86 e ARMv7 | apk |
| Binario Linux | x86 | lin_x86 |
| Binario Linux | x64 | lin_x64 |
| Oggetto Condiviso Linux | x86 | so_x86 |
| Oggetto Condiviso Linux | x64 | so_x64 |
| Eseguibile PE Windows | x86 | exe_x86 |
| Eseguibile PE Windows | x64 | exe_x64 |
| DLL Windows | x86 | dll_x86 |
| DLL Windows | x64 | dll_x64 |
| Script Python | x86 e x64 | py |
| One-liner Python | x86 e x64 | py_oneliner |
| Powershell | x86 e x64 | ps1 |
| One-liner Powershell | x86 e x64 | ps1_oneliner |
| Piattaforma | Stato del Supporto |
|---|
| Windows XP | ~~ Supportato ~~ Python ha interrotto il supporto |
| Windows 7 | ~~ Supportato ~~ Python ha interrotto il supporto |
| Windows 8 | Supportato |
| Windows 10 | Supportato |
| Linux | Supportato |
| Mac OSX | Supporto Limitato |
| Android | Supporto Limitato |