Kampania DarkBlinders Atakuje Ofiary Z Zaawansowanymi Technikami Szpiegowskimi
Detection stack
- AIDR
- Alert
- ETL
- Query
Podsumowanie
DarkBlinders to aktywna kampania cyber szpiegowska wymierzona w organizacje rządowe i dyplomatyczne w Izraelu oraz Regionie Kurdystanu w Iraku. Złośliwy aktor opiera się na zaawansowanych przynętach phishingowych, w tym fałszywych aplikacjach do spotkań wideo i replikach usług chmurowych, aby wdrożyć złośliwe oprogramowanie. Operacja wykorzystuje również repozytoria GitHub do komend i kontroli (C2) oraz używa selektywnej aktywacji do swojego drugiego etapu tylnego wejścia.
Śledztwo
Dream Research Labs przeprowadziło dogłębną analizę kampanii DarkBlinders i odkryło wieloetapowy łańcuch infekcji związany z aplikacją-pozorką o nazwie StarkMeet. Badacze inżynierii wstecznej złośliwego oprogramowania uzyskali dostęp tylko do odczytu do infrastruktury C2 opartej na GitHubie przez przeciwnika. Ta widoczność umożliwiła im zidentyfikowanie zadań ofiar i obserwację exfiltracji ponad 1 GB danych z chmury rządowej.
Łagodzenie
Organizacje powinny wymuszać surowe kontrole na niezaufanej instalacji oprogramowania i monitorować nietypowe połączenia wychodzące do współdzielonych usług, takich jak GitHub, z systemów niebędących deweloperami. Zaleca się także zwiększenie czujności w odniesieniu do udostępnień w chmurze i podejrzanych załączników e-mailowych. Monitorowanie nieautoryzowanego wykonywania PowerShella przez AppDomainManager lub ładowania w pamięci może dodatkowo pomóc w identyfikacji działań związanych z tą techniką ładowania.
Reakcja
W przypadku wykrycia aktywności DarkBlinders, należy odizolować zainfekowane hosty, aby zatrzymać dalszą exfiltrację danych i zachować pamięć do kryminalistycznego przeglądu ładunków w pamięci. Przeglądaj osobiste tokeny dostępu GitHub i dzienniki dostępu do repozytoriów, jeśli podejrzana aktywność dotyczy środowiska deweloperskiego organizacji. Zresetuj poświadczenia dla wszystkich kont, które mogły zostać ujawnione przez zidentyfikowaną infrastrukturę phishingową.
Przepływ ataku
Wykrycia
Procesy systemowe wykonywane z nietypowych ścieżek (via process_creation)
Podejrzany proces wykorzystuje adres URL w linii poleceń (via cmdline)
Podejrzane użycie CURL (via cmdline)
Możliwe pobieranie plików z GitHub inicjowane przez nietypowy proces (via network_connection)
Podejrzane pliki w profilu publicznego użytkownika (via file_event)
Możliwe nadużycie rozwojowej domeny Cloudflare (via dns)
Podejrzane komendy i kontrola przez zapytanie DNS do nietypowej domeny najwyższego poziomu (TLD) (via dns)
IOC (HashSha256) do wykrycia: DarkBlinders: Wewnątrz Aktywnej Kampanii Szpiegowskiej Część 2
IOC (HashSha256) do wykrycia: DarkBlinders: Wewnątrz Aktywnej Kampanii Szpiegowskiej Część 1
IOC (HashMd5) do wykrycia: DarkBlinders: Wewnątrz Aktywnej Kampanii Szpiegowskiej
IOC (SourceIP) do wykrycia: DarkBlinders: Wewnątrz Aktywnej Kampanii Szpiegowskiej
IOC (DestinationIP) do wykrycia: DarkBlinders: Wewnątrz Aktywnej Kampanii Szpiegowskiej
Aktywność C2 DarkBlinders przez GitHub i Cloudflare Workers [Windows Network Connection]
Wykrycie Komponentów Kampanii DarkBlinders [Windows Process Creation]
Symulacja Wykonania
-
Narracja ataku i polecenia: Przeciwnik dąży do utrzymania obecności i zdalnego dostępu przy użyciu pakietu DarkBlinders. Po uzyskaniu początkowego dostępu napastnik wdraża aplikację-pozornika o nazwie
StarkMeet.exe. Aby uniknąć wykrycia, złośliwe oprogramowanie napastnika wykonuje polecenie powłoki w celu pobrania dalszych ładunków. W tej symulacji utworzymy ręcznie manekinaStarkMeet.exei uruchomimy go do wykonaniacmd.exe, co odpowiada logice reguły:(StarkMeet.exe) AND (cmd). -
Skrypt Testów Regresyjnych:
# Skrypt symulacji: Wyzwalacz komponentu DarkBlinders # 1. Utwórz plik manekinowy reprezentujący komponent DarkBlinders $dummyPath = "$env:TEMPStarkMeet.exe" New-Item -Path $dummyPath -ItemType File -Force # 2. Użyj małego ładunku, aby uczynić 'wykonywalnym' faktyczne uruchomienie komendy # W celach symulacyjnych użyjemy powłoki PowerShell do uruchomienia 'złośliwego' procesu # który naśladuje działanie komponentu wywołującego cmd.exe. Write-Host "[+] Symulowanie wykonania komponentu DarkBlinders..." # Używamy Start-Process do symulacji procesu StarkMeet.exe wywołującego cmd.exe # Uwaga: w rzeczywistej sytuacji plik binarny wykonywałby to wywołanie. # Aby uruchomić specyficzną logikę 'Image' reguły Sigma, musimy zmienić nazwę procesu lub # zasymulować wykonanie tego konkretnego pliku. # Ponieważ nie możemy tutaj łatwo skompilować prawdziwego pliku binarnego, symulujemy tworzenie procesu # który Sysmon zobaczyłby, gdy StarkMeet.exe uruchamia cmd.exe. Start-Process -FilePath "$env:TEMPStarkMeet.exe" -ArgumentList "cmd.exe /c echo 'Triggering Detection'" -ErrorAction SilentlyContinue # Ponieważ nie możemy faktycznie uruchomić pliku niebinarnego, używamy tej komendy, aby stworzyć # dokładny wzorzec telemetryczny poprzez symulowane tworzenie procesu, jeśli to możliwe, # lub po prostu przyznać, że w celu wyzwolenia reguły, plik musi istnieć. # REALISTYCZNE PODEJŚCIE DO TESTOWANIA: # Utworzymy mały plik wykonywalny lub użyjemy znanej metody nazywania procesu. # W tym skrypcie zakładamy, że środowisko pozwala nam zmienić nazwę narzędzia systemowego na StarkMeet.exe Copy-Item "C:WindowsSystem32cmd.exe" -Destination "$env:TEMPStarkMeet.exe" Start-Process -FilePath "$env:TEMPStarkMeet.exe" -ArgumentList "/c echo DetectionTriggered" Write-Host "[+] Wysłano komendę symulacyjną. Sprawdź SIEM dla StarkMeet.exe + cmd/powershell." -
Polecenia czyszczenia:
# Wyczyść artefakty symulacji Remove-Item -Path "$env:TEMPStarkMeet.exe" -Force -ErrorAction SilentlyContinue Write-Host "[+] Czyszczenie zakończone."