Alcuni ricercatori di sicurezza hanno scoperto un nuovo framework di attacco di origine cinese utilizzato in the wild. Il framework è costituito da un back-end di comando e controllo (C2) soprannominato Alchimist e da un Trojan di accesso remoto personalizzabile (RAT) per macchine Windows e Linux. Il framework può anche essere utilizzato per generare shellcode di attacco basato su PowerShell o distribuire impianti dannosi per altre piattaforme come macOS. “La nostra scoperta di Alchimist è un’altra indicazione di come gli attori delle minacce stiano rapidamente adottando framework C2 pronti all’uso per svolgere le loro operazioni”, hanno scritto i ricercatori di Cisco Talos in un nuovo report.

Alchimist è un backend C2 autonomo

Lo strumento Alchimist è scritto in GoLang e viene distribuito sui server come un singolo file standalone che contiene sia gli impianti, sia l’interfaccia utente che gli aggressori utilizzano per interagire con i sistemi delle loro vittime. Il fatto che il back-end sia autonomo in un singolo eseguibile multipiattaforma semplifica la distribuzione da parte degli aggressori.

I componenti di Alchimist, inclusa l’interfaccia utente basata sul Web, vengono memorizzati nel file eseguibile come risorse GoLang e decompressi e scritti in una directory chiamata /tmp/Res/ al momento dell’inizializzazione. Anche un certificato HTTPS autofirmato e utilizzato dal server C2 per crittografare la comunicazione con gli impianti delle vittime viene scritto nella directory /tmp/. La cartella Res contiene il codice dell’interfaccia web e altre directory, tra cui una chiamata Payload in cui sono memorizzati i binari Windows e Linux per un RAT chiamato Insekt.

L’interfaccia web di Alchimist utilizza il cinese semplificato e offre diverse opzioni ai suoi utenti, tra cui la possibilità di personalizzare gli impianti. Gli aggressori possono scegliere i protocolli di comunicazione supportati dall’impianto (TLS, SNI e WSS/WS), il nome host o l’IP per il server C2, la piattaforma tra Windows e Linux e se l’impianto verrà eseguito come daemon (servizio) sull’endpoint di destinazione.

Quando si utilizza questa funzione, lo strumento C2 carica i file binari Insekt predefiniti in memoria e corregge automaticamente il loro codice, salvando i file binari risultanti in una directory temporanea e servendoli all’utente malintenzionato per il download. Si tratta di una tecnica molto più semplice rispetto alla compilazione di nuovi file binari dal codice sorgente e non richiede alcuna dipendenza di compilazione che potrebbe non esistere sul server.

alchimist

Mentre ci sono diverse somiglianze tra Alchimist e un diverso framework C2 a file singolo chiamato Manjusaka (entrambi sono scritti in GoLang e offrono funzionalità simili), incluso il raggruppamento degli impianti dannosi, ci sono anche differenze di implementazione. Mentre Manjusaka utilizza il framework web Gin per implementare l’interfaccia utente e utilizza packr per la gestione delle risorse, Alchimist ha implementato tutte le sue funzionalità utilizzando funzionalità e codice GoLang di base.

“Abbiamo osservato che Alchimist, oltre al normale HTTP/S, supporta anche protocolli come SNI, WSS / WS”, hanno detto i ricercatori di Talos. “Manjusaka, invece, menziona SNI,WSS/WS nella sua documentazione, ma supporta solo HTTP.” Un’altra caratteristica interessante di Alchimist è che oltre a personalizzare Insekt RAT, consente agli aggressori di generare PowerShell e frammenti di codice wget per scaricare Insekt RAT dal server C2. Gli aggressori possono integrare questi frammenti di codice in altri meccanismi di infezione come documenti dannosi o file LNK dannosi.

Su un server C2 attivo che hanno analizzato, i ricercatori hanno anche trovato un eseguibile dannoso scritto in GoLang per macOS. Questo eseguibile agisce come un dropper di malware e tenta di elevare i privilegi sfruttando la vulnerabilità PwnKit nell’utility pkexec di polkit (CVE-2021-4034). La cosa interessante è che polkit non è un’utility predefinita su macOS e si trova più comunemente su Linux. In effetti, i ricercatori hanno anche trovato la variante Linux dello stesso exploit sul server. Il dropper per macOS, in caso di successo, aprirebbe una shell inversa sulla macchina infetta, dando agli aggressori il controllo remoto su di essa.

Insekt è un RAT completo

Anche l’impianto Insekt associato ad Alchimist è scritto in GoLang, rendendolo multipiattaforma. Fornisce agli aggressori una varietà di funzionalità, tra cui la raccolta di informazioni identificabili sul sistema della vittima, l’acquisizione di schermate, l’esecuzione di shellcode, la scansione di IP e numeri di porta sulla rete, la manipolazione della chiave SSH e le connessioni proxy.

Il RAT implementa anche shell interattive basate su PowerShell, bash e cmd.exe, attraverso le quali gli aggressori possono eseguire set predefiniti di comandi sui sistemi. Un modulo chiamato “Command Line Interface (CLI)” consente inoltre agli aggressori di eseguire varie azioni come la navigazione tra le directory, l’enumerazione dei file all’interno, il download di file da posizioni remote, la decompressione dei file e la scrittura di file su disco.

“La funzionalità delle interfacce web di Manjusaka e Alchimist che mostrano capacità di amministrazione remota, eseguite attraverso i RAT, è indicativa della mole di funzionalità racchiuse in questi framework C2”, concludono i ricercatori. “Un attore di minacce che ottiene un accesso privilegiato alla shell sulla macchina di una vittima ha di fatto un un coltellino svizzero tra le mani che consente l’esecuzione di comandi arbitrari o shellcode nell’ambiente della vittima, con conseguenti effetti significativi sull’organizzazione colpita”.