VENOMOUS#HELPER : Campagne de phishing Dual-RMM utilise JWrapper pour déployer SimpleHelp et ScreenConnect pour un accès à distance invisible
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une campagne de phishing utilise un site web mexicain compromis pour distribuer un exécutable empaqueté avec JWrapper qui installe les outils de gestion à distance légitimes SimpleHelp et ScreenConnect. Bien que les deux binaires soient signés et généralement dignes de confiance, les attaquants en abusent pour obtenir un accès distant persistant et silencieux via des services Windows et des modifications du registre en mode sans échec. Depuis avril 2025, l’activité a touché plus de 80 organisations aux États-Unis, en Europe occidentale et en Amérique latine. Bien que l’attribution reste floue, la campagne semble être motivée financièrement.
Enquête
Securonix a mené une analyse dynamique de la charge utile livrée et découvert une configuration d’accès à distance à double canal basée sur SimpleHelp 5.0.1 et ConnectWise ScreenConnect. Le malware s’installe comme un service Windows, crée une entrée de registre SafeBoot pour survivre aux redémarrages en mode sans échec, et utilise des boucles de sondage répétées pour identifier les produits de sécurité installés et déterminer si un utilisateur est présent sur la machine. Les enquêteurs ont également découvert qu’un wmic.exe.bak binaire a été utilisé dans la chaîne d’exécution pour aider à contourner les détections basées sur le nom.
Atténuation
Les équipes de sécurité doivent surveiller la création du service Windows Remote Access Service , l’entrée de registre SafeBoot associée, et l’apparition de wmic.exe.bak à l’intérieur du répertoire System32wbem . Les défenses réseau doivent bloquer le trafic UDP sortant vers 84.200.205.233:5555 et le trafic TCP vers sslzeromail.run.place:8041. Les défenseurs doivent également supprimer le service malveillant et les fichiers associés tout en recherchant les utilitaires renommés et autres artefacts liés à l’intrusion.
Réponse
Si cette activité est détectée, isolez immédiatement le système affecté, arrêtez et supprimez le service malveillant, supprimez l’entrée de registre SafeBoot, et retirez le répertoire d’installation JWrapper de l’hôte. Les enquêteurs doivent ensuite effectuer une analyse forensic pour déterminer si un mouvement latéral a eu lieu et mettre à jour la logique de détection pour capturer les chaînes de processus spécifiques et les modèles de commande vus dans la campagne. Les parties prenantes concernées doivent être informées, et une chasse aux menaces plus large doit être envisagée pour identifier d’autres victimes.
graph TB %% Class Definitions classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#a2d5ab classDef process fill:#ffcc99 classDef service fill:#ffb3b3 classDef c2 fill:#d9b3ff %% Nodes action_impersonation[« <b>Action</b> – <b>T1656 Impersonation</b><br/>Email spoofing of US SSA to lure victims »] class action_impersonation action action_phishing[« <b>Action</b> – <b>T1566.001 Phishing</b><br/>Spearphishing attachment with link to compromised Mexican domains »] class action_phishing action action_infra[« <b>Action</b> – <b>T1584.001 Compromise Infrastructure</b><br/>Compromise legitimate .com.mx sites to host landing page and payload »] class action_infra action action_execution[« <b>Action</b> – Execution<br/>Victim runs JWrapper‑packed statement5648.exe which extracts config, drops private JRE and launches Java payload »] class action_execution action action_uac[« <b>Action</b> – <b>T1548.002 Bypass UAC</b><br/>UAC prompt shows trusted SimpleHelp publisher allowing install »] class action_uac action action_service[« <b>Action</b> – <b>T1543.003 Create or Modify System Process</b><br/>Registers Windows service « Remote Access Service » »] class action_service action action_safemode[« <b>Action</b> – <b>T1562.009 Safe Mode Boot</b><br/>Adds registry key under SafeBoot Network for service persistence »] class action_safemode action malware_simplehelp[« <b>Malware</b> – SimpleHelp 5.0.1 (cracked)<br/>Remote administration tool signed by SimpleHelp »] class malware_simplehelp malware malware_screenconnect[« <b>Malware</b> – ConnectWise ScreenConnect (cracked)<br/>Remote administration tool signed by ConnectWise »] class malware_screenconnect malware c2_simplehelp[« <b>C2</b> – UDP 84.200.205.233:5555<br/>Used by SimpleHelp for beaconing »] class c2_simplehelp c2 c2_screenconnect[« <b>C2</b> – TCP sslzeromail.run.place:8041<br/>Used by ScreenConnect relay »] class c2_screenconnect c2 tool_sessionwin[« <b>Tool</b> – session_win.exe<br/>Steals winlogon.exe token to spawn processes in user session »] class tool_sessionwin tool tool_elevwin[« <b>Tool</b> – elev_win.exe<br/>Creates processes with CreateProcessAsUserW using stolen token »] class tool_elevwin tool process_netsh[« <b>Process</b> – netsh wlan show interfaces<br/>Runs every ~15 s to discover network configuration »] class process_netsh process process_wmic[« <b>Process</b> – wmic.exe.bak query SecurityCenter2<br/>Runs every ~67 s to discover AV/Firewall products »] class process_wmic process action_masquerade[« <b>Action</b> – <b>T1036.003 Masquerading</b><br/>Renames wmic.exe to wmic.exe.bak to hide utility »] class action_masquerade action action_dynamic[« <b>Action</b> – <b>T1568 Dynamic Resolution</b><br/>Collects interface info to adapt C2 endpoints »] class action_dynamic action %% Flow Connections action_impersonation –>|leads_to| action_phishing action_phishing –>|uses| action_infra action_infra –>|hosts| action_execution action_execution –>|triggers| action_uac action_uac –>|enables| action_service action_service –>|adds| action_safemode action_safemode –>|supports| malware_simplehelp malware_simplehelp –>|communicates with| c2_simplehelp malware_screenconnect –>|communicates with| c2_screenconnect malware_simplehelp –>|installs| tool_sessionwin malware_screenconnect –>|installs| tool_elevwin tool_sessionwin –>|performs| action_masquerade tool_elevwin –>|executes| process_netsh process_netsh –>|feeds| action_dynamic process_wmic –>|feeds| action_dynamic action_dynamic –>|informs| c2_screenconnect action_dynamic –>|informs| c2_simplehelp tool_sessionwin –>|performs| action_masquerade process_wmic –>|performs| action_masquerade %% Class Assignments class action_impersonation,action_phishing,action_infra,action_execution,action_uac,action_service,action_safemode,action_masquerade,action_dynamic action class malware_simplehelp,malware_screenconnect malware class c2_simplehelp,c2_screenconnect c2 class tool_sessionwin,tool_elevwin tool class process_netsh,process_wmic process
Flux d’attaque
Détections
Agent SimpleHelp exécuté depuis le répertoire d’accès à distance JWrapper (via process_creation)
Voir
Énumération possible de logiciels antivirus ou pare-feu (via process_creation)
Voir
Logiciel alternatif d’accès / gestion à distance (via process_creation)
Voir
Essai possible d’utilisation de RMM Simple Help (via file_event)
Voir
IOC (HashSha512) pour détecter : VENOMOUS#HELPER : Campagne de phishing Dual-RMM utilisant JWrapper-Packaged SimpleHelp et ScreenConnect pour un accès à distance silencieux
Voir
IOC (HashSha256) pour détecter : VENOMOUS#HELPER : Campagne de phishing Dual-RMM utilisant JWrapper-Packaged SimpleHelp et ScreenConnect pour un accès à distance silencieux
Voir
IOC (HashMd5) pour détecter : VENOMOUS#HELPER : Campagne de phishing Dual-RMM utilisant JWrapper-Packaged SimpleHelp et ScreenConnect pour un accès à distance silencieux
Voir
IOC (SourceIP) pour détecter : VENOMOUS#HELPER : Campagne de phishing Dual-RMM utilisant JWrapper-Packaged SimpleHelp et ScreenConnect pour un accès à distance silencieux
Voir
IOC (DestinationIP) pour détecter : VENOMOUS#HELPER : Campagne de phishing Dual-RMM utilisant JWrapper-Packaged SimpleHelp et ScreenConnect pour un accès à distance silencieux
Voir
Surveillance de l’activité RAT potentielle par les commandes renommées wmic.exe et Interface WiFi [Windows Sysmon]
Voir
Détection de la campagne de phishing Dual-RMM utilisant SimpleHelp et ScreenConnect [Création de processus Windows]
Voir
Exécution de la simulation
Prérequis : Le contrôle préalable de la télémétrie et de la ligne de base doit avoir été passé.
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 récit DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.
-
Narrative & Commandes de l’attaque :
L’attaquant reçoit une pièce jointe de phishing (T1566.001) qui dépose une charge utile malveillante appelée
statement5648.exedans le répertoire%TEMP%. Pour échapper à la détection, le fichier est signé avec un certificat valide (code obscurci – T1027) et est exécuté en tant que service Windows (T1543.003) pour persister. Parce que le nom de l’exécutable correspond à l’un des suffixes de la règle, Sysmon enregistre un EventID 1 avecImagese terminant parstatement5648.exe, ce qui devrait déclencher la règle de détection. L’attaquant désactive également l’antivirus (T1562.009) et tente un contournement UAC (T1548.002) pour obtenir des privilèges élevés. -
Script de test de régression :
#------------------------------------------------------------ # Simulation de campagne de phishing Dual‑RMM – déclenche la règle Sigma #------------------------------------------------------------ $payloadPath = "$env:TEMPstatement5648.exe" $serviceName = "DualRMMHelper" # 1. Déposer un exécutable factice (copie de notepad.exe) et renommer Write-Host "[*] Dépôt de la charge utile masquée vers $payloadPath" Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $payloadPath -Force # 2. Créer un service Windows qui exécute la charge utile (persistance) Write-Host "[*] Installation du service $serviceName" sc.exe create $serviceName binPath= "`"$payloadPath`"" start= auto > $null # 3. Démarrez le service – cela génère un événement ProcessCreate de Sysmon Write-Host "[*] Démarrage du service $serviceName" sc.exe start $serviceName > $null # 4. OPTIONNEL : Simulez le contournement UAC / l'usurpation de jeton (placeholders) # Lors d'une véritable exécution en équipe rouge, cela impliquerait Invoke-BypassUAC ou similaire. Write-Host "[*] Simulation terminée – vérifier SIEM pour détection." #------------------------------------------------------------ -
Commandes de nettoyage :
#------------------------------------------------------------ # Nettoyage pour la simulation Dual‑RMM #------------------------------------------------------------ $serviceName = "DualRMMHelper" $payloadPath = "$env:TEMPstatement5648.exe" # Arrêter et supprimer le service sc.exe stop $serviceName > $null sc.exe delete $serviceName > $null # Supprimer l'exécutable fictif Remove-Item -Path $payloadPath -Force Write-Host "[*] Nettoyage terminé." #------------------------------------------------------------