Funkcjonariusz: platforma open source do szybkiej eksfiltracji danych z komputerów, serwerów, telefonów, tabletów, aparatów cyfrowych i innych urządzeń USB.

kontakt@funkcjonariusz.com

Można by pomyśleć, że najprostsza i najlepsza metoda skopiowania plików z komputera na dysk zewnętrzny, to po prostu podłączenie tego dysku do włączonego komputera i uruchomienie kopiowania z poziomu Windows. I rzeczywiście, tak bywa najprościej - przynajmniej pod warunkiem, że w atakowanym Windows ktoś nie zablokował dostępu do urządzeń USB.

Ale czy:

  • tak jest najszybciej?
  • tak jest najbezpieczniej? albo w ogóle "bezpiecznie"?

Jeśli chodzi o "najszybciej", sprawa jest prosta: kopiowanie plików z poziomu Windows (lub innego systemu), bez użycia specjalistycznych narzędzi – a więc tzw. kopiowanie naiwne – będzie zawsze wolniejsze od kopiowania przy pomocy narzędzi, które pominą niepotrzebne pliki (np. filmy ściągnięte z Internetu, sterowniki, bazy danych programów antywirusowych i dziesiątki lub setki innych rzeczy).

Oczywiście takie narzędzia istnieją również dla Windows, ale tu właśnie dochodzimy do "najbezpieczniej" (mowa oczywiście o bezpieczeństwie operatora ataku).

Kwestie prawne

Dla pewności: czy masz tytuł prawny do prowadzenia tego typu działań? Zerknij na tą stronę, zanim przejdziesz dalej.

Ewolucja programów antywirusowych...

Niemal każdy użytkownik komputera słyszał o programach antywirusowych – czyli chroniących komputer (głównie system Windows) przed złośliwym oprogramowaniem. W ostatnich 10-15 latach programy antywirusowe uległy znacznej ewolucji – do tego stopnia, że funkcjonalność wyszukiwania w systemie złośliwych programów za pomocą ich sygnatur stanowi jedynie podstawę, dużo ważniejsze są dziś dodatki:

  • funkcje konsumenckie, nazywane często "Internet security" – czyli połączenie funkcjonalności firewalla i okrojonych wersji poniższych funkcji korporacyjnych z lepszym raportowaniem różnego rodzaju zdarzeń, zrzutami ekranu i blokadami portów USB
  • Data Leak Prevention (DLP) – taki program ma zaszyte wzorce wrażliwych danych (np. wzorzec numeru karty kredytowej) i skanuje ruch sieciowy oraz zapisywane przez użytkownika pliki pod kątem występowania takich danych – jeśli zaś wystąpią, podnosi alarm (tyle że widoczny już niekoniecznie przez samego pracownika, ale przez przełożonego czy administratora)
  • Endpoint Detection and Response (EDR) – to koncepcja podobna do tzw. heurystyki znanej już z programów antywirusowych – z tą różnicą, że różne potencjalnie złośliwe lub niepożądane zachowania są wykrywane i korelowane w skali całej chronionej sieci, a nie na każdym pojedynczym komputerze osobno – a więc w przypadku identyfikacji zagrożenia firma może uprzedzić atakującego, np. blokując dostęp do kolejnych komputerów
  • Security Information and Event Management (SIEM) – to koncepcja idąca w bardzo podobnym kierunku co EDR, ale jeszcze dalej: dane z różnych systemów są zbierane, po czym mapowane na konkretne zdarzenia biznesowe (przykładowo otwarcie nowego konta w banku wiąże się z zapisami na dysk na 38 różnych komputerach lub serwerach), a wszystkie aktywności (nawet pozornie nieszkodliwe, patrząc z perspektywy pojedynczego komputera), których nie da się do niczego przypisać, są analizowane pod kątem możliwych działań niepożądanych

Jeśli więc za "najbezpieczniej" uznamy możliwie najpełniejszą realizację celów osoby, która aktualnie fizycznie siedzi przy komputerze (np. funkcjonariusza, który odsunął pracownika i kopiuje dane z komputera na dysk zewnętrzny), to kopiowanie danych na komputerze zabezpieczonym systemem typu DLP, EDR lub SIEM, bezpieczne nie jest. Bo o ile nawet te dane zdążą się w całości skopiować, to istnieje bardzo duże prawdopodobieństwo, że:

  • działanie to zostanie wykryte i zidentyfikowane jako nieautoryzowane kopiowanie plików, po czym w ten lub inny sposób zablokowane na innych komputerach
  • przeciwko osobie, która korzystała (lub teoretycznie powinna była korzystać) w tym momencie z komputera, zostanie najprawdopodobniej wszczęte śledztwo – najpierw wewnątrz firmy, a jeśli się okaże, że działanie mogło być wynikiem przestępstwa, wówczas może być zgłoszone do organów ścigania

Czy da się jakoś ominąć takie zabezpieczenia?

Da się. Można to zrobić na kilka sposobów:

Najprostszy i najprymitywniejszy...

...ale w zupełności wystarczający do pełnego ominięcia prostych systemów DLP i Internet security, to użycie archiwizatora typu 7-Zip lub WinRAR: po prostu zamiast kopiować katalog z plikami, pakujemy go do archiwum z użyciem hasła. Systemy DLP sprawdzają najczęściej dane tylko przy operacjach zapisu do pliku – gdyby próbowały to robić przy każdym odczycie, byłoby to zbyt obciążające dla komputera. A więc ponieważ tutaj zawartość archiwum jest szyfrowana AES-256, system DLP nie ma szans wykryć żadnych wycieków.

Wady? Niestety systemów EDR i SIEM nie da się już tak prosto ogłupić. Jak również narzędzi, które dodatkowo robią periodyczne zrzuty ekranu, czy całkowicie blokują dostęp do urządzeń USB Mass Storage. Albo wprost szukają tego typu technik.

Najlepszy, ale i zdecydowanie najdroższy...

Jest to stworzenie dedykowanego pod konkretny atak i konkretny system zabezpieczający narzędzia, działającego pod Windows, które na bazie zaimplementowanych reguł zajmie się kopiowaniem tylko interesujących katalogów lub udziałów sieciowych – jednocześnie dzieląc swoje działania na takie pojedyncze operacje, z których przynajmniej część będzie przypominać autoryzowane i nie spowoduje podniesienia alarmu przez oprogramowanie zabezpieczające komputer.

Wady? Stworzenie oprogramowania tego typu kosztuje – tym więcej, im bardziej zaawansowane mechanizmy ochronne należy ominąć. A do tego już na etapie jego tworzenia musimy wiedzieć zarówno czego (z grubsza) szukamy, jak i przed wykryciem przez jakie konkretnie systemy chcemy się chronić.

Coś bardziej praktycznego

Najbardziej praktycznym rozwiązaniem jest po prostu uruchomienie na atakowanym komputerze innego systemu operacyjnego, wykrycie dysków twardych i skopiowanie danych przy wyłączonych wszystkich wynalazkach, jakie tylko mogłyby być zainstalowane w Windows.

Niestety, również i to rozwiązanie ma pewne ograniczenia:

  • dyski twarde w komputerze mogą być zaszyfrowane – a więc musisz znać PIN lub hasło, bądź klucz odzyskiwania, ew. musisz być w stanie zmusić osobę odsuniętą od komputera do ich ujawnienia – co może nie być możliwe, jeśli np. atak jest prowadzony niejawnie w nocy
  • system Windows podłączony do firmowego AD (Active Directory) ma najczęściej dostęp do różnych udziałów sieciowych – dostęp ten odbywa się za pośrednictwem mechanizmu Kerberos, przez co hasło użytkownika nie jest w żaden sposób zapisywane na lokalnym dysku, a co za tym idzie, nie może być przechwycone przez żadne narzędzia działające poniżej systemu operacyjnego – w efekcie da się przechwycić wyłącznie dane z nośników lokalnych (inaczej jest w systemie Linux, gdzie ewentualne udziały sieciowe SMB i NFS są wymienione wprost w pliku /etc/fstab – istnieją narzędzia wyciągające takie wpisy i potrafiące podłączyć takie udziały celem ich eksfiltracji)

Optymalny sposób ataku

Jak widać wyżej, każda z metod omijania zabezpieczeń ma pewne wady. Tak naprawdę najtrudniejszym elementem całego ataku jest właśnie prawidłowe rozpoznanie zabezpieczeń używanych przez ofiarę – tak aby na żadnym etapie nie dać się "przyłapać" i utrwalić, że robimy coś, czego być może robić nie powinniśmy (bo np. wykracza to poza zakres nakazu, jaki się nam udało zdobyć, a tym bardziej poza czynności, które możemy realizować "na legitymację").

Dlatego właśnie optymalne jest podzielenie ataku na kilka faz:

  • rozpoznawczą (opcjonalną i zależną od naszych konkretnych możliwości i/lub umiejętności)
  • "zimną" – czyli eksfiltrację danych z wyłączonych komputerów
  • "gorącą" – czyli eksfiltrację danych z oryginalnych systemów operacyjnych, przy uruchomionych wszystkich zabezpieczeniach

Faza rozpoznawcza

W fazie tej zbieramy wszelkie możliwe informacje, jakie jesteśmy w stanie zebrać przed właściwym wejściem do atakowanego obiektu. Mogą to być np.:

  • dostęp do poczty firmowej (lub prywatnej) osób, których hasła da się zdobyć w ten lub inny sposób
  • dostęp zdalny do słabiej zabezpieczonych serwerów (znalezionych samodzielnie lub poprzez zakup danych dostępowych)
  • przechwycenie backupów offline (np. wynoszonych na pen drive lub dysku zewnętrznym do osobnej lokalizacji przez pracownika, którego można pod jakimś pozorem zatrzymać i za pomocą Funkcjonariusza Mobilnego szybko skopiować nośniki)
  • wyniki zaprzyjaźnionych kontroli, np. skarbowych (albo wręcz "zlecenie" kontroli, która pod jakimś pretekstem poszuka odpowiednich dokumentów)

W fazie tej, niezależnie od sposobu zbierania informacji, najbardziej przydatne będzie zebranie:

  • szczegółowej struktury organizacyjnej firmy, działu, czy konkretnego biura, które mają być przedmiotem ataku w następnej fazie – nazwiska, stanowiska, przypisane komputery i inny sprzęt, oraz generalnie wszystkiego, co pozwoli na ustalenie stopnia zainteresowania daną osobą i danymi przez nią posiadanymi i przetwarzanymi
  • harmonogramów pracy i innych danych wskazujących, kiedy poszczególne osoby będą w biurze, oraz czy wynoszą komputery i/lub nośniki poza biuro (np. w celu pracy z domu)
  • haseł do zaszyfrowanych dysków lub innych plików – lub np. algorytmów tworzenia takich haseł, jeśli są w użyciu (np. wysyłane załączniki szyfrowane w oparciu o PESEL klienta, laptopy szyfrowane Bitlockerem z PIN-em tworzonym na podstawie numeru seryjnego laptopa)
  • dokumentów, w których można znaleźć nazwy stosowanych zabezpieczeń i/lub rozmaite numery seryjne – najczęściej będą to:
    • faktury zakupowe
    • zestawienie środków trwałych (to może być prowadzone w postaci bazy danych w programach typu Symfonia, Comarch Optima, Insert GT/Nexo itp.)
    • dokumenty amortyzacyjne (jeśli nie da się dostać do bazy Środków Trwałych)
    • rejestr umów outsourcingu IT (w dobie RODO firma zatrudniająca 250 lub więcej pracowników musi prowadzić taki rejestr)
    • dokumenty gwarancyjne (tj. związane z realizacją usług gwarancyjnych)
  • jeśli okaże się to możliwe – również i tych konkretnych danych, które w danym przypadku są właściwym celem ataku – wówczas na fazie zdalnej możemy zakończyć

Podsumowaniem fazy rozpoznawczej powinno być wyliczenie optymalnej ilości sprzętu i osób do pomocy tak, aby jak najlepiej zrównoleglić działania, jednocześnie unikając niepotrzebnego ryzyka związanego z wtajemniczeniem większej liczby osób, niż to naprawdę niezbędne.

Faza "zimna" – czyli właściwe odwiedziny atakowanego obiektu

Mając już ustalone wszystko, co dało się rozpoznać we wcześniejszej fazie, możemy przejść do właściwego ataku i eksfiltracji danych z poszczególnych komputerów.

Samo wkroczenie do obiektu można zrealizować na kilka sposobów, jawnie lub niejawnie – wybór odpowiedniego sposobu powinien zależeć przede wszystkim od tego:

  • ile pracy jest do wykonania (ile komputerów, nośników i innych rzeczy wartych uwagi)
  • ile osób masz do dyspozycji, jak mocno zaufanych, jak wtajemniczonych w realny cel ataku, jakie uprawnienia posiadających (cywile czy funkcjonariusze, ew. nakaz czy tylko legitymacje), oraz jak dobrze obeznanych z IT i przewidywanymi działaniami
  • ile sprzętu (głównie osobnych dysków zewnętrznych) masz do dyspozycji (a co za tym idzie, jak bardzo da się zrównoleglić działania na poszczególnych komputerach)
  • jaką ilością czasu dysponujecie (całkiem inaczej należy podejść do ataku realizowanego jednoosobowo w maksymalnie 30-40 minut, nie mając żadnych nakazów, oraz do skoordynowanego ataku realizowanego np. w 25 funkcjonariuszy wchodzących jednocześnie na różne piętra wielkiego biura i mających do dyspozycji 8-10 godzin)
  • jak dobrze zabezpieczony jest obiekt (głównie w kamery) – a więc ile dodatkowego czasu pójdzie na różnego rodzaju pozorację działań, bądź rozbrajanie tych kamer ad hoc

Celem tej fazy jest eksfiltracja danych przy wyłączonych zabezpieczeniach typu DLP, EDR, SIEM, programach antywirusowych, robiących zrzuty ekranu czy wyłączających porty USB. A więc po wyłączeniu oryginalnych systemów operacyjnych (Windows lub innych) i uruchomieniu tych komputerów z odpowiednio przygotowanych dysków zewnętrznych.

Zaletą tej formy ataku jest to, że cokolwiek nie byłoby zainstalowane na atakowanych komputerach (z wyjątkiem ewentualnych rozwiązań sprzętowych, np. keylogger USB rejestrujący dane na własnym nośniku), to jedynym śladem, jaki zostanie zarejestrowany, będzie fakt wyłączenia komputera.

Wadą natomiast jest ograniczenie możliwości eksfiltracji danych do:

  • lokalnych komputerów (tj. danych leżących na dyskach twardych) – i to tylko tych:
  • serwerów (plików, FTP lub innych) – tylko w takim zakresie, w jakim uda się na miejscu zebrać hasła lub inne dane dostępowe i uruchomić dedykowany atak
  • innych nośników znalezionych na terenie obiektu

Funkcjonariusz jest narzędziem zaprojektowanym specjalnie do działania w takim właśnie modelu. Jest to prosta nakładka na system operacyjny Kali Linux, której działanie można podsumować następująco:

  • wyłączamy Windows
  • podłączamy do komputera odpowiednio przygotowany nośnik USB
  • uruchamiamy z nośnika Kali Linux Live (w trybie "encrypted persistent partition")
  • Funkcjonariusz uruchamia się i rozpoznaje podłączone do komputera nośniki
  • Funkcjonariusz rozpoczyna kopiowanie (rsync) plików po kolei z poszczególnych dysków na ukryty katalog na partycji persistent
  • każdy dysk jest też skanowany przez komplet rozszerzeń, pod kątem:
    • rozszyfrowywania w locie dysków zaszyfrowanych Bitlockerem, VeraCryptem, FileVaultem czy LUKS-em
    • plików potencjalnie zawierających hasła do różnych usług i udziałów sieciowych, do których można się podłączyć i eksfiltrować ich zawartość równolegle do lokalnych dysków
  • na koniec odłączamy nasz nośnik i ponownie włączamy Windows (czy generalnie doprowadzamy komputer do stanu takiego jak przed atakiem)

Faza "gorąca" – czyli eksfiltracja danych bezpośrednio z systemów ofiary

Jednym z efektów fazy "zimnej" powinno być pozyskanie kopii danych z interesujących atakującego komputerów. Kopia ta będzie zawierać nie tylko dane wygenerowane (czy przetwarzane) przez użytkownika, ale też pliki związane z zainstalowanymi programami i sterownikami – w tym z programami typu "endpoint protection", będącymi częścią większych systemów: antywirusowych, DLP, EDR, SIEM, czy jeszcze innych.

W momencie, gdy system Windows jest uruchomiony na tak zabezpieczonym komputerze, co najmniej niektóre z tych programów (np. ESET Safetica DLP) używają różnych technik, aby ukryć swoją obecność: wymazać uruchomione procesy z listy aktywnych w systemie procesów, zamaskować istnienie odpowiednich katalogów itd.

Jednak w momencie, gdy "dobierzemy się" do systemu plików NTFS tak zabezpieczonego komputera z poziomu innego systemu operacyjnego, katalogi te widać jak na dłoni. A co za tym idzie, pozyskane kopie danych powinny pozwolić na precyzyjne ustalenie, jakich dokładnie zabezpieczeń używa atakowana firma – tak aby w dalszej kolejności móc te zabezpieczenia skutecznie obejść.

Tak więc celem fazy "gorącej" jest:

  • rozpoznanie, z jakimi dokładnie zabezpieczeniami mamy do czynienia na poszczególnych komputerach (z dokładnością do konkretnej wersji)
  • dobranie odpowiednich narzędzi (w tym ew. implementacja dedykowanych skryptów, plików konfiguracyjnych itp.) pod te konkretne zabezpieczenia (aby na konkretnych komputerach uniknąć rozpoznania)
  • przygotowanie zestawów narzędzi per atakowany komputer (oczywiście jeśli większe grupy komputerów używają dokładnie takich samych zabezpieczeń, dobieramy odpowiednie narzędzia per cała grupa)
  • skuteczne, niezauważone dostarczenie tych narzędzi na poszczególne komputery
  • ponowna eksfiltracja danych z interesujących komputerów – tym razem przy włączonych systemach Windows (lub innych), a więc z pełnym dostępem do serwerów plików i do innych usług sieciowych

Faza "gorąca" różni się od "zimnej" przede wszystkim dwoma rzeczami:

  • najczęściej może być zrealizowana zdalnie – zakładając właściwe przygotowanie merytoryczne, nie ma sensu powtarzać fizycznego wejścia na obiekt (w którym od czasu pierwszego wejścia mogły zostać zainstalowane dodatkowe kamery i inne zabezpieczenia)
  • włączony oryginalny system operacyjny to zarazem włączone i aktywne wszystkie poinstalowane na komputerze zabezpieczenia: program antywirusowy, DLP, EDR, SIEM, automatyczne zrzuty ekranu i potencjalnie inne – a więc główną trudnością w tej fazie jest przygotowanie takiego rozwiązania, które zostanie dostarczone w sposób niezauważalny dla tych zabezpieczeń, a następnie równie niezauważalnie dokona eksfiltracji danych i autodestrukcji

Podsumowanie

Oczywiście cały przedstawiony wyżej podział na fazy jest podziałem orientacyjnym, będącym jedynie punktem wyjścia do sporządzenia planu konkretnego ataku. Tak naprawdę każda z przedstawionych trzech faz jest opcjonalna – bowiem na każdym etapie możesz mieć do czynienia z jakąś szczególną sytuacją, w której masz już dostęp do niezbędnych danych w całkiem inny sposób.