PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shellcode ausführen?



Sirect
13.04.2009, 00:35
Hey,
Gibt es eine Möglichkeit Shellcode direkt in Perl (oder sogar VB) auszuführen?
Ich möchte damit also bspw. eine Bindshell öffnen oder whatever.

Danke!

noctem
13.04.2009, 00:45
Ich wüsste nicht, dass das geht.
Für was auch? Wenn du Perlscripte starten kannst, kannst du deine Shell oder was auch immer du tun willst, direkt in Perl schreiben und ausführen!?

cTPu1bjo
13.04.2009, 13:19
Ich frage mich auch warum man sowas in Perl machen sollte. Perl ist nicht für sowas wie Speicherzugriffe gedacht.
Zu deinem Problem: Inline Assembler

GregorSamsa
13.04.2009, 13:36
Unter C währe das zum Beispiel Problemlos machbar...

cTPu1bjo
13.04.2009, 14:17
In der Tat, beileibe, wohlwahr. Wieso willst du Perl verwenden, wenn es andere Sprachen gibt die quasi für sowas "gemacht" sind?

Bozok
13.04.2009, 14:26
CallWindowProc? Sollte gehen aber crasht VB Apps...

l0dsb
13.04.2009, 15:26
Ich gehe mal von C/C++ aus, inwiefern Perl ähnliche Sprachelemente bereitstellt, weiß ich jedoch nicht.

Gehen wir von einem simplen Shellcode aus:

unsigned char *Shell = "\xc3"; // retn

Inline-Assembly:

__asm call Shell // oder ähnlich, jmp, push/retn, ...

Funktionspointer (etwas sauberer, im Bezug auf x86/x64):

typedef void (__stdcall *fShell)();
fShell MyShell = (fShell)Shell;
MyShell();