Faux « Courrier Sécurisé » Livre des Fichiers Malveillants Déguisés en Avis de Société de Carte de Crédit
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
AhnLab a découvert une campagne de phishing qui distribue des fichiers LNK malveillants déguisés en notifications de courrier sécurisé d’un important fournisseur de cartes de crédit coréen. Lorsqu’il est ouvert, le raccourci lance un HTA à travers mshta.exe et PowerShell, puis télécharge les charges utiles suivantes qui changent selon que Windows Defender est activé ou non. Si Defender est actif, les attaquants utilisent curl pour récupérer des fichiers chiffrés qui sont ensuite décompressés et exécutés. Si Defender est désactivé, la chaîne passe au chargement direct des DLL et à une activité de téléchargement supplémentaire. Le logiciel malveillant résultant prend en charge le vol d’informations, la surveillance des frappes clavier, la collecte du presse-papiers et des capacités de porte dérobée.
Enquête
L’enquête a montré que le fichier LNK initial lance mshta.exe, qui exécute un HTA contenant un script VB masqué. Ce HTA télécharge pipe.zip, qui comprend des scripts encodés en Base64 nommés 1.log, 1.ps1, et 2.log, qui sont tous décodés et exécutés en mémoire. Lorsque Defender est inactif, le logiciel malveillant télécharge plutôt user.txt and sys.log, déchiffre sys.log en sys.dll, et l’exécute via rundll32. L’analyse du user.txt décrypté a révélé trois URL Google Drive utilisées pour récupérer des fichiers malveillants supplémentaires, y compris notepad.log, net, et app, qui sont stockés sous %LOCALAPPDATA%.
Atténuation
Les défenses recommandées comprennent la vérification de la légitimité des pièces jointes aux courriels, la prévention de l’exécution automatique des fichiers LNK et la surveillance de l’utilisation suspecte de mshta.exe and curl. Les équipes de sécurité devraient également rechercher et supprimer des fichiers tels que 1.log, 1.ps1, 2.log, notepad.log, net, et app de %TEMP% and %LOCALAPPDATA%. De plus, les défenseurs devraient inspecter le système pour des changements inattendus dans le registre et s’assurer que Windows Defender ou une autre plateforme de protection d’endpoint reste activée et correctement configurée.
Réponse
Si cette activité est détectée, isolez immédiatement le système affecté, terminez tout mshta.exe, curl, ou rundll32 processus exécutant des fichiers inconnus, et préservez les artefacts malveillants pour une analyse judiciaire. Effectuez un scan complet du système, réinitialisez tout identifiant potentiellement exposé, et surveillez l’activité de backdoor suivant liée à notepad.log. Le contenu de la détection devrait également être mis à jour avec les indicateurs de compromission observés, et les contrôles de sécurité des e-mails devraient être renforcés pour bloquer des appâts de phishing similaires à l’avenir.
"graph TB %% Class definitions classDef action fill:#99ccff classDef operator fill:#ff9900 classDef builtin fill:#cccccc %% Nodes initial_user_exec["<b>Technique</b> – <b>T1204.002 User Execution: Malicious File</b><br/>Victim ouvre un .lnk déguisé en e-mail sécurisé d’une entreprise de carte de crédit."] class initial_user_exec action exec_mshta["<b>Technique</b> – <b>T1218.005 System Binary Proxy Execution: Mshta</b><br/>LNK lance PowerShell qui exécute mshta.exe pour récupérer un HTA distant contenant un script VB masqué."] class exec_mshta action exec_powershell["<b>Technique</b> – <b>T1059.001 Command and Scripting Interpreter: PowerShell</b><br/>PowerShell télécharge des charges utiles supplémentaires via curl."] class exec_powershell action masquerade["<b>Technique</b> – <b>T1036.008 Masquerading: Masquerade File Type</b><br/>Le fichier LNK se déguise en e-mail sécurisé."] class masquerade action obfuscate["<b>Technique</b> – <b>T1027 Obfuscated Files or Information</b><br/>Charges utiles chiffrées avec AES, encodées en Base64u2011; manipulation d’icône LNK."] class obfuscate action sandbox_evasion["<b>Technique</b> – <b>T1497.002 Virtualization/Sandbox Evasion: User Activity Based Checks</b><br/>Le logiciel malveillant vérifie l’état de Windows Defender."] class sandbox_evasion action cond_defender["<b>Operator</b> – Condition AND basée sur le statut de Defender"] class cond_defender operator defender_on["<b>Condition</b> – Defender activé"] class defender_on action defender_off["<b>Condition</b> – Defender désactivé"] class defender_off action download_pipe["<b>Action</b> – Télécharge pipe.zip, déchiffre et extrait 1.log, 1.ps1, 2.log."] class download_pipe action cred_access["<b>Technique</b> – <b>T1539 Browser Session Hijacking</b>, <b>T1185 Web Session Cookie</b>, <b>T1555.003 Credentials from Web Browsers</b><br/>Les scripts réalisent un accès aux identifiants."] class cred_access action collection["<b>Technique</b> – <b>T1056.001 Input Capture: Keylogging</b> et <b>T1115 Clipboard Data</b><br/>Collecte des frappes de clavier et des contenus du presse-papiers."] class collection action download_sys["<b>Action</b> – Télécharge user.txt et sys.log, déchiffre sys.dll."] class download_sys action load_rundll["<b>Technique</b> – <b>T1218.011 Signed Binary Proxy Execution: Rundll32</b><br/>Charge sys.dll via rundll32."] class load_rundll action persistence_appinit["<b>Technique</b> – <b>T1546.010 Event Triggered Execution: AppInit DLLs</b><br/>sys.dll utilisé pour la persistance/l’évasion."] class persistence_appinit action command_control["<b>Technique</b> – <b>T1219 Remote Access Tools</b><br/>notepad.log fournit une exécution de commande à distance, une exfiltration de fichiers et une collecte de données supplémentaires."] class command_control action clipboard_phish["<b>Technique</b> – <b>T1204.004 Malicious Copy and Paste</b><br/>Techniques de phishing du presse-papiers."] class clipboard_phish action %% Connections initial_user_exec –>|conduit à| exec_mshta exec_mshta –>|exécute| exec_powershell exec_powershell –>|permet| masquerade masquerade –>|permet| obfuscate obfuscate –>|permet| sandbox_evasion sandbox_evasion –>|déclenche| cond_defender cond_defender –>|si Defender activé| defender_on cond_defender –>|si Defender désactivé| defender_off defender_on –>|télécharge| download_pipe download_pipe –>|contient| cred_access cred_access –>|permet| collection defender_off –>|télécharge| download_sys download_sys –>|charge| load_rundll load_rundll –>|établit| persistence_appinit persistence_appinit –>|permet| command_control command_control –>|utilise| clipboard_phish "
Flux d’attaque
Détections
Exécution possible par l’utilisation d’un nom de script court (via cmdline)
Voir
Comportement de contournement suspect de MSHTA LOLBAS par détection des commandes associées (via process_creation)
Voir
Infiltration/Défiltration de données possible / C2 via des services/outils tiers (via proxy)
Voir
Infiltration/Défiltration de données possible / C2 via des services/outils tiers (via dns)
Voir
Exécution de Rundll32 avec sys.dll dans des environnements où Windows Defender est désactivé [Création de processus Windows]
Voir
Fichier LNK malveillant avec exécution de commande mshta [Windows Powershell]
Voir
Exécution de simulation
Condition préalable : Le contrôle de pré-vol de télémétrie et de référence doit avoir été passé.
-
Narratif et commandes de l’attaque :
Un adversaire a obtenu un point d’appui sur le point de terminaison et souhaite exécuter du code arbitraire tout en évitant le contrôle traditionnel des applications. Ils créent un fichier HTA malveillant contenant un script VB masqué qui, une fois rendu, écrit une porte dérobée PowerShell sur le disque. Pour lancer le HTA, ils utilisent un raccourci Windows (.lnk) qui appellepowershell.exeavec une commande qui invoquemshta.exe. L’exécution du raccourci déclenche la chaîne PowerShell →mshta, produisant exactement la télémétrie que la règle surveille. -
Script de test de régression :
# ------------------------------------------------- # 1. Créer un HTA malveillant avec un script VB masqué # ------------------------------------------------- $htaPath = "$env:TEVIL.hta" $vbscript = @" <script language='VBScript'> ' Charge utile de script VB masqué (exemple : écrire un fichier) Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.CreateTextFile("C:WindowsTemppwned.txt", True) f.WriteLine "Compromis par ATT&CK" f.Close </script> "@ Set-Content -Path $htaPath -Value $vbscript -Encoding ASCII # ------------------------------------------------- # 2. Créer un raccourci (.lnk) qui exécute PowerShell → mshta # ------------------------------------------------- $lnkPath = "$env:TEMPLancer_malveillant.lnk" $ws = New-Object -ComObject WScript.Shell $shortcut = $ws.CreateShortcut($lnkPath) # Commande PowerShell qui lance mshta avec le fichier HTA $psCommand = "mshta.exe `"$htaPath`"" $shortcut.TargetPath = "C:WindowsSystem32WindowsPowerShellv1.0powershell.exe" $shortcut.Arguments = "-NoProfile -WindowStyle Hidden -Command `"$psCommand`"" $shortcut.Save() # ------------------------------------------------- # 3. Exécuter le raccourci pour déclencher la détection # ------------------------------------------------- Write-Host "Exécution du raccourci malveillant..." & $lnkPath # ------------------------------------------------- # 4. Pause pour permettre la collecte des journaux # ------------------------------------------------- Start-Sleep -Seconds 10 -
Commandes de nettoyage :
# Supprimer les artefacts créés Remove-Item -Path "$env:TEMPevel.hta" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPLancer_malveillant.lnk" -Force -ErrorAction SilentlyContinue Remove-Item -Path "C:WindowsTemppwned.txt" -Force -ErrorAction SilentlyContinue Write-Host "Nettoyage terminé."