
RustyWater rappresenta il payload principale e la spina dorsale dell'intera operazione avversaria negli attacchi del gruppo Static Kitten.
RustyWater rappresenta il payload principale e la spina dorsale dell'intera operazione avversaria negli attacchi del gruppo Static Kitten. RustyWater è un eseguibile compilato in Rust (mascherato da reddit.exe con una finta icona di Cloudflare) noto come RustyWater (o collegato ad Archer RAT/RUSTRIC) che presenta una forte capacità di evasione di AV/EDR tramite iniezione di processo e persistenza basata sul registro.
Reddit.exe implementa un sistema di anti-analisi a 8 livelli completo che sonda attivamente l'ambiente di esecuzione alla ricerca di segni di monitoraggio, virtualizzazione o debug. Ogni livello agisce come un filtro, assicurando che il payload si attivi solo su un bersaglio reale.
Inizialmente il soldato RustyWater si guarda intorno per valutare la potenza della macchina su cui si trova. Si chiede: Quanti core ha questo processore? Gli ambienti di analisi, come i sandbox, sono tipicamente a risorse limitate e spesso hanno due core o meno. Se il soldato scopre che la macchina è così debole, decide immediatamente che l'ambiente non è sicuro e scompare senza lasciare traccia, vanificando tutti gli sforzi degli analisti.
Nell'immagine fornita, una sezione del codice del programma Reddit.exe illustra questo meccanismo. La freccia indica la riga che controlla il "cpu count", dove il programma esamina il numero di core del processore. Se il conteggio è pari o inferiore a due, significa che l'ambiente circostante è sospetto e l'esecuzione viene immediatamente interrotta.

Non soddisfatto dal solo controllo della CPU, il soldato scava più a fondo. Sa che le macchine virtuali lasciano dietro di sé specifiche impronte digitali, come una scia di briciole di pane. Scansiona l'elenco dei processi in esecuzione alla ricerca di nomi familiari associati a software di virtualizzazione: vmtoolsd.exe (VMware), vboxtray.exe (VirtualBox) e xenservice.exe (Xen). Controlla anche l'esistenza di specifici file driver sul disco, come vmmouse.sys o VBoxGuest.sys.
La logica è semplice: se una macchina sta eseguendo gli strumenti VMware, è probabilmente una VM. Se è una VM, è probabilmente un ambiente di analisi. Se è un ambiente di analisi, il soldato abortisce la missione.

Il soldato si avventura quindi nel Registro di sistema di Windows, un vasto database di impostazioni di sistema. Sa che gli analisti di sicurezza spesso lasciano i loro strumenti e questi strumenti lasciano artefatti. Cerca chiavi di registro associate a software di debug e monitoraggio come Wireshark, Process Hacker, OllyDbg e IDA Pro. La presenza di una qualsiasi di queste chiavi conferma che l'ambiente è ostile, innescando uno spegnimento immediato.

Se il sistema segnala meno di 4 GB, il soldato sospetta un sandbox con risorse limitate e interrompe l'esecuzione. Questo controllo è un modo affidabile per filtrare molti sistemi di analisi automatizzati.

Il soldato ora controlla l'ambiente circostante immediato. Utilizza una chiamata API di Windows semplice ma efficace — IsDebuggerPresent — per determinare se è in esecuzione sotto il controllo di un debugger. Un debugger è come un microscopio; se presente, significa che qualcuno sta osservando ogni singola istruzione del soldato. Il soldato non opererà sotto tale sorveglianza.

Il tempo stesso diventa un fattore. Il soldato controlla da quanto tempo il sistema è in esecuzione dall'ultimo avvio. I sandbox e gli ambienti di analisi sono spesso appena avviati, subito prima dell'esecuzione di un campione. Se il tempo di attività del sistema è inferiore a 15 minuti, il soldato lo segnala come un ambiente sospetto e di breve durata e si ritira.

Il soldato controlla quindi l'identità dell'utente. Confronta il nome utente corrente con una blacklist di account di analisi comuni: "sandbox", "virus", "malware", "analysis", "vmware" e "test". Questi nomi utente sono frequentemente utilizzati in ambienti di analisi isolati. Se il nome utente corrisponde a una qualsiasi voce dell'elenco, la missione viene immediatamente abortita.

Infine, il soldato esamina la scheda di rete della macchina. Controlla l'indirizzo MAC rispetto ai prefissi dei vendor noti utilizzati dal software di virtualizzazione. Un indirizzo MAC che inizia con 00:0C:29 appartiene a VMware, mentre 08:00:27 appartiene a VirtualBox. Scansiona anche i profili hardware alla ricerca di stringhe come "VMware" o "VirtualBox" nella descrizione del sistema. Se viene trovata una qualsiasi di queste, il soldato sa di trovarsi all'interno di una macchina virtuale e stacca la spina.

Una volta superati i controlli anti-analisi, Reddit.exe stabilisce una robusta persistenza nel registro per garantire la sopravvivenza ai riavvii del sistema:
L'impianto si maschera abilmente come un componente legittimo di Windows Update, rendendolo meno sospetto agli osservatori occasionali. Il meccanismo di persistenza include:
Ciò assicura che ogni volta che l'utente effettua l'accesso, Reddit.exe venga eseguito automaticamente con i suoi privilegi.

La capacità finale e più sofisticata è l'iniezione di processo in explorer.exe, che consente all'impianto di eseguire shellcode all'interno di un processo di sistema attendibile.
Reddit.exe implementa una tecnica classica ma efficace di iniezione di thread remoto: