Exploit pop3 serveru
shozeni serveru
-pouzili jsme ruzne programy na opetovne sestaveni zdrojoveho kodu...ale bez vysledku...napriklad: IL Disassembler.
-pak jsme zkouseli server shodit pomoci zadani dlouhych retezcu...ale bez vysledku. Vsimli jsme si ale ze prikaz top se chova podezrele, kdyz se mu jako druhy parametr preda moc velke cislo (vypise zaporny pocet vytisknutych radek),ale nespadne.
-pote jsme si vsimli uvolnenych zdrojovych kodu na webu predmetu a zjistili ze existuje jakysi privilegovany uzivatel-"apiuser" (toto by slo asi vycist i pomoci ollydbg pres vypis vsech stringu (search for->All referenced strings).
-zkusili jsme se prihlasit tedy jako apiuser a pouzit opet prikaz top 1 s dlouhym druhym parametrem. A ouha,server spadnul! Zde bude misto naseho utoku
prepsani registru
-server jsme spustili v ollydbg a zjistili na kterem byte zacina registr EBP a EIP kvuli prepsani adres(zadavali jsme jako vstup pole byte s NOPy)
plus jsme vedeli ze server zacne padat od prepsani asi 114teho byte.
-do EIP (return)jsme nahrali adresu z kernel32.dll (JMP EBP) pomoci nastroje findjmp.exe ktery z libovolne knihovny najde jmp do 1 z 8 registru
-do EBP jsme nahrali adresu pred exploitem, na kterou ma program skocit, aby se exploit spustil.
spusteni exploitu
-ve vstupnim retezci na 10tem byte zacina nas exploit(pred nim jsou jen NOPy) takze v EBP je adresa pred exploitem
-exploit se nespusti
-mozna pricina: mame spatny shellcode na spusteni cmd.exe.
-zkouseli jsme shellcode Windows XP SP3 EN, ale nas system je Windows XP SP3 CZ.