Caldera Framework – przetestuj swój produkt bezpieczeństwa

25 maja, 2021

Caldera to doskonałe narzędzie w rękach testerów bezpieczeństwa. Powstało dzięki współpracy ekspertów stojących za edukacyjną bazą taktyk i ataków pod nazwą MITRE ATT&CK. Szerokie możliwości tego frameworka pozwalają sprawdzić skuteczność rozwiązań ochronnych z wyszczególnieniem konkretnych modułów np.: zabezpieczeń przed zaszyfrowaniem plików, blokowania złośliwych połączeń przez firewall, protekcję przed atakami zero-day, raportowanie zainstalowanych agentów EDR na stacjach roboczych i wiele więcej.

Najnowsza wersja Caldery 3.1.0 zawiera szereg usprawnień w odniesieniu do pierwszej wersji z zeszłego roku. Dzięki temu narzędziu zespoły bezpieczeństwa mogą dokładnie zweryfikować poprawność konfiguracji produktu klasy Advanced Endpoint Protection lub Endpoint Detection and Response (EDR). Nic też nie stoi na przeszkodzie, aby używać Caldery w domowym laboratorium (por. Podstawy bezpieczeństwa: jak analizować malware i przetestować antywirusa w domowym labie?).

Oprogramowanie zbudowane jest z kilku komponentów:

  • serwera Command and Control z asynchroniczną komunikacją klient-serwer,
  • zbioru popularnych taktyk i technik cyberprzestępczych,
  • interfejsu internetowego,
  • pluginów obejmujących trojany zdalnego dostępu, różne taktyki i techniki możliwe do uruchomienia na zainfekowanej stacji,
  • własnych pluginów, plików, skryptów, złośliwego oprogramowania,
  • używania indywidualnych poleceń przekazywanych do zainfekowanej stacji.
 

Jeżeli mielibyśmy napisać w jednym zdaniu, czym jest ów framework, to Caldera emuluje ataki ATP najróżniejszych grup hakerów. Zawiera skonfigurowane taktyki i techniki, które możemy uruchomić na zainfekowanym urządzeniu z systemem Windows, Mac i Linux.

Caldera Framework – jak zacząć?

 

Tego rodzaju narzędzi używamy do testów, aby zagwarantować naszym klientom oraz czytelnikom, że:

  • Bierzemy garściami z tych samych ataków, narzędzi oraz metod, co hakerzy.
  • Sprawdzamy, co dzieje się z testowanym produktem podczas testu.
  • Możemy powtórzyć doświadczenie, aby w dowolnym czasie zweryfikować dokładność symulowanego ataku (w przypadku wątpliwości).
 

Tym samym zapewniamy zgodność z procedurami testowania organizacji AMTSO oraz MITRE. Przy okazji zachęcamy do zapoznania się z informacjami, jak postępujemy w serii testów Advanced In The Wild Malware Test.

Calderę instalujemy na dowolnej dystrybucji Linuksa. My użyliśmy najnowszego Ubuntu, jako serwera Command and Control (serwer hakera) oraz Windows 10, jako systemu ofiary.

Obie maszyny wirtualne są w tej samej sieci, aczkolwiek nie jest konieczne. Jeżeli chcemy używać zdalnego serwera CnC, należy upewnić się, aby adres IP atakującego był dostępny z zewnątrz (nasłuchiwanie na wybranym porcie i adresie IP da się dowolnie skonfigurować).

Przechodzimy do wybranego katalogu i instalację rozpoczynamy od uruchomienia następującego polecenia:

git clone https://github.com/mitre/caldera.git --recursive --branch 3.1.0

Kolejno instalujemy wszystkie wymagane komponenty:

pip3 install -r requirements.txt

Uruchamiamy serwer Command and Control:

python3 server.py --insecure

Logujemy się w przeglądarce pod adresem localhost:8888 z poświadczeniami zapisanymi w katalogu caldera/conf/default.yml i przechodzimy do zakładki „agents”.

Konfiguracja połączenia: stacja robocza -> serwer CnC

Klikamy w „click to deploy agent” i wybieramy jeden z parametrów instalacji agenta w Windows, Linux albo MacOS. My użyliśmy systemu Windows 10 – agenta najłatwiej wdrożyć poprzez CTRL+C i CTRL+V do PowerShell. Trzeba tylko jeszcze podać adres IP serwera CnC (u nas 192.168.133.129) oraz domyślny port 8888 (numer portu można zmienić w konfiguracji caldera/conf/default.yml).

Wdrożenie agenta Caldera – konfiguracja połączenia.
Wdrożenie agenta Caldera – konfiguracja połączenia.

Po kilku chwilach, jeżeli wszystko pójdzie jak należy, stacja robocza stanie się komputerem zombie – jest już zainfekowana i czeka na rozkazy od operatora CnC.

Wdrożenia agenta ze skutkiem pozytywnym.
Wdrożenia agenta ze skutkiem pozytywnym.

Co dalej? Przegląd najważniejszych zakładek

Pierwsze trzy zakładki są najważniejsze dla początkującego adepta obsługującego Calderę:

  • agents: tutaj konfigurujemy połączenie dla agenta.
  • adversaries: przeglądamy prekonfigurowane taktyki i techniki ataków, modyfikujemy je albo tworzymy indywidualne konfiguracje ataków.
  • operations: uruchamiamy zdefiniowane w „adversaries” ataki z wybranymi parametrami.
 

Plugins: te zakładki są przeznaczone dla zaawansowanych badaczy (dokumentacja dokładnie wyjaśnia do czego służą). Dodajmy tylko, że większość z nich to narzędzia stricte ofensywne.

Przegląd taktyki „discovery”.
Przegląd taktyki „discovery”.

Przykładowo, w zakładce adversaries (przeciwnicy, atakujący), wybieramy jedną z kilkunastu predefiniowanych taktyk. W tym doświadczeniu używamy taktyki „discovery”, która zawiera szereg technik używanych przez cyberprzestępcze grupy ATP:

  • Identyfikacja nazwy użytkownika (technika T1033).
  • Przeszukiwanie aktywnych procesów użytkownika (T1057).
  • Wykrywamy zainstalowany produkt bezpieczeństwa (T1518.001).
  • Pobieramy zakładki z przeglądarki Chrome (T1217).
  • I wiele więcej.
 

Aby uruchomić pierwszą cyber-operację, przechodzimy do zakładki „operations”, gdzie podajemy nazwę kampanii oraz kilka podstawowych parametrów z checklisty. Najważniejsze to wybranie szukanej taktyki np. „discovery”, która uruchomi szereg poleceń na komputerze zombie.

Do sprawdzenia, czy Caldera działa poprawnie, użyliśmy zaprezentowanej wyżej taktyki „discovery”, aby uzyskać informacji o zainstalowanym produkcie bezpieczeństwa.

Wykrywanie zainstalowanego antywirusa (wyłączonego).
Wykrywanie zainstalowanego antywirusa (wyłączonego).
Wykrywanie uruchomionych procesów.
Wykrywanie uruchomionych procesów.

Caldera używa szeregu legalnych narzędzi administracyjnych np. wmic.exe, aby uruchomić polecenie wyszukujące produkt bezpieczeństwa:

Wmic /NAMESPACE:\\root\SecurityCenter2 PATH AntiVirusProduct GET /value

Albo PowerShell do sprawdzenia procesów, do których można podczepić uruchamianie się złośliwych plików i poleceń:

$owners = @{};gwmi win32_process |% {$owners[$_.handle] = $_.getowner().user};$ps = get-process | select processname,Id,@{l="Owner";e={$owners[$_.id.tostring()]}};$valid = foreach($p in $ps) { if($p.Owner -eq $env:USERNAME -And $p.ProcessName -eq "svchost") {$p} };$valid | ConvertTo-Json

Caldera to narzędzie do testów

Oprogramowanie daje zespołom bezpieczeństwa spore możliwości ofensywno-rozpoznawcze:

  • Zbieranie informacji o pocztowych kontach firmowych.
  • Znajdujących się plikach na stacji pracownika.
  • Możliwość monitorowania schowka systemowego i zakładek przeglądarki.
  • Nagrywanie dźwięku z podłączonego mikrofonu.
  • Robienie zrzutów ekranu z zainfekowanej stacji.
  • Uruchamianie skryptów bash, VBA, PowerShell, CMD, WMI.
Caldera - przegląd możliwości.
Caldera - przegląd możliwości.

Polecenia mogą być uruchamiane w postaci jawnej albo zakodowanej (base64, steganografia i inne). Przykładowe jawne polecenie w PowerShell, odpowiedzialne za wyłączenie UAC poprzez modyfikację rejestru, wygląda tak:

New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force

To samo polecenie, ale już zakodowane w base64:

powershell -Enc TgBlAHcALQBJAHQAZQBtAFAAcgBvAHAAZQByAHQAeQAgAC0AUABhAHQAaAAgAEgASwBMAE0AOgBTAG8AZgB0AHc...wBlAA==

Zupełnie nie przesadzimy, jeśli napiszemy, że Caldera potrafi znacznie więcej. Jest to narzędzie edukacyjne, a zarazem ofensywne. Najlepiej sprawdzi się w rękach osób odpowiedzialnych za teoretyczną i praktyczną stronę bezpieczeństwa, ponieważ umożliwia wgląd w szereg prawdziwych taktyk i technik cyberataków, z których dużo informacji mogą czerpać menadżerowie IT, aby jeszcze lepiej usprawnić procesy bezpieczeństwa w organizacji.

Z oczywistych powodów narzędzie Caldera powinno być używane wyłącznie do celów edukacyjnych. W kontrolowanym środowisku. Za zgodą podmiotu audytowanego.

Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.
Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.

PODZIEL SIĘ:

Czy ten artykuł był pomocny?

Średnia ocena: 5 / 5. Liczba głosów: 1

guest
0 komentarzy
Inline Feedbacks
View all comments

Wyrażam zgodę na przesłanie oferty drogą telefoniczną przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

Wyrażam zgodę na przesłanie oferty drogą mailową przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

[ninja_tables id=”27481″]