Szukanie dziury w całym

Narzędzia działające w tradycyjny sposób uruchamiały nowy proces, taki jak cmd.exe w Windows lub /bin/sh w systemach typu Linux/UNIX. Taki proces można jednak wykryć za pomocą typowych narzędzi, takich jak Menedżer Zadań/Process Explorer (Windows) czy ps lub lsof (Linux/UNIX). Meterpreter ukrywa własny proces, uruchamiając powłokę wewnątrz istniejącego procesu, zatem standardowy test sprawdzający pojawienie się nowych procesów powłoki nie pokaże niczego niepokojącego, nie ujawni ataku.

Ponieważ Meterpreter może pozostawać w całości jedynie w pamięci operacyjnej komputera, ślady pozostawiane na dysku lokalnym są bardzo nikłe. Wyłączenie maszyny spowoduje zatarcie niektórych śladów, samo narzędzie jest bardzo subtelne. Oczywiście odkryto metody wykrywania Meterpretera w pamięci systemu, ale nie każdy administrator potrafi z nich skorzystać, poza tym sam atak może w ogóle przejść niezauważony.

W niektórych systemach powłoka udostępnia tylko ograniczone możliwości użytkownikom. Zatem jej uruchomienie, oprócz tego, że byłoby widoczne, niosłoby za sobą podobne ograniczenia dla włamywacza. Posiadanie własnej powłoki systemu jest o wiele bardziej elastyczne, jej możliwości nie zależą od ograniczeń wprowadzonych przez administratorów lub konstruktorów.

ActiveX też można wykorzystać

Ciekawym kodem payload jest PassiveX, wykorzystujący kontrolki ActiveX - działa wyłącznie w systemie Windows. Atak polega na załadowaniu dowolnej kontrolki ActiveX i uruchomieniu jej w środowisku Internet Explorera. Ponieważ typowa konfiguracja zapory zezwala na połączenia wychodzące przez tę przeglądarkę, przejęty w ten sposób proces Internet Explorera pobiera kod w formie kontrolki z zewnętrznego serwera w normalnym połączeniu HTTP, a następnie go uruchamia. Ten kod z kolei wykonuje następne akcje, udostępniając także wewnętrzną powłokę. Wszystko odbywa się jedynie w wychodzących połączeniach HTTP.

Wtyczka do wnętrza systemu

Wszystkie dotąd omawiane kody payload, od najprostszego wywołania powłoki systemu, przez Meterpretera, aż do PassiveX, miały jedno ważne ograniczenie - wstępnie zdefiniowany zestaw wbudowanych funkcji. Gdyby napastnik potrzebował gotowego elastycznego kodu, daleko wykraczającego poza to, co udostępniają istniejące pakiety open source, musi sięgnąć po narzędzia komercyjne. Takie możliwości udostępnia pakiet CORE IMPACT, wykorzystujący technikę przekazywania odwołań systemowych (syscall proxying). Wszelkie odwołania systemowe programu, który pracuje w przestrzeni użytkownika na jednej maszynie, są przetwarzane i transmitowane przez sieć do przejętego komputera, w którym są wykonywane.

Ponieważ przejęta maszyna udostępnia w ten sposób wykonywanie operacji w trybie kernel mode, żądana interakcja między procesami uruchomionymi przez napastnika a światem zewnętrznym odbywa się za pomocą sprzętu atakowanego komputera. W ten sposób można uruchamiać sniffer, keylogger, a nawet skaner podatności innych komputerów w sieci, działając z perspektywy atakowanego komputera, przy czym sam kod powyższych narzędzi może być uruchomiony w user mode komputera napastnika. Dla innych komputerów, źródłem ataku lub ruchu wychodzącego jest przejęta maszyna, chociaż żaden z procesów napastnika nigdy w niej nie pracował. Agent w przejętym komputerze działa wyłącznie w pamięci operacyjnej, jest całkowicie przezroczysty i nie zostawia śladów na dysku lokalnym. W przypadku podejrzeń może być szybko odinstalowany.

Obowiązkowe badania okresowe

Systemy pracujące w korporacji powinny być regularnie testowane pod kątem podatności na znane ataki. Celem takich testów jest znalezienie i likwidacja luk w bezpieczeństwie, które umożliwiają proste przeprowadzenie ataków, z użyciem typowych narzędzi. Najważniejszym orężem jest szybka aktualizacja systemów oraz aplikacji, stosowanie łat i dobrych praktyk zalecanych przez producenta. Specjaliści w dziedzinie bezpieczeństwa są zgodni - w ten sposób nie uda się zabezpieczyć systemów przed atakami wykonywanymi przez ekspertów. Niemniej ochrona przed typowymi atakami podniesie poprzeczkę wymaganej wiedzy na tyle wysoko, by odsiać amatorów wykorzystujących najprostsze narzędzia (tak zwanych script kiddies). Przy wysokim poziomie bezpieczeństwa infrastruktury, atak hackerski może być po prostu nieopłacalny.


TOP 200