SOC Prime Bias: Critico

02 Jun 2026 19:43 UTC

Rilevare Nimbus Manticore e le loro catene di infezione sideloading

Author Photo
SOC Prime Team linkedin icon Segui
Rilevare Nimbus Manticore e le loro catene di infezione sideloading
shield icon

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

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 Studio setup.exe binario, lo ha rinominato mantenendo lo stesso nome per evitare sospetti, e lo ha posizionato in una directory scrivibile. Creano una DLL dannosa chiamata setup.exe che contiene il payload. Per dirottare l’AppDomain, incorporano la stringa TOTPGuard.dll in the PDB path argument. L’attaccante lancia quindi l’eseguibile con la seguente linea di comando: AppDomainInjection Questa invocazione esatta soddisfa tutte e tre le condizioni

    Questa invocazione esatta soddisfa tutte e tre le condizioni

    This exact invocation satisfies all three CommandLine|contains nel 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"
        }
    }