SOC Prime Bias: Critique

02 Jun 2026 19:43 UTC

Détecter Nimbus Manticore et leurs chaînes d’infection par sideloading

Author Photo
SOC Prime Team linkedin icon Suivre
Détecter Nimbus Manticore et leurs chaînes d’infection par sideloading
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Nimbus Manticore, également suivi sous le nom UNC1549, a mené une campagne de phishing ciblée utilisant de faux portails de recrutement pour livrer une chaîne de logiciels malveillants .NET à plusieurs étapes. L’attaque a abusé des composants légitimes de Microsoft Visual Studio avec un détournement d’AppDomain pour charger une DLL personnalisée, qui a ensuite déployé une DLL de second stade et créé une persistance via une tâche planifiée. L’infrastructure de commande et de contrôle était hébergée sur des domaines basés sur Azure. La campagne ciblait principalement les organisations aérospatiales et de défense au Moyen-Orient et en Europe.

Enquête

Les chercheurs ont reconstruit toute la chaîne d’infection, en commençant par l’appât de LinkedIn et en continuant par l’archive ZIP, le fichier setup.exe.config altéré et le stager chiffré. Leur analyse a révélé l’utilisation abusive d’un ServiceHub.VSDetouredHost.exe renommé, le TOTPGuard.dll chargeur, un en-tête PE chiffré en AES, et une tâche planifiée déclenchée par la connexion nommée BackupCheck. Les indicateurs réseau ont également pointé vers plusieurs domaines hébergés sur Azure utilisés pour les communications de commande et de contrôle.

Atténuation

Les organisations devraient former leurs employés à détecter l’ingénierie sociale basée sur le recrutement, bloquer ou surveiller de près les domaines nouvellement enregistrés, et appliquer des contrôles AppLocker ou équivalents sur les répertoires accessibles en écriture. Les défenseurs devraient également surveiller les tâches planifiées nommées BackupCheck ou les exécutions utilisant l’argument doit . Il est également recommandé de surveiller les comportements de détournement d’AppDomain dans les applications .NET et le trafic suspect vers les domaines de commande et de contrôle hébergés sur Azure.

Réponse

Si une activité liée est détectée, isolez le point terminal affecté, collectez les binaires malveillants et la définition de la tâche planifiée, et bloquez les domaines Azure associés ainsi que le faux portail de recrutement. Les enquêteurs devraient effectuer un examen forensic du dossier AppData2FAGuard , supprimer la tâche de persistance, et chasser une activité similaire sur d’autres systèmes en utilisant les mêmes signatures YARA. La logique de détection devrait ensuite être mise à jour avec les nouveaux indicateurs identifiés.

Flux d’attaque

Exécution de Simulation

Condition préalable : Le contrôle de pré-vol de télémétrie et de ligne de base doit avoir été validé.

Justification : Cette section détaille l’exécution précise de la technique d’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer exactement la télémétrie attendue par la logique de détection.

  • Narration & Commandes de l’Attaque :
    Un attaquant a obtenu une copie du binaire légitime Visual Studio setup.exe , l’a renommé en setup.exe (en gardant le nom inchangé pour éviter la suspicion), et l’a placé dans un répertoire accessible en écriture. Ils créent une DLL malveillante nommée TOTPGuard.dll qui contient la charge utile. Pour détourner l’AppDomain, ils insèrent la chaîne AppDomainInjection dans l’argument de chemin PDB. L’attaquant lance ensuite l’exécutable avec la ligne de commande suivante :

    C:Tempsetup.exe /install /doit /dll "C:TempTOTPGuard.dll" /pdb "C:TempAppDomainInjection.pdb"

    Cette invocation exacte satisfait les trois conditions CommandLine|contains dans la règle Sigma, provoquant ainsi le déclenchement de la règle sur l’événement ProcessCreate.

  • Script de Test de Régression :

    # -------------------------------------------------
    # Script de régression pour déclencher la détection Nimbus Manticore
    # -------------------------------------------------
    $exePath   = "C:Tempsetup.exe"
    $dllPath   = "C:TempTOTPGuard.dll"
    $pdbPath   = "C:TempAppDomainInjection.pdb"
    
    # Assurez-vous que les fichiers existent (créez des placeholders fictifs pour le 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
    
    # Construire la ligne de commande malveillante
    $arguments = @(
        "/install"
        "/doit"
        "/dll `"$dllPath`""
        "/pdb `"$pdbPath`""
    ) -join " "
    
    Write-Host "Lancement du setup.exe malveillant avec arguments :"
    Write-Host $arguments
    
    # Exécuter le processus (s'arrêtera immédiatement car l'exe fictif ne fait rien)
    Start-Process -FilePath $exePath -ArgumentList $arguments -PassThru | Out-Null
  • Commandes de Nettoyage :

    # -------------------------------------------------
    # Nettoyage des artefacts créés pour le test de régression
    # -------------------------------------------------
    $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 "Removed $p"
        }
    }