Shellcode: pierwszy kod – odpalanie Kalkulatora

W ostatnich moich zapiskach udało mi się wydobyć adres bazowy modułu kernel32.dll oraz opracować funkcję (kod) do iteracji i szukania niezbędnych adresów funkcji z załadowanego modułu w pamięci. Teraz, gdy mam te niezbędne elementy każdego typowego shellcodu pod Windą, wreszcie nadeszła pora na napisanie jakiegoś bardziej sensownego kawałek kodu. Dla przykładu wybrałem sobie odpalanie standardowego … Czytaj dalej Shellcode: pierwszy kod – odpalanie Kalkulatora

Opublikowano Kategorie /dev/null

Shellcode: moje eksperymenty

Nigdy nie zajmowałem się szczególnie tematyką security, nie interesowało mnie pisanie czy zabawa z shellcode-ami czy exploit-ami. Za to często zdarzają mi się różne eksperymenty, które w wielu przypadkach są dobrym sposobem na poznanie nowych rzeczy. A także pomagają ugruntować swoją wiedzę i przekonania. Bo pomimo, że wiem co i jak w teorii oraz praktyce, … Czytaj dalej Shellcode: moje eksperymenty

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

Syringe – moja mała strzykawka (kodu)

Wydobywając kod firmware z kodu procesu Sealogic (SaeLog #4), w jednym z możliwości związanych z hookowaniem transmisji USB, wspomniałem o technice wstrzykiwania kodu do uruchomionego procesu, wykorzystującej popularną metodę ze zdalnym wątkiem (CreateRemoteThread). Sugerując przy tym wykorzystanie dostępnych w sieci injectorów lub napisanie czegoś własnego. Od tego czasu, w wolnych chwilach, próbowałem okiełznać i uporządkować … Czytaj dalej Syringe – moja mała strzykawka (kodu)

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

Wykrywanie hardlinków

Hardlinki, inaczej łącza stałe lub dowiązania twarde są alternatywnymi nazwami dla pliku, referencjami wskazującymi istniejący wcześniej obiekt. Niestety nie istnieją żadne metody pozwalające określić, które nazwa lub referencją jest oryginalna, a która dodana później. Wszystkie nazwy/referencje wskazują ten sam blok danych. Dosyć dawno temu starałem się znaleźć prosty sposób na wykrywanie łączy stałych oraz ich … Czytaj dalej Wykrywanie hardlinków

Active Template Library

Ostatnio bawiłem sie z prostą aplikacją embedując kontrolkę Internet Explorera oraz silnik Gecko. Po raz pierwszy miałem nieco szerszy i dłuższy kontakt z technologią COM i XPCOM. Nieodłączny związek z COM ma biblioteka ATL (Active Template Library), która w rzeczywistości jest zbiorem klas szablonowych języka C++ opracowanych przez Microsoft. Jak sie można domyślić z nazwy, … Czytaj dalej Active Template Library

Skryptowanie Windowsa: Perl

Ostatnio musiałem popracować nad dyplomówką, przez co kolejny wpis o skryptowaniu windowsa się gdzieś zapodział i trochę opóźnił. Tym razem o pisaniu skryptów w naszym ulubionym języku, czyli Perlu. W ostatniej notce poświeconej WSH wspominałem, że można bez problemu „podłączyć” dowolny silnik i korzystać z dowolnego języka do skryptowania jak Perl, Python, Lips, czy cokolwiek … Czytaj dalej Skryptowanie Windowsa: Perl

Skryptowanie Windowsa: WSH

Kolejny wpis z serii „Windows tez da się łatwo oskryptować”, poprzedni notka dotyczyła prostych skryptów wiersza poleceń. WSH, czyli Windows Script Host jest mechanizmem umożliwiającym skryptowanie systemu Windows w dużo większym stopniu i możliwościach niż proste skrypty powłoki. Host skryptów jest domyślnie instalowany wraz z systemem (od Windows 98), wraz z dwoma standardowymi interpreterami VBScript … Czytaj dalej Skryptowanie Windowsa: WSH

Skryptowanie Windowsa: powłoka

Windows jak każdy inny system również da się w bardzo łatwy sposób skryptować. Nie wszyscy mają pojecie na ile sposób i możliwości można to robić. To nie tylko babranie się w powłoce systemowej, która niektórym kojarzy się tylko z czasami panowania DOS’a lub przywilej systemów uniksopodobnych. Dlatego w kilku najbliższych notkach przedstawię kilka możliwości i … Czytaj dalej Skryptowanie Windowsa: powłoka