Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
shellen — :cherry_blossom: Interaktive Shellcoding-Umgebung zum einfachen Erstellen von Shellcodes | Kitploit
Tools/GitHubGitHub/konatabrk/shellen
ExploitationReverse EngineeringShellcodeCTFBinäranalyseLernen & BildungShellcode-GenerierungPayload-Entwicklung
GitHubkonatabrk/shellen

shellen

🌸 Interaktive Shellcoding-Umgebung zum einfachen Erstellen von Shellcodes

Repository anzeigen
90793vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Shellen

Allgemeines

Shellen ist eine interaktive Umgebung zum Erstellen von Shellcodes. Wenn du ein praktisches Werkzeug zum Schreiben von Shellcodes suchst, dann könnte Shellen dein Freund sein. Shellen kann auch als Assemblierungs- oder Disassemblierungswerkzeug verwendet werden.

Die Engines keystone und capstone werden für alle Operationen von Shellen verwendet.

Shellen funktioniert nur mit python3. python2-Unterstützung könnte in der Zukunft erscheinen.

Installation

Zuerst solltest du die Abhängigkeiten von Shellen installieren:

root@kitploit:~
$ sudo apt-get install cmake python3-dev python3-setuptools

Du kannst die stabile Version von Shellen mit pip3 installieren:

root@kitploit:~
$ sudo pip3 install shellen

Oder falls du bereits alle erforderlichen Pakete hast (siehe Voraussetzungen):

root@kitploit:~
$ python3 setup.py install

Falls du Probleme bei der Installation von keystone-engine hast, solltest du keystone-engine kompilieren (siehe die Datei COMPILE.md im Repository keystone)

So startest du Shellen

Nachdem du Shellen und die erforderlichen Pakete installiert hast, kannst du Shellen starten, indem du Folgendes in deinem Terminal eingibst:

root@kitploit:~
$ shellen

Du kannst den Befehl help von Shellen ausführen, um Informationen über die Verwendung von Shellen zu erhalten.

Funktionen von Shellen

Shellen assembliert und disassembliert Instruktionen, daher gibt es zwei Verwendungsmodi: asm bzw. dsm. Weitere Funktionen umfassen das Durchsuchen von Syscall-Tabellen und die Suche nach gängigen Shellcodes.

Prompt

Shellen verfügt über eine nützliche Eingabeaufforderung, die den aktuellen Modus, das Betriebssystem (OS für Syscalls) und die gewählte Architektur des aktuellen Modus anzeigt. Die Eingabeaufforderung von Shellen sieht wie folgt aus:

root@kitploit:~
L:asm:x86_32 >

Du kannst deine Eingabe bearbeiten, als ob du in einem Terminal tippen würdest. Außerdem speichert Shellen deinen Befehlsverlauf (drücke einfach die Pfeil-nach-oben-Taste, um deine vorherigen Befehle zu sehen).

L ist die Kurzform von Linux in der Eingabeaufforderung. Unten sind alle anderen Betriebssystemnamen aufgelistet:

  • L ist Linux
  • W ist Windows
  • M ist MacOS

Wenn du das Betriebssystem wechseln möchtest, gib setos [linux/windows/macos] wie folgt ein:

root@kitploit:~
L:asm:x86_32 > setos windows

[+] OS changed to windows.

Um den aktuellen Modus zu wechseln, gib asm oder dsm in der Eingabeaufforderung ein.

root@kitploit:~
L:dsm:arm32 > asm

[+] Changed to asm (assembly) mode

L:asm:x86_32 > dsm

[+] Changed to dsm (disassembly) mode

L:dsm:arm32 > 

Basiskommandos

BefehlBeschreibung
clearLeert den Terminalbildschirm. Wie üblich cls unter Windows oder clear unter *nix-Systemen.

Assemblierung

Um Instruktionen zu assemblieren, gib sie ein und trenne sie mit Semikolons, wie hier gezeigt:

root@kitploit:~
L:asm:x86_32 > mov edx, eax; xor eax, eax; inc edx; int 80;
   [+] Bytes count: 7
       Raw bytes:  "\x89\xc2\x31\xc0\x42\xcd\x50"
       Hex string: "89c231c042cd50"

Falls deine assemblierten Bytes ein Nullbyte enthalten, wird Shellen dich darauf hinweisen.

Disassemblierung

Disassemblieren ähnelt dem Assemblieren. Gib stattdessen deine Bytes in der Eingabeaufforderung ein und sieh dir das Ergebnis an!

root@kitploit:~
L:dsm:x86_32 > 89c231c042cd50
        0x00080000:     mov     edx, eax
        0x00080002:     xor     eax, eax
        0x00080004:     inc     edx
        0x00080005:     int     0x50

Shellcode ausführen

Außerdem kannst du deinen Shellcode in einem Unterprozess ausführen. Sei dir bewusst, dass dies deinem System schaden kann!. Springt zum letzten Shellcode in einem Unterprozess. Was könnte schon schiefgehen?' Beachte, dass du nicht kontrollieren kannst, an welcher Basisadresse dein Code geladen wird, und dass vorausgesetzt wird, dass die Instruktionen für deine CPU sinnvoll sind. Siehe help innerhalb von shellen, um zu erfahren, wie du es verwendest.

Ich plane, den Unterprozess in einer virtuellen Umgebung auszuführen, um das Ausführen potenziell gefährlicher Shellcodes sicherer zu machen.

Architekturen

Die Modi asm und dsm funktionieren für verschiedene Architekturen. Um eine Liste der verfügbaren Architekturen für den aktuellen Modus von Shellen zu sehen, gib Folgendes ein:

root@kitploit:~
L:dsm:x86_32 > archs
┌────────┬────────┬─────────┬─────────┬────────┐
│        │        │         │         │        │
│ arm32  │ mips32 │ sparc32 │ systemz │ x86_16 │
│ arm64  │ mips64 │ sparc64 │         │ x86_32 │
│ arm_tb │        │         │         │ x86_64 │
└────────┴────────┴─────────┴─────────┴────────┘

Wenn du die aktuelle Architektur wechseln möchtest, gib Folgendes ein:

root@kitploit:~
L:dsm:x86_32 > setarch arm32

[+] Architecture of dsm changed to arm32

Syscalls

Wenn du einen Shellcode erstellst, benötigst du Syscalls. Um mit Shellen nach Syscalls zu suchen, gib sys und den Namen des gewünschten Syscalls ein. Shellen erstellt eine Liste von Syscalls, die den gesuchten Syscall enthalten könnte.

root@kitploit:~
L:asm:x86_32 > sys open

┌────────┬───────┬──────────────────────┬──────────────────────┬──────────────┬──────────────┐
│ name   │ eax   │ ebx                  │ ecx                  │ edx          │ esi          │
├────────┼───────┼──────────────────────┼──────────────────────┼──────────────┼──────────────┤
│ open   │ 0x05  │ const char *filename │ int flags            │ umode_t mode │ -            │
│ openat │ 0x127 │ int dfd              │ const char *filename │ int flags    │ umode_t mode │
└────────┴───────┴──────────────────────┴──────────────────────┴──────────────┴──────────────┘

sys gibt eine Liste möglicher Varianten für den angegebenen Syscall aus. Die Syscall-Tabelle, die Shellen durchsucht, hängt von der gewählten Architektur und dem Betriebssystem (OS) ab. In diesem Fall ist die Architektur x86_32 und das Betriebssystem Linux.

Gängige Shellcodes

Shellen kann dir je nach Schlüsselwort eine Liste gängiger Shellcodes anzeigen. Die Schlüsselwortsuche von Shellen nutzt die API von shell-storm.org (Dank an den Autor!) und kann wie folgt verwendet werden:

root@kitploit:~
L:asm:x86_32 > shell <keyword> <count>

Beachte, dass der Parameter count nicht erforderlich ist. Im Abschnitt Bilder gibt es ein Bild der Ausgabe von shell <keyword> <count>.

Unterstützte Betriebssysteme

Derzeit wird Shellen nur unter Linux unterstützt. Wenn du Funktionen für Windows oder MacOS hinzufügen möchtest, erstelle ein Issue und ich werde die Unterstützung hinzufügen.

So meldest du Probleme oder forderst neue Funktionen an

Wenn du ein Problem/einen Bug oder etwas Ähnliches findest, erstelle ein Issue zu diesem Problem. Wenn du außerdem denkst, dass eine Funktion eine schöne Ergänzung für Shellen wäre, mache dasselbe – erstelle ein Issue und ich werde versuchen, deine gewünschte Funktion hinzuzufügen.

Voraussetzungen

  • keystone
  • capstone
  • colorama
  • termcolor
  • terminaltables

TODO

  • Assemblierung
  • Disassemblierung
  • Syscall-Listen
  • Datenbank gängiger Shellcodes
  • ROP-Builder hinzufügen
  • Mehrzeilige Bearbeitung von Assembler-Code hinzufügen
  • Getrennte Verläufe für die Modi asm und dsm
  • Virtuelle Umgebung zum Ausführen von Shellcodes

Bilder

Nur ein paar Bilder. (Sie sind veraltet, weil verschiedene Funktionen hinzugefügt wurden)





Tool herunterladen
help
Zeigt die Hilfemeldung an.
quit,q,exitBeendet die aktuelle Sitzung und beendet das Programm