000
13.06.2007, 08:02 Uhr
me-S-on
|
Joahh, Hallo mal wieder. Habe da son Standard shellcode. Soll ich den mal posten? Mache ich, wenn jemand "ja" antwortet, so bombe ich nur das board zu. - Nun zu meinem Fehler. - Ein Simpler Shellcode, der auf Linux per Syscall execve() eine shell ausführt. - bereits "entsegmentiert" - bereits "ausgenullt" - mit jmp short und call - wie Ihr veilleicht wisst, springt man zu der Stelle wo der call stattfindet. - nach dem call wird die Steingvariable deklariert, auf die ESP dann zeigt, dieser wird im ebx gesichert. Ich habe alle Nullen wegbekommen, nur nicht die am Ende des Strings. Der String ist '/bin/sh',0 und ich machte ihn zu '/bin/shA'.
Zur laufzeit habe ich dann vorgehabt , nachdem ich die return Adresse das calls vom Stack in ebx gesichert habe, das A durch eine 0 zu ersetzen.
mov byte [ebx+7], 0 und auch nach dem "xoren" von eax und anschliessendem
mov byte [ebx+z], al
wird mir immer beim Ausführen ein Segmentation fault angezeigt.
Bei gelegenheit: wie benutze ich den gdb RICHTIG? Ich gebe gbd exsh ein. Darauf startet de, aber nicht die File. Danke schonmal. Ach, wenn Ihr den ganzen code braucht, nur sagen..... -- - Bonus vir semper tiro - |