26 września 2015

Windows Kernel Exploitation - warsztat

Kilka interesujących artykułów, które znalazłem, a dotyczyły one wykorzystanie podatności w jądrze systemu Windows. Punktem wejścia jest tutaj przede wszystkim interakcja z API win32k.sys. Podstawowe funkcje:
  • zawiera windows manager
    • kontroluje wyświetlania okien
    • zarządza wyjściem na ekran
    • kolekcjonuje dane wejściowe z klawiatury, myszy itd.,
    • woła zdefiniowane przez aplikacja hook-i
    • przekazuje mesgi użytkownika do aplikacji
    • zarządza obiektami użytkownika
  • zawiera graphics device interface (GDI) - bibilioteki funkcji graficznych
    • rysowanie i manipulowanie obiektami: liniami, tekstem i figurami
    • zarządza obiektami (GDI) takimi jak brushes, pens, DCs itp.
    • dostarcza API dla sterowników viedeo/drukarki
W sumie po stronie użytkownika można wywołać ponad 800 funkcji. Warto też wiedzieć, że każdy typ obiektu zdefiniowany jest prze unikalną strukturę (np. win32k!tagWND, win32k!tagCURSOR, itp.).

Szczerze mówiąc najbardziej zainteresował mnie warsztat, jakim posługują się autorzy artykułów. Nie kierowałem się żadnym kluczem, po znalezieniu pierwszego artykuły przeskakiwałem do przypisów i tym sposobem stworzyłem sobie małą listę. Nie zagłębiałem się też zbyt mocno w samą tematykę, więc jest to coś do czego będzie warto wrócić.
Ostatnia źródło informacji to bardzo fajna prezentacja z konferencji Blackhat 2011 ("Kernel Attacks Through User- Mode Callbacks") i opowiada o samej architekturze systemu i klasach błędów jakie można w nim napotkać: use-after-free (alokacja i niszczenie obiektów np. znajdujących się w menu), null-pointer-dereference. Więcej około 30-35 minuty.


Brak komentarzy:

Prześlij komentarz