
Ottieni shell come un maestro.
Shellpop è tutto incentrato sul far scoppiare shell. Con questo strumento puoi generare comandi di reverse o bind shell facili e sofisticati per aiutarti durante i test di penetrazione.
È richiesto Python 2.7.
La versione 3.0+ non funzionerà.
Installazione delle dipendenze richieste
root@kali# apt-get install python-argcomplete metasploit-framework -y
root@kali# pip install -r requirements.txt
Installazione del setup
root@kali# python setup.py install
Nota: Dopo l'installazione, il completamento automatico con tab funzionerà solo dopo aver riavviato il terminale.
Per elencare rapidamente tutte le opzioni disponibili di questo strumento, usa --help.
root@kali# shellpop --help

Puoi elencare tutte le shell disponibili di shellpop usando l'opzione --list.
root@kali# shellpop --list

Ora shellpop ha la funzione di auto-completamento. Per usarla, devi dimenticare --number e (--reverse o --bind), e utilizzare direttamente l'argomento --payload. Come nell'immagine qui sotto:

Non perdere tempo. Questo strumento è pensato per non sprecare tempo. Quindi puoi usare l'opzione --clip per tutti i tuoi payload generati e farli copiare automaticamente negli appunti.
Ci sono due tipi di payload in questo programma: Bind o Reverse.
Le reverse shell utilizzano la tua macchina attaccante come "server". In questo tipo di payload, hai bisogno sia di --host che di --port che puntino alla tua macchina. È necessario impostare un handler.
Le bind shell utilizzano l'host remoto per servire la connessione. In questo tipo di payload, tutto ciò che serve è l'opzione --port con un numero di porta valido.


Attualmente ci sono due metodi principali di oscuramento disponibili per i tuoi payload generati:
Sostituisce tutte le variabili nel payload con nomi casuali. Applicato automaticamente a ogni payload.

Oscura l'indirizzo IP e la porta utilizzati dal payload
Coniato da @vysecurity, IPfuscation sfrutta semplicemente il fatto poco noto che gli indirizzi IP possono essere convertiti in numeri decimali, ottali ed esadecimali, o una combinazione di tutti e tre, e possono ancora essere utilizzati.
L'oscuramento della porta viene realizzato sostituendo il numero di porta con un'espressione matematica che restituisce il numero di porta.

Qui l'indirizzo IP nel payload generato è una combinazione di diverse basi numeriche. La prima parte in notazione decimale normale, la seconda e la terza parte sono 2 e 3 convertiti in ottale con zeri casuali come padding, e la quarta parte è 4 in esadecimale, anche con alcuni zeri come padding. La selezione delle basi da utilizzare in ogni parte dell'indirizzo IP è randomizzata, così come il numero di zeri usati come padding per i numeri esadecimali e ottali.
La porta viene oscurata sostituendo 443 con un'espressione che restituisce 443. Anche questa espressione è generata casualmente.
Sebbene IPfuscation sia opzionale, l'oscuramento casuale delle variabili è ora applicato automaticamente a tutti i payload. Se la dimensione del payload è una preoccupazione reale, puoi passare l'opzione --obfuscate-small per avere un aumento minimo delle dimensioni dovuto all'oscuramento. I nomi delle variabili, l'indirizzo IP e il numero di porta saranno significativamente più brevi quando si utilizza questa opzione.

I codificatori sono opzioni speciali che puoi utilizzare durante la generazione dei payload di shellpop. Attualmente ci sono tre metodi di codifica che possono essere applicati singolarmente o contemporaneamente, e sono:
Utilizza una chiave numerica casuale (1-255) per oscurare il payload e aggiunge uno stub di decifratura per decodificarlo.
Semplice codifica base64 nei dati del payload e aggiunta di uno stub di decifratura per decodificarlo.
Semplice codifica URL sul payload finale.






Handler è un meccanismo per "gestire" l'atto di servire un socket per ricevere la connessione in entrata o per connettersi a un endpoint server in modo da stabilire la tua shell.
Attualmente è supportato il seguente handler TCP:
Ciò significa che ogni shell TCP può avere l'opzione --handler aggiunta al loro argomento da riga di comando. Eliminando la necessità per l'operatore di avviare l'handler (probabilmente ncat o nc) da solo.

Questa funzionalità è stata ampiamente richiesta dalle persone che utilizzano questo strumento. Ora è tecnicamente possibile aggiornare tutte le shell di shellpop a meterpreter, poiché dalla versione 0.3.6, l'handler utilizza per impostazione predefinita il Metasploit Framework per far atterrare le shell.

Uno stager è un meccanismo per servire il tuo payload in STAGES. A volte la complessità o la dimensione del payload possono essere problematiche. In tali casi, puoi creare un piccolo payload che a sua volta può richiedere ed eseguire quello più grande.
Attualmente è supportato il seguente protocollo per stager:
ShellPop ha il seguente insieme di stager HTTP per adattarsi a qualsiasi scenario tu voglia:
Per utilizzare lo staging HTTP, aggiungi alla riga di comando --stager http e, opzionalmente, se vuoi specificare la porta del server HTTP, il flag --http-port metterà il numero della tua porta davanti a quelle predefinite.

Attualmente è supportato il supporto di due protocolli per far atterrare le tue shell:

Questo codice è stato creato da Andre Marques (@zc00l) e dai collaboratori di questo progetto.
È reso pubblico nel momento in cui è stato rilasciato su questo github.
Eventuali danni causati da questo strumento non rendono responsabile nessun collaboratore, incluso l'autore.
Apprezziamo davvero tutti i contributori.