Szukanie dziury w całym

Darmowy framework Metasploit oraz komercyjne CORE IMPACT i Immunity CANVAS to bardzo dobre narzędzia, wykorzystywane zarówno przez włamywaczy, jak i testerów penetracyjnych, sprawdzających odporność badanych systemów.

Jeszcze kilka lat temu najskuteczniejszą metodą ataku było opracowanie eksploita wykorzystującego konkretną podatność systemu i uruchamiającego żądany kod (lub polecenia). Sposób ten był bardzo pracochłonny, wymagał bowiem napisania kodu od zera dla każdego z ataków. W tym czasie przykładowy eksploit wykorzystujący przepełnienie bufora w usłudze sieciowej Windows, był połączony z kodem uruchamiającym backdoora. Inny atak przeciw serwerowi FTP dawał dostęp do powłoki systemu, jeszcze inny mógł z kolei wykorzystywać podatność bazy danych, by w ten sposób dodać nowe konto o uprawnieniach systemowych. Wszystkie omawiane ataki mają jedną wspólną cechę, polegającą na tym, że eksploit był ściśle połączony z obcym kodem wykonywanym na przejętej maszynie. Dla każdego nowego ataku musiał być pisany od zera lub przynajmniej przystosowywany. Przenoszenie kodu między eksploitami było bardzo trudne, zazwyczaj modyfikowano oba składniki. W ten sposób powstawały kopie i mutacje popularnych wirusów komputerowych.

Dziel i rządź

Szukanie dziury w całym

Zasada działania mechanizmu przekazywania odwołań systemowych.

Prawdziwy przełom nastąpił wtedy, gdy opracowano sposób oddzielenia danych wykorzystujących podatność (eksploit) od kodu wykonywanego już po przełamaniu (payload). Dzisiaj, zamiast pisać eksploit na życzenie i pracowicie łączyć go z kodem payload, frameworki umożliwią wykorzystanie setek gotowych eksploitów wraz z pakietami gotowych narzędzi dla włamywacza, pracującymi jako payload. Właśnie to zapewniają wspomniane frameworki, przeznaczone do testowania podatności systemów, zawierając prawdziwy arsenał eksploitów oraz zestaw kodów payload, wywołujących żądane efekty na komputerze ofiary. Przykładem może być praca z frameworkiem Metasploit. Najpierw tester wybiera eksploit, np. wykorzystanie błędu przepełnienia bufora w programie lsass.exe (z tej luki korzystał robak sieciowy Sasser), po uzupełnieniu wyboru o jeden z tuzina różnych kodów payload, Metasploit połączy oba składniki oraz przeprowadza atak w żądanym kierunku. Po udanym wykorzystaniu luki, żądany kod zostaje uruchomiony.

Skuteczność takiego modelu doceniono w miarę rozwoju nowych eksploitów. Obecnie specjalista, który chce sprawdzić podatność konkretnej usługi i tworzy eksploita, nie musi ponownie wymyślać kodu payload, wystarczy, aby zintegrował kod eksploita z wybranym frameworkiem. Dzięki temu proces przygotowywania eksploitów jest znacznie szybszy. Co więcej, ci deweloperzy, którzy nie koncentrują się na tworzeniu eksploitów, mogą z powodzeniem opracowywać nowe, lepsze kody payload. Chociaż tradycyjne kody (w rodzaju "uruchom mi dostęp do powłoki systemu" albo "dodaj użytkownika do grupy administratorów") nadal są dostępne, nowsze są znacznie bardziej skomplikowane i o wiele lepiej dopracowane.

Jednym z ciekawszych ataków jest wstrzyknięcie kodu biblioteki DLL, w celu uruchomienia usługi VNC (Virtual Network Computing, najpopularniejsze narzędzie zdalnego dostępu w trybie graficznym, rozwijane w modelu open source). Kod ten, łączony z wybranym eksploitem, umożliwia przejęcie kontroli nad maszyną z systemem Microsoft Windows, nie uruchamiając przy tym żadnej dodatkowej systemowej usługi, a jedynie wstrzykując kod do podatnego procesu. Po uruchomieniu, napastnik może kontrolować maszynę przez sieć. Podobny atak był demonstrowany przez Kevina Mittnicka jako przykład tego, co napastnik może wykonać bardzo prostymi środkami, gdy socjotechnika umożliwi mu obejście niektórych zabezpieczeń.

Własna minipowłoka, która nie pozostawia śladów

Jeszcze ciekawszy jest Meterpreter. Kod ten jest środowiskiem wyposażonym we własną, kompletną powłokę systemową i podlega wstrzyknięciu do już działającego, podatnego procesu. Napastnik lub tester bardzo często wybiera taki rodzaj inwazji ze względu na kilka ważnych zalet: kod działa w ukryciu, pozostaje w całości w pamięci i omija powłokę udostępnianą przez atakowany system operacyjny.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200