Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako zeznuti winBO

[es] :: Asembler :: Kako zeznuti winBO

[ Pregleda: 1813 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vojislav Milunovic

Član broj: 25
Poruke: 2117
195.252.86.*



+1 Profil

icon Kako zeznuti winBO07.12.2004. u 00:52 - pre 235 meseci
Doduse ovo je samo experimentalna verzija i na samom je pocetku razvoja, ali posto sam uspeo da u potpunosti prepisem GetProcAddress dajem ga ovde... doduse nisam znao da sam Loader trazi neke f-je po ordinalu a ne po imenu pa sam malo kuburio sa tim delom dok nisam ukapirao sto on zapravo cini...
Doduse evo kod u attachmentu tog-dll source kode... a da dll mora da se injectuje da bi radilo... ali da ne uploadujem i injector i shellcode example itd...

poz =)
Prikačeni fajlovi
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.sava.sczg.hr.



Profil

icon Re: Kako zeznuti winBO08.12.2004. u 03:28 - pre 235 meseci
Najveca je mana ovog pristupa sto shellcode uopce ne mora traziti adresu preko GetProcAddress, moze direktno parsati export tablicu kernel32.dll, lijep broj shellcodea bas to i radi (moj radi :). Osim toga, shellcode moze recimo direktno pozivati NtCreateProcess ili, sto je jos zabavnije, neki lightweight wrapper tipa WinExec (ne znam da li ovaj omogucuje redirekciju I/O streamova, samo nagadjam, mozda postoji neki koji moze).

Cak i ako na njihovu adresu opalis 0xCC i recimo hookiras debug event u kontekstu samog procesa te provjeris da li je parametar API-ja "cmd.exe", jos uvijek plivas u tamnoj vodi jer je moguce
1) da shellcode detektira i zaobidje 0xCC kao sto neki anti-SoftICE proggyi rade
2) da ga prepise sa standardnim prologom i zaobidje :)

Najveci kandidat za prevenciju ovakvog tipa jest definitivno WSASocket koji se ne koristi tako cesto kao CreateProcess*

Sve u svemu, boris se sa vjetrenjacama, za vecinu stack-based zastita postoje workaroundovi koji ih nekim prljavim trikovima zaobilaze, /GS flag koji koristi MS-ov kompajler i oni cookies na stogu su po meni najelegantnije rjesenje. Ovo je inherentni problem nesavrsenosti samih unamanaged jezika, jedina prava zastita jest virtualna masina :)
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
195.252.87.*



+1 Profil

icon Re: Kako zeznuti winBO08.12.2004. u 16:19 - pre 235 meseci
Ma znam da ovo ne može da spreči pravi do jajae šellkode, ali to je bio mali trening više za mene... čisto da pišem =) doduše ima i boljih fora, recimo da se napiše šellkode koji skida program sa net-a i izvršava ga u memoriji koju napravi... to baš pišem ovih dana =)
 
Odgovor na temu

[es] :: Asembler :: Kako zeznuti winBO

[ Pregleda: 1813 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.