2010-07-27:
hwframework:medium:c++
Po CONFidence stwierdziłem, że fajnie byłoby się pobawić różnymi starymi rozwiązaniami sprzętowo-software'owymi, typu ANTIC i P/M, HAM6, itd. Jak to osiągnąć?
Czytaj dalej...
2010-05-30:
confidence:conference:lecture:windows:security:medium:high
Tylko króciutki (prawie że copy-pejstowany z bloga j00ru) z oryginalnymi "advisory" dotyczącymi błędów które omawialiśmy na CONFidence (a wcześniej na Hack In The Box w Dubaju), oraz ze slajdami które używaliśmy podczas prelekcji na CONFidence (zachęcam do zajrzenia do posty z "relacją" z CONFidence). W owych "advisory" są detale które omawialiśmy na prezentacji, a także kilka dodatkowych informacji na które zabrakło czasu.
Czytaj dalej...
2010-01-17:
medium:x86:assembler:windows:win32:exploit:security
Kilka tygodni temu gościł u mnie j00ru, co, jak można się domyślić, skończyło się kilkoma ciekawymi pomysłami. Jednym z pomysłów było wykorzystanie mechanizmu call-gate'ów w pisaniu exploitów na kernel/drivery pod Windows, a konkretniej chodzi o wykorzystanie write-what-where do przekształcenia LDT w Call-Gate, i tym sposobem podniesienie uprawnień kodu z user-land do ring 0. Efektem tychże rozważań jest "papierek" oraz kilka PoC, które można ściągnąć poniżej.
Czytaj dalej...
2010-01-11:
hitb:ezin:medium
Ezin Hack In The Box, który wychodził w latach 2000 do 2005 (razem 37 numerów), doczekał się wznowienia, tym razem jako kwartalnik. Najnowszy numer zawiera 6 artykułów (w tym jeden mój), co przekłada się na 44 strony, w PDF (link niżej). Imho warto ściągnąć i poczytać, kilka ciekawych rzeczy można się dowiedzieć :)
Czytaj dalej...
2010-01-07:
medium:x86:assembler:bochs:virtualpc
Tematyka niniejszego postu będzie bardzo podobna do poprzedniego, czyli nadal pozostaje przy opisywaniu niewielkich, ale imho ciekawych, detali architektury x86. Takie detale często bywają przeoczone przez twórców emulatorów czy wirtualizerów, a więc mogą posłużyć do odróżnienia środowiska wirtualnego, od prawdziwej maszyny. Bohaterem dzisiejszego postu jest rejestr DR6, albo, będąc bardziej precyzyjnym, jego cztery pierwsze bity (0-3) czyli B0 do B3, które mówią o spełnieniu bądź nie spełnieniu warunków breakpointu. Prosiłbym o przeczytanie całego postu przed wyciągnięciem wniosków :)
Czytaj dalej...
2009-12-29:
x86:assembler:bochs:qemu:medium
Ostatnimi czasy przypominam sobie osdev (ostatni raz coś więcej niż boot menu napisałem jakieś 6 lat temu), więc prawdopodobnie parę następnych postów będzie związane z assemblerem, emulatorami x86 oraz podobnymi instytucjami. Dzisiejszy post poświęcę instrukcji bswap reg16 w trybie chronionym, która jak się okazuje może posłużyć np. do detekcji emulatora BOCHS lub QEMU.
Czytaj dalej...
2009-08-03:
security:windows:medium:re:cpp
Dwa miesiące temu pisałem o trojanach bankowych, o tym że niektóre zmieniają ustawienia DNS, inne dodają listę domen, używanych przez instytucje finansowe, do pliku c:\windows\system32\drivers\etc\hosts. Oczywiście obie z powyższych czynności kończą się przekierowaniem nieświadomego użytkownika na stronę phishingową (i niestety również często utratą pewnej ilości pieniędzy).
Czytaj dalej...
2009-03-31:
blog:security:windows:sysday:medium:lecture
Wczoraj, we Wrocławiu, rozpoczęła się konferencja SysDay 2009, o której pisałem już wcześniej. Pojawiło się masę ciekawych osób, było kilka ciekawych prelekcji - m.in. zawsze ciekawa prelekcja Dariusza Puchalaka o SSH, prelekcja o socjotechnice prowadzona przez Rafała Podsiadłego - która co rusz przeradzała się w żywą dyskusję, prelekcja Sławomira Kobusa z F-secure o Symbian OS (bardzo inspirująca swoją drogą, muszę się przyjrzeć temu systemowi) oraz prelekcja Michała Majchrowicza o m.in. XSSach (huh, nie wiedziałem że można użyć /asdf/ zamiast "asdf" - np. javascript:alert(/asdf/)... ciekawie wyszło moim zdaniem ;>). Tego dnia również ja miałem swoją prelekcję, którą udało mi się jakoś wychrypieć (jestem kapkę przeziębiony, i szczerze się bałem że stracę głos podczas prelekcji... na szczęście orgowie zorganizowali mi szklankę ciepłej wody, i udało się stracić głos dopiero PO prelekcji ;D).
Czytaj dalej...
2009-03-09:
c++:medium:assembler:windows:linux:macosx
Historia zaczyna się jak zwykle. Pisałem pewną aplikację, która generowała pewne pliki testowe. Pliki były do siebie podobne, więc wyciągnąłem wspólny czynnikprzed nawias - zrobiłem generowanie wspólnej podstawy pliku, a potem porobiłem funkcje które zmieniały podstawowy plik (file shader, tylko w GF 15200 GTX! ;>), po czym ów nowy plik był zapisywany. Oczywiście musiałem posiadać pewną tablicę/wektor z tymi funkcjami, którą grzecznie uzupełniałem o każdą dopisaną funkcję. Po 38 funkcji się znudziłem...
Czytaj dalej...
2009-01-31:
medium:windows:c++:asm:security:buffer overflow:return-oriented exploiting
Dzisiaj będzie trochę strikte technicznego security - napiszę co nie co o technice zwanej "return-oriented programming" lub "return-oriented exploiting" lub "ret-to-libc bez wywołań funkcji" lub "ret-to-anything". Jak zwykle podzielę się swoimi spostrzeżeniami co do ów techniki, ponieważ jak zwykle papierki zacząłem czytać po użyciu techniki, zamiast przed nią (to to moje upodobanie do odkrywania koła na nowo).
Czytaj dalej...
2009-01-10:
bat:windows:medium
UPDATE: Zgodnie z obietnicą (z końca tego postu) wrzuciłem post o OpenGL w .BAT.
Czytaj dalej...
2008-11-22:
c++:assembler:windows:winapi:medium
Siedząc w pokoju hotelowym na PyCONie naszło mnie żeby sprawdzić co się dzieje jeśli wyczyści się procesowi całą pamięć (lub proces sam sobie ją wyczyści). "Wyczyści" w znaczeniu uwolni co się da (VirtualFree oraz UnmapViewOfFile), a resztę w miarę możliwości wyzeruje. Eksperyment miał za zadanie sprawdzić przy okazji jak zareaguje na to system, oraz inne aplikacje.
Czytaj dalej...