Shellcode: EAT i funkcja GetProcAddress

Gdy już w swoich rękach mam adres bazowy modułu kernel32.dll (zlokalizowany na przykład sposobem opisanym w poprzednim moim wpisie) kolejnym krokiem jest poznanie adresu dowolnej funkcji znajdującej się w tym module. W wielu sytuacjach wystarczy dorwać się tylko do GetProcAddress i LoadLibrary, co ułatwi wykorzystanie dowolnej innej funkcji z Windows API lub innej biblioteki. W … Czytaj dalej Shellcode: EAT i funkcja GetProcAddress

Opublikowano Kategorie /dev/null

Shellcode: PEB i adres bazowy modułu kernel32.dll

Pisząc jakieś shellkody lub inne tego typu paskudztwa napotyka się na problem interakcji z systemem lub jego API. Aby cokolwiek zrobić sensownego wymagany jest dostęp do kilku kluczowych funkcji znajdujących się w kernel32.dll, będących niejako kluczem do świata systemu. Takimi funkcjami są oczywiście LoadLibrary/GetModuleHandle, GetProcAddress, itp… Mając dostęp do tych funkcji możemy zrobić praktycznie wszystko … Czytaj dalej Shellcode: PEB i adres bazowy modułu kernel32.dll

Opublikowano Kategorie /dev/null

Windows Internals: Dziwne parsowanie ścieżek

Kilka miesięcy temu trafiłem na intrygujący problem z obsługą ścieżek w systemie Windows. Jak się okazało odkrycie to jest dobrze znane w środowisku deweloperów blisko związanych z bebechami tego systemu, ludziom zajmującym się inżynierią wsteczną, bezpieczeństwem i różnym badaczom… Można powiedzieć, że tak naprawdę to nic nadzwyczajnego, dlatego aż dziwne, że wcześniej nie trafiłem na … Czytaj dalej Windows Internals: Dziwne parsowanie ścieżek

Windows Internals: LastErrorToBreakOn

W kodzie Windowsa można znaleźć czasem ciekawe fragmenty, które skrywają pomocne mechanizmy i sposoby ułatwiające debugowanie różnych elementów, nie tylko systemowych. Część, jeśli nie wszystkie, takie wstawki nie są nigdzie udokumentowane. Zatem nic dziwnego, że dziś znów trafiłem na kolejny taki trick w kodzie systemowym. Mowa tutaj o conditional breakpoint przy ustawianiu kodu błędu, co … Czytaj dalej Windows Internals: LastErrorToBreakOn

TEB/PEB (nie tylko) w WOW64 (cz. II)

Dosyć długo to trwało, ale wreszcie dokończyłem przeredagowanie ostatniej notatki o strukturach PEB/TEB w Windowsie i dokończyć tą aktualną, bardziej ukierunkowaną na WOW64. Bo tematem zainteresowałem się właśnie z tego powodu, szukając prostego i zarazem przenośnego (niezależnego od wersji systemu) sposobu dobrania się do tych struktur. Nawet o tym wspominałem w prologu poprzedniego wpisu. W … Czytaj dalej TEB/PEB (nie tylko) w WOW64 (cz. II)

Opublikowano Kategorie /dev/null

TEB/PEB (nie tylko) w WOW64 (cz. I)

Pogłębiając swoją wiedzę nad internalsami systemu Windows, moje badania przesunęły się ostatnio trochę w stronę WOW64. Jest to całkiem ciekawy fragment architektoniczny systemu, o którym kiedyś jeszcze mam nadzieję będę pisał, bo wypływa wiele ciekawych rzeczy w trakcie jego analizowania. Przy okazji tego tematu zahaczyłem o struktury bloków danych procesu PEB i wątku TEB, głównie … Czytaj dalej TEB/PEB (nie tylko) w WOW64 (cz. I)

Opublikowano Kategorie /dev/null