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ąć?
- Najlepiej zacząć od zapoznania się z dokumentacją: https://caldera.readthedocs.io/en/latest/
- Przeczytać informacje na stronie www: https://attack.mitre.org/resources/related-projects/
- Obejrzeć krótki i oficjalny poradnik: https://www.youtube.com/watch?v=_mVGjqu03fg
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).
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.
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.
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.
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.
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.
Czy ten artykuł był pomocny?
Oceniono: 1 razy