Wewnątrz ICMacOS: Od Infostealera do Trwałego RAT-a
Detection stack
- AIDR
- Alert
- ETL
- Query
Podsumowanie
ICMacOS, znany także jako Icarus macOS, to nowo zidentyfikowane macOS Malware-as-a-Service (MaaS), które ewoluowało z wykradacza danych uwierzytelniających do persistent Remote Access Trojan (RAT). Atakuje cenne informacje, w tym poświadczenia przeglądarki, portfele kryptowalut i sekrety deweloperów, takie jak klucze SSH i konfiguracje chmury. Malware korzysta z inżynierii społecznej opartej na ClickFix do dostarczania oraz z WebSockets do bezpośredniego dowodzenia i kontroli.
Śledztwo
Jednostka Badawcza Zagrożeń SOCRadar (STRU) zidentyfikowała ICMacOS poprzez analizę telemetrii i monitorowanie forów podziemnych. Badacze prześledzili łańcuch infekcji od początkowych skryptów Bash dropper do wdrożenia binariów Mach-O i pomocniczych ładunków opartych na Pythonie. Dochodzenie udokumentowało postęp od Wersji 1, skupionej na kradzieży danych, do Wersji 2 z funkcjonalnością RAT, jednocześnie mapując infrastrukturę C2 poprzez analizę WebSockets.
Zarządzanie
Organizacje powinny wprowadzić surowe kontrole wokół wykonywania poleceń terminala i monitorować podejrzane modyfikacje LaunchAgent. Zaleca się wzmocnienie systemów macOS poprzez szyfrowanie dysku i polityki MDM ograniczające nieautoryzowane LaunchAgents. Zespoły ds. bezpieczeństwa powinny także monitorować nietypowe połączenia wychodzące WebSocket i nieautoryzowany dostęp do usług Keychain jako potencjalne wskaźniki naruszenia bezpieczeństwa.
Reakcja
Gdy wykryta zostanie aktywność ICMacOS, należy odizolować zainfekowany host macOS od sieci, aby zatrzymać eksfiltrację danych i dalszą komunikację C2. Przeprowadzić kompleksową przegląd forensyczny katalogu /tmp, LaunchAgents oraz aktywności użytkownika w Keychain. Rotować potencjalnie skompromitowane poświadczenia, w tym klucze SSH, tokeny dostawców chmury, takie jak AWS i Kubernetes, oraz hasła przechowywane w przeglądarce.
Przepływ ataku
Wciąż aktualizujemy tę część.
Detekcje
Próba Komunikacji Szukania Domeny IP (przez dns)
Uruchomienie Launchctl z Niestandardowej Ścieżki (przez process_creation)
Podejrzane Modyfikacje Uprawnień do Plików w Katalogu Tmp MacOS (przez cmdline)
Próba Ręcznego Odblokowania Keychain (przez cmdline)
Możliwa Próba Odkrycia Haseł Przeglądarki w MacOS (przez cmdline)
Podejrzana Próba Wykonania Curl [MacOS] (przez cmdline)
Archiwum Utworzone w Katalogu Tymczasowym MacOS (przez file_event)
IOCs (HashSha256) do wykrycia: Wewnątrz ICMacOS: Od Kradzieżcy Informacji do Persistent RAT
Wykrywanie Złośliwego Dostępu do Konfiguracji Zdalnej i Pobieranie Ładunku [Webserver]
Wykrywanie Użycia AppleScript i Pobierania Haseł Keychain w Zakażeniach macOS ICMacOS [Windows Process Creation]
Wykrywanie Ukrytej Aktywności i Nieautoryzowanej Agregacji Danych przez ICMacOS [Linux File Event]
Wykrywanie Kradzieżcy ICMacOS poprzez Obfuskację Terminalową i Enumerację Procesów [Linux Process Creation]
Symulacja Wykonania
-
Narracja Ataku & Polecenia: Przeciwnik uzyskał początkowy dostęp do stacji roboczej macOS i wdraża kradzież ICMacOS. Aby uniknąć wykrycia przez użytkownika i zminimalizować okno do obserwacji manualnej, malware wykonuje skrypt poprzez
zsh. Skrypt najpierw używabasename $0aby określić swoją nazwę pliku dla dalszej obfuskacji swojej obecności w systemie plików. Natychmiast po zainicjowaniu złośliwego ładunku (symulowanego przez enumeracjęprocesów ICMACOS), skrypt próbuje zcrashować okno terminala użytkownika używającprocesses), the script attempts to crash the user’s terminal window usingkillall Terminalaby wyrzucić użytkownika z aktywnej sesji i ukryć historię poleceń. -
Skrypt Testów Regresji:
#!/bin/zsh # Skrypt symulacji dla walidacji wykrywania kradzieżcy ICMacOS echo "[+] Rozpoczęcie Symulacji Kradzieżcy ICMacOS..." # 1. Wyzwól selection_basename_killall przez 'basename $0' echo "[+] Wykonywanie wzorca obfuskacji: basename $0" /bin/zsh -c "echo $(basename $0)" # 2. Wyzwól selection_basename_killall przez 'killall Terminal' echo "[+] Wykonywanie wzorca ukrycia: killall Terminal" # Uwaga: Używamy podshel'a, aby skrypt symulacji sam siebie natychmiast nie zakończył # jeśli uruchomiony w prawdziwym terminalu, ale dla celu reguły chcemy, aby polecenie się wykonało. /bin/zsh -c "killall Terminal" 2>/dev/null || echo "[!] killall nie powiodło się (Terminal nie działa lub odmowa dostępu)" # 3. Wyzwól selection_pgrep przez 'pgrep ICMACOS' echo "[+] Wykonywanie wzorca enumeracji: pgrep ICMACOS" /bin/zsh -c "pgrep ICMACOS" echo "[+] Polecenia symulacji wysłane." -
Polecenia Porządkowe:
# Żadne trwałe pliki nie zostały utworzone przez skrypt symulacji. # Jeśli użyto jakichkolwiek plików tymczasowych, powinny zostać tutaj usunięte. rm -f /tmp/icmacos_sim_test