OllyAdvanced Bypass

Posted in Inne, assembler on Sierpień 17th, 2010 by Grzonu

Ostatnio zajmowałem się w dalszym ciągu metodom wykrywania debuggera i odłączenia go.
Przykładowo stosowalem metode o ktorej pisałem 2 posty temu. Kozystala ona z NtQuerySystemInformation z parametrem SystemHandleInformation. Lecz jesli ktos uzywal Ollyego z pluginem OllyAdvanced metoda ta nie sprawdzała się. Sprobowałem wywolac ta funkcje poprzed syscall. Lecz nadal OllyOdvanced modyfikował wyniki.
Podobnie rzecz się miała w przypadku funkcji NtOpenProcess tak ze nie moglem otworzyc procesu debuggera aby pobrac uchwyty, ani znalesc PID procesu rodzica gdyz OllyAdvanced tak zmienial wyniki ze PID procesu rodzica == PID mojego procesu. Jako ze kozystalem z własnej procedury wywolujacej syscall OllyAdvanced musiał albo zakładać hooki w kernelu ale tą metode narazie odrzuciłem wiec jedyna opcja mogl byc sysexit.
Ale jak wiadomo w systemie Windows mamy 2 mechanizmy wywolywania syscalla(sysenter i INT 2E)
sysenter po powrocie do user mode wraca pod KiFastSystemCallRet a INT 2E wraca za instrukcje.
Wystarczy wywolywac te funkcje nie poprzez sysenter a wlasnie przez INT 2E aby OllyAdvanced nie modyfikował wynikow i co za tym idzie aby dało się łatwo wykryć debugger.

Tags: , , , , ,

Beniamin i Opiekun odblokowanie

Posted in Inne on Grudzień 27th, 2009 by Grzonu

Reversowałem ostatnio program Beniamin, który to bardzo przeszkadza dzieciom w szkołach :)
Chciałem sprawdzic jak dostęp do panelu jest chroniony … okazało się ze wystarczy podmienic 2 bajty aby kazde haslo zostalo uznane za poprawne :)

Napisałem programik który odblokuje Beniamina :)
Instrukcja obsługi:
1) Włączamy plik WLConfig.exe z katalogu Beniamina
2) Kiedy program pyta nas o haslo uruchamiamy program BeniaminUnlocker.exe
3) Jesli pokazał nam się komunikat że wszystko poszło zgodnie z planem możemy kliknac OK w oknie hasla
4) I oto pokazuje nam sie panel administratora w którym mozemy grzebac do woli a nawet zmienic haslo na takie jakie nam sie podoba :)

Program nie modyfikuje pliku na stale tylko podmienia bajty w pamieci wiec po ponownym uruchomieniu programu znow trzeba uruchamiac unlocker albo wczesniej zmienic haslo :)

Beniamin Unlocker

Chwile potem zreversowalem Opiekuna i okazał się jeszcze prostszy od Beniamina
Instrukcja wyglada tak samo jak wczesniej z tym ze uruchamiamy opiekuna :)
Opiekun Unlocker

W obu przypadkach wystarczy zmienic funkcje sprawdzajaca wprowadzone haslo tak aby zawsze zwracala prawde.
Oba unlockery działają na tej samej zasadzie -
1) Otwieraja proces(Open Process)
2) zmieniaja prawa dostepu do pamieci(VirtualProtectEx)
3) zapisuja podmione bajty w procesie(WriteProcessMemory)
4) przywracaja prawa dostepu do pamieci(VirtualProtectEx)

Dziekuje za uwagę ;)

Tags: , , , ,

Uzupełnione projekty

Posted in Inne on Marzec 21st, 2009 by Grzonu

No w końcu dzis wziąłem się za uzupełnienie bloga.
m.in dodałem screeny i linki do projektów
a także upublicznilem wersje VIP spoofera gg :)

Tags: , , , ,