Rottkit a program w trybie uzytkownika

adrian_134

Użytkownik
Dołączył
Styczeń 28, 2007
Posty
39
Witam!

Zastanawiam się teraz nad napisaniem trojana jako rootkit, jego zadaniem byłoby otwarcie portu, połączenie się z serwerem GG, dostęp do wiersza poleceń i wysyłanie plików na FTP. Czym by się różnił owy trojan napisany jako program w trybie użytkownika a rootkit z punktu widzenia antywirusa, normalną aplikację można zamknąć, a rootkit? Jeżeli jeszcze nie posiada napisanej funkcji czyszczącej to niby nie można go usunąć z pamięci... Czyli wystarczy go raz załadować i mamy spokój ?
 
Ostatnio edytowane przez moderatora:

grzonu

Były Moderator
Dołączył
Grudzień 26, 2006
Posty
1390
Z twojego posta wnioskuje ze chciałbys napisac sterownik(nie kazdy sterownik to rootkit i nie kazdy rootkit to sterownik).
Jesli sterownik nie posiada funkcji czyszczacej to przy usuwaniu poprostu BSOD`a. Jesli go zaladujesz to mozna go poprostu wyladowac. A z punktu widzenia AV to jesli pozwoli ci sie zaladowac to mysle ze bedziesz mial wieksza swobode.
 

swap.context

Użytkownik
Dołączył
Październik 10, 2009
Posty
9
Zadanie możesz rozwiązać na dwa sposoby. Możesz wszystko o czym napisałeś zrealizować na poziomie jądra (trudniejsze rozwiązanie), albo zrealizować podstawową funkcjonalność na poziomie użytkownika, zaś kodu jądra użyć do ukrycia/zabezpieczenia komponentów trybu użytkownika. Zrealizowanie zagadnień sieciowych w trybie jądra na takim poziomie, który umożliwi oszukanie firewall'i wymaga sporej wiedzy, w przeciwieństwie do manipulacji przestrzanią adresową zaufanych procesów. I o ile podpinanie dynamicznych bibliotek może zostać wykryte i zablokowane, to po wykorzystaniu sterownika praktycznie nie ma szans, na to, że program zabezpieczający wykryje co kolwiek.

Sterownik może posiadać procedurę odładowującą, lecz nie musi. Służy ona do zwalniania zasobów wcześniej użytych przez sterownik (łącza symboliczne, urządzenia, ...). Jeśli sterownik będzie posiadał taką procedurę to nic nie stoi na przeszkodzie by ją wywołać (NtUnloadDriver) i odładować sterownik. Jeśli jednak dostatecznie ukryjesz moduł sterownika, jego obiekt sterownika (urządzenia jeśli jakieś będą tworzone) to żadna aplikacja nie znajdzie informacji niezbędnych do powiązania procedury odładowującej z twoim sterownikiem. Inaczej mówiąc, możesz stworzyć procedurę odładowującą, komunikację użytkownik - jądro, ukryć wszystko i o nic się nie martwić!

Jest tyle sposobów na załadowanie sterownika, że bez problemu można zaimplementować kilka ciekawszych, które powinny zostać przepuszczone przez oprogramowanie zabezpieczające.

swap
 
Do góry Bottom