
pyshell2bin
Wenn du mit Exploits und Shellcode arbeitest, weißt du bereits, was Shellcode ist und wie du damit umgehst. Manchmal kommt er mit Exploits in C, Perl, Python… Er sieht normalerweise so aus:
payload = (b"xbfxabxd0x9ax5bxdaxc7xd9x74x24xf4x5ax2bxc9" + "xb1x45x83xc2x04x31x7ax11x03x7ax11xe2x5ex2c" + "x72xd2xa0xcdx83x85x29x28xb2x97x4dx38xe7x27" + ...
Aber manchmal benötigst du eine binäre Dateidarstellung dieses Shellcodes, um ihn in eine Datei zu injizieren, zu debuggen oder aus welchem Grund auch immer. Es gibt alle möglichen Skripte, die sich mit Shellcode befassen und verschiedene Aufgaben erfüllen. Binär zu Shellcode, Shellcode zu Binär (nur für Bash)… Aber ich konnte kein einfaches Skript finden, um das unter Windows zu bewerkstelligen. Selbst den Befehl „xxd“ (einen Hexdump erstellen) für Windows zu finden, ist möglich, aber nicht einfach (er scheint bei Vim für Windows enthalten zu sein, war aber früher bei unixtools verfügbar…).
Wie auch immer, hier ist ein einfaches Python-Skript, das unter Windows funktioniert und die Aufgabe erledigt. Es toleriert unsauberen Shellcode (Leerzeichen, Zeilenumbrüche, Verkettungsbefehle…) und behält nur Hex-Zeichen. Dann verwendet es „write“ mit „wb“, sodass du eine Binärdatei erhältst. Schnell und schmutzig.