• News

    • Opera Mini 5 dostępna także na Androida
    • Nobel dla internetu
    • Microsoft zamyka siedem luk w Excelu
    • Wirusy w telefonie HTC Magic
    • IE - kolejna luka "zero-day"
    archiwum newsów

  • Brama proxy

    Posted in Inne on Marzec 13th, 2010 by Grzonu

    Dodałem na strone bramę proxy która umożliwia przeglądanie stron kozystajac z IP http://grzonu.com.pl
    Proxy dostepne jest pod adresem PROXY

    Pewnie ma ono jeszcze wiele niedociągnieć ale będe starał się je stopniowo eliminowac.
    Dzieki niemu mozemy ominac takie programy jak opiekun,beniamin czy cenzor

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    Tags: , , ,

    Zmian ciag dalszy

    Posted in Newsy on Marzec 4th, 2010 by Grzonu

    Dzisiaj zacząłem przenosić stronę na nowy,lepszy,szybszy hosting. Dawny limit tranferu i miejsca przestawał wystarczać i balansował prawie na granicy. Przeniosłem więc stronę na większy serwer o 100x wiekszej powierzchni i ponad 100x wiekszym limicie transferu ;) Mam nadzieje, że poprawi się komfort oglądania strony ;) Wszystko to dzięki firmie az.pl która nie dość że podarowała mi domene za darmo to jeszcze dała mi ten hosting w bardzo przystępnej cenie :)

    W ciagu kilku dni niektóre linki mogą nie działac ale postaram się to jak najszybciej poprawić.

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    Tags: ,

    Zmiana adresu

    Posted in Newsy on Luty 22nd, 2010 by Grzonu

    Z dnim dzisiejszym strona zmienia adres na grzonu.com.pl
    stary adres bedzie funkcjonował jeszcze około miesiąc rownolegle z nowym.

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop

    Nieobecnosc

    Posted in Newsy on Luty 16th, 2010 by Grzonu

    Kilka osob mnie pytało czemu od dlugiego czasu nic nie bylo nowego na blogu. No wiec powod całkiem trywialny … przychodzi taki czas kiedy trzeba sie pouczyc do matury zamiast pisac setki linijek dziwnych znaczków. Wiec pewnie taki stan rzeczy utrzyma sie do maja. Ale spokojnie po maturze (o ile dozyje) pojawia sie jakies posty :)

    //EDIT
    Prawdopodobnie niedlugo strona zmieni swój adres na http://grzonu.xaa.pl ;)

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop

    School Unlocker

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

    Przeanalizowalem jeszcze kilka programów i napisalem do nich unlockery i umiescilem wszystko w jednej paczce o nazwie School Unlocker.
    W obecnej wersji odblokowuje:
    -Beniamin 2.1
    -Opiekun
    -Strażnik ucznia
    -Motyl 2009
    Zapraszam do testów :)

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    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ę ;)

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    Tags: , , , ,

    Zapobieganie Code Injection i Dll Injection

    Posted in C++ on Grudzień 19th, 2009 by Grzonu

    Dzisiaj zajmiemy się zapobieganiem Code Injection i Dll Injection.
    Obie te techniki łączy wspólna rzecz – obie tworzą zdalny wątek w aplikacji. Po wywołaniu funkcji CreateRemoteThread która ma utworzyć wątek w drugiej aplikacji, wywołanie trafia do jądra, które w aplikacji w której wątek ma powstać tworzy wątek i startuje go w funkcji KiUserApcDispatcher ale jak powiedział mi j00ru nie jest bezpiecznie modyfikowac ta funkcje bo kozysta z niej bardzo wiele innych funkcji. Zamiast tego lepiej modyfikowac LdrInitializeThunk która jest później wywoływana. No wiec zalozymy sobie hooka na ta funkcje.
    Pierwsze 5 bajtów nadpiszemy skokiem do naszej funkcji która zamknie nowo powstały wątek zanim kod zostanie wykonany.
    Kod naszej funkcji:

    1
    2
    3
    4
    5
    6
    
    void __declspec(naked)wrap(void)
    {
    printf("Killing thread: %d\n",GetCurrentThreadId());
    TerminateThread(GetCurrentThread(),0); //zamykamy wątek
    __asm ret
    }

    No to nadpiszmy kod funkcji.

    1
    2
    3
    4
    5
    6
    7
    8
    
    x=GetProcAddress(GetModuleHandle("NTDLL"),"LdrInitializeThunk"); //pobieramy adres funkcji
    DWORD old;
    VirtualProtect(x,5,PAGE_EXECUTE_READWRITE,&old); // ustawiamy prawa do zapisu
    memcpy(x,"\xE9",1); //nadpisujemy pierwszy bajt(0xE9 to jmp)
    DWORD addr=(DWORD)wrap-(DWORD)x-5;//obliczamy przesuniecie naszej funkcji wzgledem orginału
    //aby wykonac skok zgodnie ze wzorem offset=punkt_docelowy-miejsce_do_nadpisania-5
    memcpy((char*)((char*)x+1),&addr,4);//kopiujemy tam nasz offset
    VirtualProtect(x,5,old,&old);//ustawiamy spowrotem prawa

    Teraz mozemy sprobowac utworzyc zdalny wątek w naszej aplikacji. Wątek utworzy się lecz zostanie odrazu zabity.
    Jeśli chcemy w naszej aplikacji używać wątków powinnismy napisać funkcje która najpierw przywróci orginalne bajty następnie wywoła CreateThread po czym od nowa nadpisze skokiem. To juz pozostawiam chętnym.

    Po tym zabiegu Olly także nie bedzie potrafił się attachnąć do naszego procesu.
    To chyba tyle na dziś ;)

    przykładowa aplikacja

    //EDIT
    Właśnie hxv poinformował mnie że można attachnac sie Ollym ale z uzyciem OllyAdvance :)

    //EDIT2
    Przygotowałem dll`ke która będzie chroniła nasza aplikację odrazu po wczytaniu jej do programu(LoadLibrary)
    DLL`ka

    A tak dodatkowo chciałbym podziękować Gynvaelowi Coldwindowi bo prawdopodobnie bez jego pomocy ten i kilka innych postow zakonczyloby sie po 3 wyrazach ;)

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    Tags: , , , ,

    Święta :)

    Posted in Ogólne on Grudzień 17th, 2009 by Grzonu

    No jak pewnie większość zauważyła wkoło pełno zielonych iglastych drzewek poobwieszanych kolorowymi żaróweczkami połączonymi szeregowo i innymi rzeczami. Wszędzie pełno grubasów z workami pełnymi sacharozy z dodatkiem rożnych E… owinietych w papierek. Kazdy sklep ma super promocje np. kup odkurzacz a papierowy worek do niego dostaniesz gratis. Z innych symptomów nadchodzących świąt mozna jeszcze wymienić Last Christmas które leci w kazdym radiu czyli super świąteczną piosenkę. Ogólnie koszmar.
    No ale kazdy lubi co innego Poganie mają w tych dniach przesilenie zimowe, Rzymianie Saturnalia, Persowie czcili w tych dniach Mitrę(boginię słońca) No a my mamy to co wyżej ;) No ale należałoby się już przyzwyczaić wkońcu co roku to samo :)
    No to jeszcze na koniec świąteczna piosenka ;)
    \

    I co teraz pewnie spodziewacie się jeszcze jakichś życzen? Nie? To dobrze :D

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    Tags: ,

    Kilka słów na temat syscalli

    Posted in assembler on Grudzień 16th, 2009 by Grzonu

    No to chciałem napisać arta o tym jak windows wywołuje funkcje do wywołania których konieczne jest wejście w tryb

    jądra do którego program usera który jest w ring3(sterowniki i jądro sa w ring0) nie ma dostepu. Mechanizm ten nosi

    nazwe syscall. Przedstawie jak wyglada przykładowe wywołanie np. ZwTerminateProcess.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    PUSH 0
    PUSH -1     ;rzucamy na stos parametry funkcji
    CALL TERM   ;wywolujemy ZwTerminateProcess
    RET
    TERM:
    MOV EAX,101h ;do eax kopiujemy numer funkcji (tutaj jest to numer ZwTerminateProcess)
    CALL SYS     ;wywolujemy syscall (tak samo wyglada funkcja KiFastSystemCall)
    SYS:
    MOV EDX,ESP
    SYSENTER     ;tu nastepuje przejscie do trybu jądra
    RET

    Widzimy wiec ze nie jest to trudne i wydaje sie bardzo wygodne w roznych shellcodach itp ale jak zawsze jest jakies

    ale no wiec w tym przypadku oczywiscie tez jest i jest nim to ze numer funkcji jest różny w kazdej wersji systemu.
    Mamy 2 opcje albo probujemy dynamicznie pobrac z ZwTerminateProcess który jest w ntdll ale tu musimy znalesc jej

    adres. Metoda ta jest dobra jesli potrzebujemy kompatybilnosci z KAZDYM systemem. jesli potrzebujemy

    kompatybilnosci tylko z wybranymi to jest inna metoda na pobranie wersji systemu i dopasowanie odpowiedniego numeru

    syscalla bez uzywania jakiegokolwiek wywolania API.

    1
    2
    3
    4
    
    MOV EAX,DWORD PTR FS:[18h]	;do eax kopiujemy adres TEB
    MOV EDI,DWORD PTR DS:[EAX+30h]	;do edi kopiujemy adres PEB
    MOV EBX,DWORD PTR DS:[EDI+A4h]	;do ebx kopiujemy major version number
    MOV ECX,DWORD PTR DS:[EDI+A8h]	;do ecx kopiujemy minor version number

    przykladowo dla XP wersja to 5.1 wiec major = 5 a minor = 1 wiec ebx = 5 a ecx = 1
    numery innych systemow znajdziemy w MSDN

    Teraz mozemy juz dopasowac numer zaleznie od wersji jaka chcemy.

    Jakie sa inne zalety?
    -Omijamy w ten sposob wszystkie hooki zalozone w user-mode.
    -Nie musimy szukac adresu potrzebnej nam funkcji.
    -Kod dzieki temu jest mniejszy

    Teraz mała uwaga dla piszacych sterowniki.
    Dodam na koniec ze numer funkcji jest indexem danej funkcji w tabeli SSDT (numery 1-1000) i ShadowSSDT(1000+).
    Obie te tablice znajdują się w przestrzeni adresowej jądra więc nie mamy do niej dostepu z User-mode.
    W tablicy SSDT znajduja sie funkcji eksportowane przez ntoskrnl.exe(jądro) a w ShadowSSDT funkcje eksportowane

    przez win32k.sys gdzie znajduja sie funkcje zwiazane z okienkami,wejsciem,wyjsciem. SSDT jest eksportowane przez

    jadro i nie ma wiekszych klopotow z jego znalezieniem za to ShadowSSDT nie jest eksporotwane i metode na jej

    znalezienie wymyslil Alexander Volynkin(http://www.volynkin.com/sdts.htm)

    Tablice syscalli dla poszczególnych systemów:

    http://j00ru.vexillium.org/win32k_syscalls/

    http://www.metasploit.com/users/opcode/syscalls.html

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop
    Tags: , , , , ,

    O taki news

    Posted in Newsy on Grudzień 3rd, 2009 by Grzonu

    No to wypadałoby coś wkoncu napisac :)
    Przez kilka dni strona nie działała i było to spowodowane zmiana adresu serwera ktory hostuje moja stronke z czym nie mogły się pogodzić serwery DNS :) ale już wszystko wróciło do normy :)
    Byłem zmuszony wprowadzic captche do komenentarze bo goście zza wschodniej granicy za bardzo polubili moj blog, mam nadzieje ze nie przeszkadza to nikomu :)

    Chyba na dziś to tyle :)

    Podziel się:
    • Digg
    • Facebook
    • Google Bookmarks
    • Blip
    • Flaker
    • RSS
    • Twitter
    • Wykop