
Hol dir Shells wie ein Meister.
ShellPop dreht sich alles um das Erstellen von Shells. Mit diesem Tool können Sie einfache und anspruchsvolle Reverse- oder Bind-Shell-Befehle generieren, um Ihnen bei Penetrationstests zu helfen.
Python 2.7 ist erforderlich.
3.0+ Versionen funktionieren nicht.
Erforderliche Abhängigkeiten installieren
root@kali# apt-get install python-argcomplete metasploit-framework -y
root@kali# pip install -r requirements.txt
Setup Installation
root@kali# python setup.py install
Hinweis: Nach der Installation funktioniert die automatische Vervollständigung mit der Tabulatortaste erst nach einem Neustart des Terminals.
Um alle verfügbaren Optionen dieses Tools schnell aufzulisten, verwenden Sie --help.
root@kali# shellpop --help

Sie können alle verfügbaren Shellpop-Shells mit der Option --list auflisten.
root@kali# shellpop --list

Shellpop verfügt jetzt über eine Auto-Vervollständigungsfunktion. Um sie zu nutzen, müssen Sie --number und (--reverse oder --bind) vergessen und sich einfach an das Argument --payload halten. Wie im Bild unten:

Verschwenden Sie keine Zeit. Bei diesem Tool geht es darum, KEINE Zeit zu verschwenden. Sie können die Option --clip für alle Ihre generierten Payloads verwenden und sie automatisch in Ihre Zwischenablage kopieren lassen.
Es gibt zwei Arten von Payloads in diesem Programm: Bind oder Reverse.
Reverse-Shells verwenden Ihren Angreifer-Rechner als 'Server'. Bei dieser Art von Payload benötigen Sie sowohl --host als auch --port, die auf Ihren Rechner verweisen. Ein Handler muss eingerichtet werden.
Bind-Shells verwenden den entfernten Host, um die Verbindung bereitzustellen. Bei dieser Art von Payload benötigen Sie nur die Option --port mit einer gültigen Portnummer.


Derzeit stehen zwei Hauptmethoden der Verschleierung für Ihre generierten Payloads zur Verfügung:
Ersetzt alle Variablen im Payload durch zufällig benannte. Wird automatisch auf jeden Payload angewendet.

Verschleiert die IP-Adresse und den Port, die vom Payload verwendet werden.
Geprägt von @vysecurity, nutzt IPfuscation einfach die wenig bekannte Tatsache, dass IP-Adressen in Dezimal-, Oktal- und Hexadezimalzahlen oder eine Kombination aller drei umgewandelt werden können und dennoch verwendet werden können.
Die Port-Verschleierung wird erreicht, indem die Portnummer durch einen mathematischen Ausdruck ersetzt wird, der die Portnummer ergibt.

Hier ist die IP-Adresse im generierten Payload eine Kombination verschiedener Zahlenbasen. Der erste Teil in normaler Dezimalschreibweise, der zweite und dritte Teil sind 2 und 3, umgewandelt in Oktal mit zufälligen Nullen als Auffüllung, und der vierte Teil ist 4 in Hex, ebenfalls mit einigen Nullen als Auffüllung. Die Auswahl der Basen für jeden Teil der IP-Adresse wird randomisiert, ebenso wie die Anzahl der Nullen, die als Auffüllung für Hex- und Oktalzahlen verwendet werden.
Der Port wird verschleiert, indem 443 durch einen Ausdruck ersetzt wird, der 443 ergibt. Dieser Ausdruck wird ebenfalls zufällig generiert.
Obwohl IPfuscation optional ist, wird die zufällige Variablenverschleierung jetzt automatisch auf alle Payloads angewendet. Wenn die Größe des Payloads ein echtes Problem darstellt, können Sie die Option --obfuscate-small übergeben, damit der Payload durch die Verschleierung nur minimal vergrößert wird. Die Variablennamen, IP-Adresse und Portnummer werden bei Verwendung dieser Option deutlich kürzer.

Kodierer sind spezielle Optionen, die Sie beim Generieren von Shellpop-Payloads verwenden können.
Derzeit gibt es drei Kodierungsmethoden, die einzeln oder gleichzeitig angewendet werden können:
Verwendet einen zufälligen numerischen Schlüssel (1-255), um den Payload zu verschleiern und einen Entschlüsselungs-Stub hinzuzufügen, um ihn zu entschlüsseln.
Einfache Base64-Kodierung der Payload-Daten und Hinzufügen eines Entschlüsselungs-Stubs zur Entschlüsselung.
Einfache URL-Kodierung des endgültigen Payloads.




