Rançongiciel Prinz Eugen : Exploration Approfondie d’un Nouveau Chiffreur Basé sur Go
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Prinz Eugen est une nouvelle famille de rançongiciels basée sur Go qui utilise un chiffrement récursif et priorise les fichiers récemment modifiés pour augmenter la pression sur les victimes. Elle utilise ChaCha20-Poly1305 pour le chiffrement des fichiers et intègre des fonctionnalités anti-forensiques telles que l’effacement des clés de chiffrement de la mémoire et sa suppression après exécution. L’opération suit un modèle d’extorsion hors bande et ne laisse pas de note de rançon sur le système local.
Enquête
L’enquête suggère que l’intrusion a probablement commencé par des identifiants RDP compromis, suivis de la livraison du servertool.exe charge utile via Chrome. Les chercheurs ont également observé l’utilisation de l’outil RMM RemotePC pour les mouvements latéraux et la mise en scène basée sur PowerShell. L’attribution a été liée à l’acteur ROOTBOY en raison des identités d’extorsion partagées et des activités de violation précédemment observées.
Atténuation
Les organisations doivent renforcer l’accès RDP avec l’authentification multifactorielle et surveiller l’utilisation non autorisée des outils de gestion à distance. Une protection des points de terminaison robuste capable de bloquer les exécutables inconnus basés sur Go et de détecter les comportements suspects de PowerShell est également essentielle. Maintenir des sauvegardes régulières hors ligne et protéger les données fréquemment modifiées peuvent aider à réduire l’impact de cette approche d’encryption à haute pression.
Réponse
Si une activité de Prinz Eugen est détectée, isolez immédiatement les systèmes affectés pour arrêter tout mouvement supplémentaire via les outils RMM ou les sessions RDP. Effectuez des analyses forensiques de la mémoire avant de redémarrer l’hôte ou de permettre au malware de se supprimer, car cela peut offrir la meilleure chance de récupérer le matériel de chiffrement. La réponse à l’incident doit également se concentrer sur le suivi de la possible exfiltration de données et de tout canal de communication hors bande utilisé par l’attaquant.
"graph TB %% Class Definitions Section classDef initial_access fill:#f96,stroke:#333,stroke-width:2px classDef persistence fill:#f66,stroke:#333,stroke-width:2px classDef lateral_movement fill:#6cf,stroke:#333,stroke-width:2px classDef collection fill:#9f9,stroke:#333,stroke-width:2px classDef impact fill:#f33,stroke:#333,stroke-width:2px classDef evasion fill:#ccc,stroke:#333,stroke-width:2px classDef tool fill:#eee,stroke:#333,stroke-width:2px %% Initial Access and Execution access_rdp["<b>Action</b> – <b id='T1133'>External Remote Services</b><br/><b>Description</b>: Access via compromised RDP credentials."] class access_rdp initial_access exec_chrome["<b id='T1204.002'>User Execution: Malicious File</b><br/><b>Action</b>: Downloaded via Chrome browser<br/><b>File</b>: servertool.exe<br/><b>Path</b>: User Music folder"] class exec_chrome initial_access %% Persistence and Privilege Escalation persist_user["<b id='T1136.001'>Create Account: Local Account</b><br/><b>Action</b>: Created new local administrator<br/><b>Command</b>: net user admin germania /add"] class persist_user persistence priv_esc_rmm["<b id='T1543'>Persistence: Create or Modify System Process</b><br/><b>Tool</b>: RemotePC RMM<br/><b>Action</b>: Launching PowerShell stagers to deploy payloads"] class priv_esc_rmm persistence %% Lateral Movement lat_move_rmm["<b id='T1021'>Remote Services</b><br/><b>Action</b>: Hands-on-keyboard activity<br/><b>Tool</b>: RemotePC RMM<br/><b>Description</b>: Facilitating lateral movement within the environment"] class lat_move_rmm lateral_movement %% Collection and Exfiltration coll_data["<b id='T1213'>Data from Information Repositories</b><br/><b>Action</b>: Large scale data collection<br/><b>Details</b>: Approximately 1.2 TB collected from Standard Bank"] class coll_data collection exfil_leak["<b id='T1041'>Exfiltration Over C2 Channel</b><br/><b>Action</b>: Double extortion via dedicated leak portal<br/><b>Description</b>: Moving stolen data to external portal"] class exfil_leak collection %% Impact impact_enc["<b id='T1486'>Data Encrypted for Impact</b><br/><b>Malware</b>: servertool.exe<br/><b>Type</b>: Go-based encryptor<br/><b>Method</b>: Recursive ChaCha20-Poly1305 encryption<br/><b>Extension</b>: .prinzeugen"] class impact_enc impact %% Defense Evasion evasion_mem["<b id='T1027'>Obfuscated Files or Information</b><br/><b>Action</b>: Anti-forensic memory wiping<br/><b>Description</b>: Zeroes out hardcoded encryption key and runs garbage collector"] class evasion_mem evasion evasion_del["<b id='T1070.004'>Indicator Removal: File Deletion</b><br/><b>Action</b>: Self-deletion via cmd.exe<br/><b>Technique</b>: Uses a ping-delay trick to ensure file removal from disk"] class evasion_del evasion %% Connections access_rdp –>|leads_to| exec_chrome exec_chrome –>|triggers| persist_user persist_user –>|enables| priv_esc_rmm priv_esc_rmm –>|facilitates| lat_move_rmm lat_move_rmm –>|leads_to| coll_data coll_data –>|leads_to| exfil_leak coll_data –>|leads_to| impact_enc impact_enc –>|triggers| evasion_mem impact_enc –>|triggers| evasion_del "
Flux d’attaque
Détections
Possibilité d’exécution via des lignes de commande PowerShell cachées (via cmdline)
Voir
Téléchargement ou Upload via PowerShell (via cmdline)
Voir
Compte possible pour la persistance [Windows] (via cmdline)
Voir
Usage possible de PING pour exécution différée (via cmdline)
Voir
Appel de méthodes .NET suspectes depuis PowerShell (via PowerShell)
Voir
Téléchargement de fichiers suspects IP directe (via proxy)
Voir
Indicateur potentiel de lanceur PowerShell détecté via RemotePC [Windows PowerShell]
Voir
Détection de l’encryption du rançongiciel Prinz Eugen et comportement d’auto-suppression [Création de processus Windows]
Voir
Exécution de simulation
Prérequis : Le contrôle préalable de télémétrie et de référence doit avoir été validé.
Justification : 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 le narratif doivent refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Les exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narratif & Commandes de l’attaque : L’adversaire a déployé le rançongiciel Prinz Eugen. Pour maximiser l’impact et minimiser l’empreinte forensique, le malware est configuré pour supprimer les fichiers originaux une fois chiffrés en utilisant le
--deleteflag. Pour éviter que le fichier soit « en cours d’utilisation » lors de sa propre suppression, le malware invoque un shell de commande pour créer un bref délai viapingavant d’exécuter ladelcommande sur son propre binaire. Cette séquence spécifique deservertool --deletecombinée aveccmd.exe /C ping -n 2 > nul & del /F /Qest l’indicateur principal que nous simulons. -
Script de test de régression :
# Simulation du comportement de ligne de commande du rançongiciel Prinz Eugen # Ce script simule la chaîne de commande exacte attendue par la règle de détection. # 1. Créer un 'servertool.exe' factice pour représenter le malware $dummyExe = "$env:TEMPservertool.exe" New-Item -Path $dummyExe -ItemType File -Force # 2. Simuler l'exécution du rançongiciel avec les arguments de ligne de commande spécifiques # Remarque : Dans un environnement réel, il s'agirait de l'exécution effective du processus. # Nous utilisons Start-Process pour simuler la création d'un nouveau processus avec la ligne de commande cible. $ransomwareCommand = "servertool --delete" $selfDeleteCommand = "cmd.exe /C ping -n 2 > nul & del /F /Q `"$dummyExe`"" Write-Host "Simulation de la création du processus de rançongiciel..." # Déclenchement de la détection en simulant l'événement de création de processus # Nous invoquons cmd pour imiter le schéma de chaîne exact requis Start-Process "cmd.exe" -ArgumentList "/C `"$ransomwareCommand & $selfDeleteCommand`"" -
Commandes de nettoyage :
# Nettoyage des artefacts de simulation Remove-Item -Path "$env:TEMPservertool.exe" -ErrorAction SilentlyContinue