Rilevare Nimbus Manticore e le loro catene di infezione sideloading
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Nimbus Manticore, anche tracciato come UNC1549, ha condotto una campagna di phishing mirato che ha utilizzato portali di reclutamento falsi per distribuire una catena di malware .NET a più fasi. L’attacco ha sfruttato componenti legittimi di Microsoft Visual Studio insieme al dirottamento di AppDomain per caricare una DLL personalizzata, che poi ha distribuito una DLL di seconda fase e ha creato persistenza tramite un’attività pianificata. L’infrastruttura di comando e controllo era ospitata su domini basati su Azure. La campagna ha preso di mira principalmente organizzazioni del settore aerospaziale e della difesa in Medio Oriente e in Europa.
Indagine
I ricercatori hanno ricostruito l’intera catena di infezione, a partire dall’esca su LinkedIn e continuando attraverso l’archivio ZIP, il modificato setup.exe.config file e lo stager crittografato. La loro analisi ha rivelato l’abuso di un ServiceHub.VSDetouredHost.exerinominato, il TOTPGuard.dll loader, un’intestazione PE crittografata con AES e un’attività pianificata attivata all’accesso denominata BackupCheck. Gli indicatori di rete hanno anche indicato diversi domini ospitati su Azure utilizzati per le comunicazioni di comando e controllo.
Mitigazione
Le organizzazioni dovrebbero formare i dipendenti a riconoscere l’ingegneria sociale a tema reclutamento, bloccare o monitorare attentamente i domini di nuova registrazione e applicare controlli come AppLocker o equivalenti su directory scrivibili dagli utenti. I difensori dovrebbero anche cercare attività pianificate chiamate BackupCheck o esecuzioni usando l’argomento doit . Si raccomanda inoltre di monitorare il comportamento di dirottamento di AppDomain in applicazioni .NET e il traffico sospetto verso domini di comando e controllo ospitati su Azure.
Risposta
Se viene rilevata un’attività correlata, isolare l’endpoint interessato, raccogliere i binari dannosi e la definizione dell’attività pianificata, e bloccare i domini Azure associati così come il portale di reclutamento falso. Gli investigatori dovrebbero effettuare una revisione forense della cartella AppData2FAGuard , rimuovere l’attività di persistenza e cercare attività simili su altri sistemi utilizzando le stesse firme YARA. La logica di rilevamento dovrebbe quindi essere aggiornata con i nuovi indicatori identificati.
graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ccffcc classDef process fill:#ffdddd %% Nodes action_phishing[“<b>Azione</b> – <b>T1566.002 Link di spearphishing</b><br/>La vittima riceve messaggi LinkedIn che impersonano un recruiter e contengono un link malevolo a un falso portale di assunzione.”] class action_phishing action action_delivery[“<b>Azione</b> – Distribuzione tramite ZIP malevolo<br/>Il portale falso fornisce un file ZIP contenente un binario Microsoft camuffato e file nascosti.”] class action_delivery action file_malicious_zip[“<b>File</b> – <b>Nome</b>: payload.zip<br/><b>Contiene</b>: setup.exe e file nascosti aggiuntivi”] class file_malicious_zip file file_setup_exe[“<b>File</b> – <b>Nome</b>: setup.exe (rinominato ServiceHub.VSDetouredHost.exe)<br/><b>Firma</b>: Firma valida Microsoft”] class file_setup_exe file action_execution_proxy[“<b>Azione</b> – <b>T1218 Esecuzione tramite binari di sistema</b><br/>Utilizza un binario Microsoft firmato come proxy per eseguire codice malevolo.”] class action_execution_proxy action action_masquerade[“<b>Azione</b> – <b>T1036.001 Mascheramento della firma del codice</b><br/>Rinomina un binario legittimamente firmato per farlo apparire innocuo ed eludere il rilevamento.”] class action_masquerade action action_hijack_path[“<b>Azione</b> – <b>T1574.008 Hijacking dell’ordine di ricerca</b><br/>Il file setup.exe.config manipola l’ordine di ricerca per caricare componenti controllati dall’attaccante.”] class action_hijack_path action action_hijack_appdomain[“<b>Azione</b> – <b>T1574.014 Hijacking AppDomainManager</b><br/>Forza il runtime .NET a caricare TOTPGuard.dll tramite la configurazione AppDomainManager.”] class action_hijack_appdomain action file_totpguard[“<b>File</b> – <b>Nome</b>: TOTPGuard.dll<br/><b>Scopo</b>: Fornisce una funzione 2FA personalizzata usata dal payload malevolo.”] class file_totpguard file action_ide_extension[“<b>Azione</b> – <b>T1176.002 Abuso di estensioni IDE</b><br/>Sfrutta il componente host di Visual Studio per eseguire il payload.”] class action_ide_extension action action_persistence[“<b>Azione</b> – <b>T1037.001 Attività pianificata</b><br/>Crea un task schedulato “BackupCheck” eseguito al login dell’utente.”] class action_persistence action action_env_keying[“<b>Azione</b> – <b>T1480.001 Environmental Keying</b><br/>Distribuisce un payload AES cifrato con esecuzione condizionale basata su header MZ cifrato.”] class action_env_keying action action_virtual_instance[“<b>Azione</b> – <b>T1564.006 Esecuzione di istanza virtuale</b><br/>Integra una GUI 2FA legittima per mascherare l’attività malevola.”] class action_virtual_instance action %% Connections action_phishing –>|deliver| action_delivery action_delivery –>|fornisce| file_malicious_zip file_malicious_zip –>|contiene| file_setup_exe file_setup_exe –>|usato per| action_execution_proxy action_execution_proxy –>|combinato con| action_masquerade action_masquerade –>|abilita| action_hijack_path action_hijack_path –>|porta a| action_hijack_appdomain action_hijack_appdomain –>|carica| file_totpguard file_totpguard –>|abilita| action_ide_extension action_ide_extension –>|supporta| action_persistence action_persistence –>|stabilisce| action_env_keying action_env_keying –>|facilita| action_virtual_instance
Flusso di Attacco
Rilevamenti
Domini Azurewebsites Potenzialmente Contattati Da Processi Non Comuni (tramite dns_query)
Visualizza
Attività Pianificata Sospetta (tramite audit)
Visualizza
IOC (HashSha256) per rilevare: Rilevamento di Nimbus Manticore e delle loro catene di infezione tramite sideloading
Visualizza
IOC (IP Origine) per rilevare: Rilevamento di Nimbus Manticore e delle loro catene di infezione tramite sideloading
Visualizza
IOC (IP Destinazione) per rilevare: Rilevamento di Nimbus Manticore e delle loro catene di infezione tramite sideloading
Visualizza
Rilevamento della Comunicazione C2 di Nimbus Manticore tramite Domini Azure [Connessione di Rete di Windows]
Visualizza
Rilevamento della Catena di Infezione Sideloading di Nimbus Manticore [Creazione Processo Windows]
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo Pre-volo Telemetria e Baseline deve essere passato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) pensata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa e Comandi di Attacco:
Un attaccante ha ottenuto una copia del legittimo Visual Studiosetup.exebinario, lo ha rinominato mantenendo lo stesso nome per evitare sospetti, e lo ha posizionato in una directory scrivibile. Creano una DLL dannosa chiamatasetup.exeche contiene il payload. Per dirottare l’AppDomain, incorporano la stringaTOTPGuard.dllin the PDB path argument. L’attaccante lancia quindi l’eseguibile con la seguente linea di comando:AppDomainInjectionQuesta invocazione esatta soddisfa tutte e tre le condizioniQuesta invocazione esatta soddisfa tutte e tre le condizioniThis exact invocation satisfies all three
CommandLine|containsnel Sigma rule, causando l’attivazione della regola sull’evento ProcessCreate. -
Script di Test di Regressione:
# ------------------------------------------------- # Script di regressione per attivare il rilevamento di Nimbus Manticore # ------------------------------------------------- $exePath = "C:Tempsetup.exe" $dllPath = "C:TempTOTPGuard.dll" $pdbPath = "C:TempAppDomainInjection.pdb" # Assicurati che i file esistano (crea segnaposti fittizi per il test) New-Item -ItemType File -Path $exePath -Force | Out-Null New-Item -ItemType File -Path $dllPath -Force | Out-Null New-Item -ItemType File -Path $pdbPath -Force | Out-Null # Costruisci la linea di comando dannosa $arguments = @( "/install" "/doit" "/dll `"$dllPath`"" "/pdb `"$pdbPath`"" ) -join " " Write-Host "Avviando setup.exe dannoso con argomenti:" Write-Host $arguments # Esegui il processo (terminerà immediatamente poiché l'exe fittizio non fa nulla) Start-Process -FilePath $exePath -ArgumentList $arguments -PassThru | Out-Null -
Comandi di Pulizia:
# ------------------------------------------------- # Pulisci gli artefatti creati per il test di regressione # ------------------------------------------------- $paths = @( "C:Tempsetup.exe", "C:TempTOTPGuard.dll", "C:TempAppDomainInjection.pdb" ) foreach ($p in $paths) { if (Test-Path $p) { Remove-Item -Path $p -Force Write-Host "Rimosso $p" } }