L'impertinenza non gli manca. Rilevato su GitHub un trojan mirato agli specialisti cybersecurity

Minacce attuali di virus | Notizie "calde" | Tutte le notizie

L'attenzione degli specialisti del laboratorio antivirus Doctor Web è stata attirata da determinati repository infetti su GitHub. In essi sono stati rilevati progetti dell'ambiente di sviluppo Microsoft Visual Studio con un codice malevolo contenuto nei file .suo, .csproj, nonché nei file con il codice sorgente in linguaggi Python e Go. Il payload finale è un'applicazione Microsoft.exe, che è in grado di aggirare abilmente i livelli di protezione per implementare un backdoor, un clipper e rubare i dati preziosi degli utenti. Il dettaglio più intrigante in questo caso è che i progetti malevoli sono orientati agli utenti interessati ai giochi crypto e … agli specialisti della sicurezza informatica. Al momento dell'indagine, risultavano infettati oltre 2.000 PC.

Fonte di infezione

I primi repository infetti sono comparsi due anni fa. Le versioni iniziali erano mirate agli utenti dei portafogli crypto: i malintenzionati pubblicavano repository con progetti Visual Studio sul tema dei giochi crypto e dei relativi bot e cheat.

Esempio di repository infetto per il gioco Telegram Catizen

I simili repository contenevano:

  • il file .csproj con l'istruzione PreBuildEvent che avvia il codice malevolo prima della compilazione del progetto,
  • i file .suo con un comando PowerShell incorporato nel codice.

I malintenzionati persino "si sono presi cura" degli utenti che non hanno le sufficienti competenze tecniche per eseguire l'avvio in autonomo, e hanno allegato le istruzioni su come installare Visual Studio e clonare il repository.

File .csproj con codice malevolo

Tuttavia, al momento gli autori di virus hanno cambiato il pubblico target dei trojan: si concentrano sugli specialisti della cybersecurity. Ora il malware è nascosto in progetti per l'automatizzazione di scansione, il test di sistemi di sicurezza e l'analisi di log. Al payload precedente sono stati aggiunti i file .go e .py, in cui il codice malevolo è nascosto dietro molteplici spazi. Nei repository infetti sono stati rilevati alcuni indirizzi dei malintenzionati:

  • muckanthropic[.]com
  • muckduck.duckdns[.]org
  • muckcoding[.]com
  • muckdeveloper[.]com
  • 130.12.182[.]172

Repository infetto contenente uno script per l'analisi, la pulizia e la formattazione dei risultati Fscan

File Python con codice malevolo incorporato

File Golang con codice malevolo incorporato

Schema di infezione

PowerShell.Packed.270

Dopo il download dei file infetti, sul computer dell'utente viene avviato lo script PowerShell. Esempi di possibili percorsi:

  • C:\Users\Public\Pictures\t.ps1,
  • C:\Users\Public\Pictures\L.ps1.

PowerShell.Packed.270

Lo script è in grado di interrogare sia i server dei malintenzionati che i servizi legittimi: YouTube, Telegram, Google Docs, GitCode, Pastebin.

Stringa cifrata sul servizio Pastebin

Il trojan riceve da lì una stringa che dopo la decifrazione diventa il link a un archivio con il nome Quixo.7z. Quindi l'archivio viene scaricato dai server dei malintenzionati o da GitHub e viene decompresso nella directory C:\ProgramData\Windows.Microsoft.Photos.

Microsoft.exe (Trojan.Loader.3261)

All'interno dell'archivio si trova un applicazione scritta con il framework Electron — è proprio essa che causa danno. Il trojan ha una struttura modale complessa, la versione attuale al momento della stesura dell'articolo è 1.4.5. Trojan.Loader.3261 possiede una vasta gamma di funzioni:

  • scarica il file Nexara.7z: contiene in forma cifrata il payload, le configurazioni e i file ausiliari;
  • raccoglie informazioni sul PC e le invia ai malintenzionati tramite un bot Telegram;
  • imposta se stesso nell'esecuzione automatica;
  • eleva i privilegi in due modi diversi;
  • disattiva Windows Defender, l'UAC, le notifiche, System Restore, VSS;
  • aggiunge eccezioni a Windows Defender;
  • inietta nei processi legittimi i file malevoli (BackDoor.AsyncRAT.115, Trojan.InjectNET.14);
  • estrae e avvia un payload aggiuntivo dall'archivio Nexara/Nvdia.7z (JS.Stealer.191);
  • rimuove gli antivirus McAfee, ESET e Malwarebytes;
  • modifica il file all'indirizzo C:\windows\system32\drivers\etc\hosts.

Gli autori di virus hanno chiamato i metodi di implementazione dell'iniezione dei file malevoli mode3, mode2, mode3non y handler. Analizziamoli uno per uno.

Mode3

Gli sviluppatori hanno programmato la mod per tentare di aggirare i sistemi di sicurezza. A questo scopo viene utilizzata una serie di tecniche.

  • PPID spoofing — sostituisce il PID del processo padre con l'identificatore di explorer.exe.
  • Smart App Control bypass — aggira la funzione di protezione Smart App Control che blocca i programmi inaffidabili o potenzialmente pericolosi prima dell'avvio. A questo scopo, il trojan cambia il valore del parametro VerifiedAndReputablePolicyState nel registro di Windows.
  • Ntdll.dll unhooking — neutralizza gli hook nella libreria di sistema ntdll, impostati, ad esempio, tramite il sistema EDR. Il trojan legge la ntdll.dll originale da disco e la confronta con quella esistente nel processo. Se rileva differenze che sembrano istruzioni di hook, le riscrive basandosi sui dati originali della libreria.
  • Halo's Gate — consente di chiamare direttamente le funzioni di sistema di Windows tramite syscall, il che rende difficile l'intercettazione delle chiamate da parte dell'EDR. Il trojan estrae i numeri SSN per le funzioni NT necessarie per implementare le injection.
  • ETW patch — disattiva la telemetria di Event Tracing for Windows applicando il patching a ntdll.dll!EtwEventWrite nella memoria del processo.
  • AMSI patch — modifica la funzione AmsiScanBuffer nella libreria amsi.dll, causando che gli script avviati nel processo non vengano passati all'antivirus per la scansione.

In caso di bypass delle protezioni riuscito, il trojan seleziona uno dei processi in cui eseguire l'iniezione di codice: RegAsm.exe, dwwin.exe, dwm.exe. I moduli malevoli sono contenuti nei file estratti dall'archivio Nexara.7z: boot_f, kernel_f, thread_f. Sono cifrati, le chiavi di cifratura si trovano in Nexara /manifest/config.json sotto i valori b_f, k_f, t_f.

Dopo aver eseguito l'injection nei processi, il trojan verifica le connessioni al server di comando e controllo tramite script PowerShell e utility Netstat. Se anche un solo payload non è stato implementato, lo script può inviare una segnalazione di errore tramite il bot Telegram.

Mode2

Il trojan implementa questa mod se non riesce ad avviare il payload. Mode2 funziona secondo l'algoritmo:

  • decifra e verifica i file thumbcache_{11..20}.dll dall'archivio Nexara.7z — in essi sono implementate le funzioni per l'injection;
  • aggiunge le eccezioni regasm.exe, dwm.exe a Windows Defender;
  • decifra le parti dello script PowerShell (PowerShell.Inject.245) dalla configurazione, quindi lo scrive nella cartella temp con un nome casuale e lo avvia. A sua volta, lo script decifra i file boot_f, kernel_f, thread_f e li inietta nel processo RegAsm.exe;
  • cerca il file cryptwizard, lo decifra e lo inietta nel processo dwwin.exe. Al momento della stesura della notizia, questo file non esiste, il flag del suo avvio è impostato su false;
  • verifica le connessioni al server C2 tramite script PowerShell e utility Netstat.

Mode3non

Ripete la funzionalità di Mode3 ad eccezione delle tecniche di bypass delle protezioni.

Handler

Ripete lo schema di avvio dei moduli malevoli, descritto per Mode2. Questa mod è meno flessibile e modulare rispetto a Mode2. Ad esempio, non utilizza configurazioni, tutti i dati sono incorporati direttamente nel codice. È possibile che si tratti di una versione obsoleta dell'avvio, che gli autori di virus hanno deciso di lasciare nel codice.

L'obiettivo principale di tutte le mod sopra elencate è avviare i tre payload malevoli: i due file BackDoor.AsyncRAT.115 e il Trojan.InjectNET.14.

BackDoor.AsyncRAT.115

Un trojan che fornisce ai malintenzionati l'accesso completo al computer infettato. In particolare, vengono iniettati nei processi due file malevoli assolutamente identici, l'unica differenza risiede nelle porte di connessione. Presumibilmente, questo è progettato per consentire a due operatori di controllare un PC contemporaneamente.

Trojan.InjectNET.14

Questo trojan inietta nel processo regasm.exe un file denominato Trojan.Clipper.688, che sostituisce gli indirizzi di portafogli crypto negli appunti. Durante la sostituzione, scatta uno screenshot e lo invia tramite il bot Telegram insieme alle informazioni: la versione del clipper, il nome della finestra attiva, il nome dell'utente e il suo indirizzo IP.

Dopo aver iniettato i payload, il trojan decomprime dall'archivio Nexara/Nvdia.7z un altro programma, scritto con il framework Electron — JS.Stealer.191.

JS.Stealer.191

Il trojan verifica la propria esecuzione in un ambiente virtuale isolato sandbox o su una macchina virtuale, raccoglie informazioni sul PC infetto e ruba i dati dell'utente:

  • i dati dai browser;
  • i file XML del programma FileZilla;
  • il file MobaXterm.ini del programma MobaXterm;
  • il file wcx_ftp.ini del programma TotalCommander;
  • le configurazioni VPN;
  • i file dei programmi di messaggistica;
  • gli account dei giochi;
  • gli account dei servizi di gioco;
  • i tocken Discord.

I dati rubati vengono compressi in archivio e inviati ai malintenzionati tramite il bot Telegram.

Se sulla macchina infettata sono installati gli antivirus ESET, McAfee, Malwarebytes, il trojan cerca di rimuoverli.

Codice di rimozione degli antivirus

Al file di sistema system32\drivers\etc\hosts il trojan aggiunge un record di blocco di una serie di domini dei fornitori antivirus. Inoltre, il malware elimina tutti i file e tutte le cartelle nella directory system32\drivers\etc\, tranne quelli consentiti hosts, networks, protocol, services, lmhosts.sam, il che ha lo scopo di impedire all'utente di avvalersi dei backup.

Funzionalità future

I malintenzionati modificano costantemente il codice e aggiungono nuove funzionalità al trojan. Ad esempio, i ricercatori hanno individuato funzioni non utilizzate, responsabili del download e dell'avvio di un ulteriore archivio — Lodge.7z. In esso si trova un progetto che è ancora in fase di sviluppo sul framework Electron. Il relativo file eseguibile è WUDFHost.exe. Sulla base del codice è possibile individuare alcune funzionalità future:

  • creare un servizio tramite l'utility sc.exe per guadagnare persistenza per Microsoft.exe;
  • controllare la presenza di Microsoft.exe su disco e scaricarlo di nuovo se è assente;
  • controllare l'esecuzione automatica;
  • installare i propri aggiornamenti.

Come si vede dalla descrizione delle sue funzionalità, il trojan rappresenta un serio pericolo persino per gli utenti esperti, inclusi gli specialisti della sicurezza informatica. Per evitare l'infezione del PC, vi consigliamo di aggiornare regolarmente i database antivirus e verificare tutti i file scaricati da internet. Gli antivirus Dr.Web Security Space e Dr.Web Desktop Security Suite riconoscono questo trojan ed eliminano prontamente i file infetti.

Maggiori informazioni su Trojan.Loader.3261

Maggiori informazioni su Trojan.Clipper.688

Maggiori informazioni su JS.Stealer.191

Indicatori di compromissione

0
Ultime notizie Tutte le notizie