Una recente campagna di spear phishing ha preso di mira uno studio legale utilizzando una catena di infezione a più stadi che combina un loader chiamato HollowFrame e una backdoor denominata Matryoshka. L’attacco inizia con una email mirata che contiene un link a un archivio cifrato.
All’interno si trova un file LNK che si presenta come “Case Documents”, progettato per indurre la vittima ad aprirlo. Una volta eseguito, il collegamento avvia comandi che sfruttano PowerShell per scaricare i componenti successivi da un server remoto, dando il via a un processo di compromissione progressivo.
HollowFrame: loader modulare e persistenza
HollowFrame è un framework modulare scritto in Go che funge da loader e meccanismo di persistenza. Una caratteristica chiave è l’uso del DLL side loading, tecnica in cui un eseguibile legittimo viene affiancato da una libreria malevola con lo stesso nome atteso. In questo caso viene sfruttato un binario Python legittimo python.exe insieme a una DLL fraudolenta python311.dll, così da avviare codice non autorizzato riducendo la visibilità dell’attività malevola.
Il loader include anche controlli anti-analisi per evitare ambienti sandbox: valuta parametri come uptime del sistema, memoria installata, numero di file nel profilo utente e persino il movimento del cursore. Per mantenere l’accesso nel tempo, la persistenza viene ottenuta tramite una operazione pianificata.
Matryoshka: backdoor in Rust e canali C2
All’interno del loader è presente un contenitore cifrato che viene decrittato e usato per attivare un secondo passaggio di side loading, finalizzato al rilascio di Matryoshka. Questa backdoor è sviluppata in Rust e risulta disponibile in due varianti:
- Variante HTTP (C2 tradizionale): comunica via HTTP con un server di comando e controllo, consentendo l’apertura di una shell remota e la distribuzione di ulteriori strumenti.
- Variante GitHub (GitHub C2): utilizza GitHub come canale C2, interrogando un repository privato per ricevere comandi specifici per host, inviare risultati ed effettuare trasferimenti di file.
Modello GitHub C2: struttura per host e gestione multi-vittima
Nel modello basato su GitHub, ogni sistema compromesso dispone di una cartella dedicata con nome computer e username, contenente file come beacon.json, cmd.json e result.json, oltre a una struttura upload per la consegna di payload. Questa architettura permette agli attaccanti di gestire più vittime senza mantenere un server C2 tradizionale e frammenta la logica dell’infezione rendendo più complessa la rilevazione.