Threat hunting nie jest prostym zadaniem. Mnogość sposobów w jaki napastnicy mogą realizować kolejne etapy ataku sprawia, że scenariusze detekcji wydają się nieskończone. Dlatego tak ważne jest właściwe określenie priorytetów i skupienie się na etapach włamania podczas których atakujący mają mniejsze możliwości manewru. I właśnie idealną fazą ataku dla tego celu są tak zwane „lateral movements” czyli etap kiedy napastnicy rozszerzają dostęp do środowiska łącząc się z kolejnymi urządzeniami. Dlaczego właśnie ta faza? Wynika to z ilości techniki którymi może się posłużyć napastnik. Jeżeli chcielibyśmy przedstawić ilość możliwych kombinacji działania na kolejnych fazach włamania, to nasza grafika przypominałaby klepsydrę. W zakresie sposobów dostarczenia złośliwych plików czy skryptów możemy wymieniać dziesiątki jeżeli nie setki technik. Podobnie w przypadku utrzymania dostępu, czy zbierania i eksfiltracji danych. Jednak kiedy napastnik chcę przejmować kontrolę nad kolejnymi stacjami roboczymi czy serwerami to sprawa nie wygląda już tak kolorowo. Spójrzmy zresztą na liczby technik zawarte w MITRE ATT&CK zaczynajac od Inital Access czyli kiedy zaczynają się złośliwe działania wobec ofiary:
Liczba technik rośnie więc skokowo na etapach uzyskiwania dostępu do środowiska i podnoszenia uprawnień, spadając znacząco przy okazji ruchów poziomych w środowisku, a następnie znów rośnie w zakresie pozyskiwania danych i komunikacji z zainfekowanymi hostami. Liczby te nie zawierają całego obrazu sytuacji. Jeżeli spojrzymy na przykład taktyki Initlal Access to znajdziemy tam dwa niepozorne wpisy Spearphishing Link i Spearphishing Attachment. A przecież wszelkiego rodzaju maile phishingowe stanowią znaczną część wszystkich prób uzyskania dostępu i przykłady procedur związanych z wykorzystaniem różnego rodzaju załączników, ukrywania złośliwych plików można wymieniać niemal bez końca. Wciąż jednak w ogólnym zarysie widzimy wyraźny trendy i zwężenie na etapie ruchów w środowisku. Dlaczego tak jest?
Wynika to z tego, że napastnik starając się przesłać złośliwe narzędzia do swojej ofiary lub wykorzystać podatność działa jednostronnie, cel jest tylko odbiorcą zdolności. W przypadku ruchów w środowisku i prób uzyskania dostępu do kolejnych maszyn sytuacja będzie wyglądać zgoła inaczej. Atakujący może próbować ponownie wykorzystać te same techniki i np.: rozsyłać phishing wewnętrznie albo exploitować podatności w znalezionych usługach jednak nie będzie to bardzo efektywne działanie. Dużo sprawniejszą metodą jest wykorzystanie już istniejących metod zdalnego zarządzania innymi maszynami, jak tych z których korzystają administratorzy. A to już wymaga aby zarówno urządzenie z którego będzie działał atakujący i urządzenie docelowe były skonfigurowane do wykorzystania danych narzędzi ze wszystkimi tego konsekwencjami związanymi z dostępnością skonfigurowanych narzędzi i możliwością obserwacji opartej o standardowe logi systemu. W ten sposób przebiega nazwijmy to „standardowy” schemat ataku, kiedy napastnik uzyskuje informacje ze środowiska jak hasła i loginy użytkowników, a następnie korzysta z nich do uwierzytelnienia dostępu do następnych maszyn. I korzystając z tej powszechnej metodologii jego zakres możliwości jest stosunkowo prosty do przewidzenia. Aby przedstawić te sytuację posłużmy się ściągą jaką jest plakat SANS „Hunt Evil„:
Mamy więc tak naprawdę siedem głównych technik wykorzystujących wbudowane funkcjonalności systemu Windows. Przyjrzyjmy się praktyce analizy jednej z nich. Jako przykład wykorzystamy pulpit zdalny czyli popularne RDP. W połączeniu z uzyskaniem danych kont użytkowników to bardzo wygodna metoda ruchów pionowych, pozwalająca nawiązywać interaktywne połączenia z kolejnymi hostami. Ponieważ to pulpit zdalny, atakujący ma również możliwość korzystania z interfejsu graficznego i wygodnego „wyklikiwania” swoich celów jak wyszukiwanie plików na dysku, kopiowanie ich i kompresowanie w archiwach, czy eksfiltracja danych przez zalogowanie się za pomocą przeglądarki na maila i wysyłanie plików. Broniący mogą więc stanąć przed trudnym zadaniem – koniecznością wykrycia aktywności wyglądającej jak zwyczajne logowanie się do innej maszyny przez jednego z użytkowników. Jakie ślady i artefakty mogą nam pomóc w tym przypadku? Wykrywanie będzie składało się z dwóch komponentów – wykrycie używania RDP i analiza aktywności użytkownik aby ustalić czy powinni łączyć się z daną maszyną. W zakresie pierwszego z tych komponentów informacji dostarczą przede wszystkim artefakty świadczące o uruchomieniu procesów powiązanych z klientem pulpitu zdalnego – mstsc.exe, a po stronie urządzenia z którym atakujący miałby się łączyć narzędzia związane z funkcjonalnościami – rdpclip.exe (schowek w pulpicie zdalnym) i tstheme.exe (motywy powłoki systemu po połączeniu). Z drugiej strony systemowe dzienniki zdarzeń Security i RDPClient/Operational pozwalają na określenie kierunków połączeń i wykorzystanych kont użytkowników. W szczególności będzie to zdarzenie 4648 czyli zalogowanie z podaniem danych użytkownika. Przykładowe zdarzenie z dokumentacji Microsoftu:
Znajdziemy tutaj nie tylko informacje o użytkowniku ale też docelowym urządzeniu i procesie, który wywołał zdarzenie co ułatwia analizę. W dzienniku RDPClient/Operational natomiast warto zwrócić uwagę na wydarzenia o identyfikatorach 1024 i 1102. Pierwszy z nich związany jest z funkcjonalnością ActiveX, która to pozwala na aplikowanie dodatkowych skryptów i w jego zawartości znajdziemy wpis „RDP ClientActiveX is trying to connect to the server (nazwa hosta)”. 1102 to z kolei informacja o nawiązaniu połączenia gdzie pojawi się informacja o docelowym adresie IP. Te zdarzenia będziemy mogli zaobserwować po stronie urządzenia inicjującego połączenie, co z komputerem docelowym? Tam w dzienniku Security powinniśmy rozejrzeć się za śladami logowania typu 10 czyli zdalnego interaktywnego logowania, które to pojawią się w zdarzeniu 4624. Dodatkowo w przypadku pulpitu zdalnego użytkownik może rozłączać się i łączyć ponownie w ramach utworzonej sesji i te ponowne połączenia zostawiają zdarzenia o identyfikatorze 4778. I z drugiej strony rozłączenie zostawi ślad o identyfikatorze 4779. Zawartość wszystkich tych zdarzeń powinna wskazać nam adres IP i nazwę użytkownika który się zalogował na stację.
Nie będę starał się tutaj streścić reszty plakatu, zamiast tego chciałbym zwrócić uwagę na to czemu podoba mi się metodologia na nim przedstawiona. Przede wszystkim artefakty, które omówiliśmy na przykładzie pulpitu zdalnego są właściwe dla telemetrii systemu Windows – zarówno dzienniki zdarzeń, jak i dowody uruchomienia programów poprzez pliki prefetch. Nie musimy więc korzystać z żadnych dodatkowych narzędzi jak EDR aby zabrać się za analizę. Dodatkowo źródła artefaktów podzielone są na trzy kategorie – dzienniki zdarzeń, rejestr, i system plików. Łącząc więc fakt, że technik ruchów poziomych jest stosunkowo niewiele z możemy skupić się na konkretnych źródłach detekcji. Oczywiście to duże uproszczenie problemu – samo uruchomienie narzędzi związanych z pulpitem zdalnym czy zdarzenia mówiące o połączeniu z sesją nie będą wystarczające do utworzenia detekcji, która nie spowoduje wysypu fałszywie pozytywnych wyników. Jednak zrozumienie artefaktów jakie atakujący spowodują w środowisku jest pierwszym krokiem do ustalenia normalnych zachowań i wykrywania odstępstw, a następnie faktycznie złośliwej aktywności. Mając wiedzę i widoczność tego z jakimi stacjami powinni się łączyć użytkownicy, kiedy z nich korzystają, jak często rozłączają się i ponownie łączą w trakcie sesji, lub w końcu obserwując działania użytkowników którzy pierwsi w historii swojej pracy o drugiej w nocy możemy się zabrać za weryfikacje poszczególnych zdarzeń,
Z punktu widzenia threat huntingu ruchy w środowisku są pod wieloma względami szczególną fazą. Świadczą o tym, że atakujący już uzyskał dostęp do środowiska, a jednocześnie nie osiągnął jeszcze swoich celów, być może nawet dopiero rozpoznaję infrastrukturę. Dlatego też ograniczona ilość technik to szansa dla obrońców na wykorzystanie stresującej dla napastników sytuacji kiedy przed wykonaniem założonych zadań nie mogą już uniknąć pozostawiania śladów wynikających z normalnego działania systemu jak artefakty świadczące o uruchomieniu poszczególnych narzędzi czy logowania na stacjach roboczych. To przekłada się na bardziej stresującą dla napastników sytuacje i odwraca powtarzane czasem stwierdzenie, że „atakującym musi udać się tylko raz, a obrońcom za każdym razem”. Podczas działań w środowisku, to obrońcom wystarczy, że „uda się raz” bowiem pojedyncza detekcja może doprowadzić do odcięcia dostępu do środowiska i prześledzenia jak ten dostęp został uzyskany w pierwszej kolejności. Siedem wskazanych technik nie wyczerpuje wszystkich możliwości poruszania się w środowisku, jednak zapewniając sobie widoczność i możliwości ich detekcji radykalnie ograniczamy możliwości atakujących, zmuszając ich do korzystania z bardziej złożonych, a przez to mniej niezawodnych. A im bardziej związane ręce mają napastnicy i bardziej skomplikowanych działań muszą dokonywać, tym większa szansa na popełnienie błędu.
Jedna myśl na temat „