Opération Accès Dissimulé : Hameçonnage Ciblé à LNK Armé Visant le Secteur Judiciaire Argentin pour Déployer un RAT Caché
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Seqrite a identifié une opération de spear-phishing qui livre un raccourci LNK armé associé à un chargeur BAT malveillant. Une fois exécuté, le chargeur télécharge un cheval de Troie d’accès à distance basé sur Rust à partir d’un dépôt GitHub, où il effectue des vérifications anti-analyse et établit un canal de commande et de contrôle résilient. L’activité est évaluée pour cibler les organisations judiciaires argentines et les entités gouvernementales adjacentes. Pour augmenter les chances d’exécution, les attaquants incluent un contenu PDF leurre d’apparence légitime dans le paquet de livraison.
Enquête
Les analystes ont examiné l’archive ZIP contenant les fichiers LNK, BAT et PDF, puis ont reconstruit la séquence de commandes PowerShell utilisée pour déclencher le chargeur BAT. Ils ont profilé les fonctionnalités du RAT, y compris les vérifications anti-VM/anti-sandbox, la reconnaissance de l’hôte et l’empreinte système, la mise en place de la persistance et la gestion des tâches chiffrées sur le C2. Les comportements observés ont été mappés aux techniques MITRE ATT&CK pertinentes, avec des motifs notables tels que le déguisement, le contournement de la politique d’exécution PowerShell, et la logique C2 secondaire/de secours pour maintenir la connectivité si les canaux principaux échouent.
Atténuation
Appliquer une gouvernance stricte pour l’exécution de raccourcis (LNK), en particulier à partir de lieux destinés à l’écriture par les utilisateurs et des archives compressées, et appliquer des politiques d’exécution PowerShell renforcées avec une journalisation centralisée. Restreindre ou passer par proxy l’accès sortant aux répertoires GitHub non autorisés, et alerter sur les modèles suspects de téléchargement et d’exécution provenant des interpréteurs de scripts. Surveiller la persistance via les clés de registre Run ou les tâches planifiées portant des noms anormaux ou nouvellement observés. Lorsqu’il est possible, déployer des détections qui révèlent des comportements anti-analyse courants et s’assurer que les utilisateurs manipulant des PDF opèrent avec le moindre privilège pour réduire le rayon d’impact d’une exécution réussie.
Réponse
Déclenchez des alertes lorsque le LNK armé est créé ou exécuté, et lorsque la chaîne d’invocation PowerShell associée est observée. Chassez de manière proactive l’artéfact msedge_proxy.exe déposé et toute entrée de persistance liée dans le registre ou le planificateur de tâches. Isolez les points d’extrémité affectés, terminez l’arborescence de processus malveillante et supprimez toutes les tâches planifiées créées et les valeurs de clé Run. Effectuez une révision médico-légale complète pour valider l’étendue, confirmer si des données ont été mises en scène ou exfiltrées, et identifier tout hôte supplémentaire exposé au même modèle de livraison ZIP/LNK.
« graph TB %% Class definitions classDef action fill:#99ccff classDef artifact fill:#cccccc classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes artifact_email_zip[« <b>Artefact</b> – ZIP Email Malveillant<br/><b>Contenu</b> : Contient un fichier LNK et un PDF leurre. »] class artifact_email_zip artifact artifact_lnk[« <b>Artefact</b> – Fichier LNK (info/juicio-grunt-posting.pdf.lnk)<br/><b>Technique</b> : T1027.012 Détournement d’Icône »] class artifact_lnk artifact attack_initial_access[« <b>Action</b> – T1566.001 Hameçonnage Fichier Joint<br/><b>Description</b> : Livraison de ZIP malveillant par email. »] class attack_initial_access action attack_user_execution[« <b>Action</b> – T1204.002 Exécution de Fichier Malveillant<br/><b>Description</b> : L’utilisateur clique sur le LNK déguisé en PDF. »] class attack_user_execution action defense_evasion_icon[« <b>Action</b> – T1027.012 Détournement d’Icône LNK<br/><b>Description</b> : Le LNK utilise l’icône PDF pour se camoufler. »] class defense_evasion_icon action execution_powershell[« <b>Action</b> – T1059.001 PowerShell & T1059.003 Shell de Commande Windows<br/><b>Description</b> : Le LNK lance PowerShell avec bypass et fenêtre cachée, exécutant un chargeur BAT. »] class execution_powershell action defense_evasion_obfusc[« <b>Action</b> – T1027 Commandes Obscurcies/Encodées<br/><b>Description</b> : Commande PowerShell et messages C2 sont encodés en Base64u2011. »] class defense_evasion_obfusc action artifact_bat[« <b>Artefact</b> – health-check.bat<br/><b>But</b> : Télécharge et enregistre msedge_proxy.exe. »] class artifact_bat artifact malware_rust_rat[« <b>Malware</b> – msedge_proxy.exe (Rust RAT)<br/><b>Techniques</b> : T1497.001 Evasion Par Virtualisation/Sandbox, T1622 Evasion Par Débogueur, T1547.001 Clés de Registre Run, T1053.005 Tâche Planifiée »] class malware_rust_rat malware defense_evasion_sandbox[« <b>Action</b> – T1497.001 Evasion Par Virtualisation/Sandbox & T1622 Evasion Par Débogueur<br/><b>Description</b> : Vérifie le registre, les pilotes, les préfixes MAC, les dossiers sandbox, IsDebuggerPresent. »] class defense_evasion_sandbox action persistence_registry[« <b>Action</b> – T1547.001 Clés de Registre Run / Dossier de Démarrage<br/><b>Description</b> : Crée des entrées HKCU Run pour la persistance. »] class persistence_registry action persistence_task[« <b>Action</b> – T1053.005 Tâche Planifiée<br/><b>Description</b> : Enregistre une tâche planifiée via schtasks avec exécution différée. »] class persistence_task action discovery_system[« <b>Action</b> – T1082 Découverte d’Informations Système<br/><b>Description</b> : Collecte le nom de l’hôte, le nom d’utilisateur, la version de l’OS, le niveau de privilège. »] class discovery_system action discovery_process[« <b>Action</b> – T1057 Découverte de Processus<br/><b>Description</b> : Exécute tasklist pour détecter les outils d’analyse et les processus VM. »] class discovery_process action collection_local[« <b>Action</b> – T1005 Données du Système Local<br/><b>Description</b> : Collecte des fichiers pour exfiltration. »] class collection_local action c2_app_layer[« <b>Action</b> – T1071 Protocole de Couche Application & T1573 Canal Chiffré<br/><b>Description</b> : Communique avec le serveur C2 via HTTP(S) en utilisant des charges cryptées. »] class c2_app_layer action c2_encoding[« <b>Action</b> – T1132.001 Encodage de Données (Base64)<br/><b>Description</b> : Toutes les commandes C2 sont encodées en Base64u2011. »] class c2_encoding action exfiltration[« <b>Action</b> – T1041 Exfiltration sur Canal C2<br/><b>Description</b> : Envoie des données collectées via le même canal C2. »] class exfiltration action %% Flow connections artifact_email_zip u002du002d>|contient| artifact_lnk artifact_email_zip u002du002d>|livre| attack_initial_access attack_initial_access u002du002d>|mène à| attack_user_execution attack_user_execution u002du002d>|déclenche| defense_evasion_icon defense_evasion_icon u002du002d>|mène à| execution_powershell execution_powershell u002du002d>|exécute| artifact_bat artifact_bat u002du002d>|télécharge| malware_rust_rat malware_rust_rat u002du002d>|effectue| defense_evasion_sandbox defense_evasion_sandbox u002du002d>|établit| persistence_registry persistence_registry u002du002d>|ajoute| persistence_task persistence_task u002du002d>|permet| discovery_system discovery_system u002du002d>|alimente| discovery_process discovery_process u002du002d>|collecte| collection_local collection_local u002du002d>|envoie à| c2_app_layer c2_app_layer u002du002d>|utilise| c2_encoding c2_encoding u002du002d>|transporte| exfiltration %% Apply classes class artifact_email_zip,artifact_lnk,artifact_bat artifact class attack_initial_access,attack_user_execution,defense_evasion_icon,execution_powershell,defense_evasion_obfusc,defense_evasion_sandbox,persistence_registry,persistence_task,discovery_system,discovery_process,collection_local,c2_app_layer,c2_encoding,exfiltration action class malware_rust_rat malware «
Flux d’attaque
Détections
Exécution de Binaire Nommé Microsoft Edge Hors de Program Files (via cmdline)
Voir
Vérifications Anti-VM Suspectes via Artéfacts de Pilote de Virtualisation (via cmdline)
Voir
Binaire Windows téléchargé depuis Github (via proxy)
Voir
Possibilité d’énumération du système (via cmdline)
Voir
IOC (SourceIP) à détecter : Opération Accès Clandestin : Hameçonnage ciblé basé sur LNK arme à destination du secteur judiciaire argentin pour déployer un RAT clandestin
Voir
IOC (DestinationIP) à détecter : Opération Accès Clandestin : Hameçonnage ciblé basé sur LNK arme à destination du secteur judiciaire argentin pour déployer un RAT clandestin
Voir
IOC (HashMd5) à détecter : Opération Accès Clandestin : Hameçonnage ciblé basé sur LNK arme à destination du secteur judiciaire argentin pour déployer un RAT clandestin
Voir
Hameçonnage ciblé basé sur LNK armé avec exécution PowerShell [Windows Powershell]
Voir
Détection de l’exécution de msedge_proxy.exe [Création de Processus Windows]
Voir
Exécution de Simulation
Conditions préalables : La vérification pré-aléatoire de la télémétrie et de la référence doit avoir été réussie.
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 directement refléter les TTP identifiés et viser à générer la télémétrie exacte prévue par la logique de détection. Des exemples abstraits ou non liés entraîneront de mauvaises analyses.
-
Narration et Commandes de l’Attaque :
-
Compromission initiale : L’attaquant envoie un courriel de spear-phishing avec un
.lnkciblant un employé judiciaire. Le raccourci pointe vers une commande PowerShell exécutée avec-ExécutionPolicy Bypasset une fenêtre cachée pour éviter la suspicion. -
Flux d’Exécution : Lorsque l’utilisateur clique sur le raccourci, Windows exécute la commande suivante, qui lance
health-check.bat. Le fichier batch contient la véritable charge utile malveillante (par exemple, un téléchargeur PowerShell qui récupère un RAT).powershell.exe -ep bypass -w hidden -f health-check.bat -
Livraison de Charge Utile :
health-check.bateffectue un GET HTTP silencieux à un C2 malveillant, écrit la charge utile dans%TEMP%et l’exécute.
-
-
Script de Test de Régression : Le script ci-dessous reproduit la télémétrie exacte en créant
health-check.batavec contenu inoffensif (pour conserver la sécurité du test) et en invoquant ensuite la commande PowerShell.# ------------------------------------------------- # Script de Simulation – Exécution PowerShell LNK Armé # ------------------------------------------------- # 1. Créer un dummy health-check.bat (inoffensif pour le test) $batPath = "$env:TEMPhealth-check.bat" Set-Content -Path $batPath -Value '@echo off & echo Simulated payload executed' -Encoding ASCII # 2. Exécuter PowerShell avec les mêmes options et nom de script $psCommand = "powershell.exe -ep bypass -w hidden -f `"$batPath`"" Write-Host "Executing: $psCommand" Start-Process -FilePath "powershell.exe" -ArgumentList "-ep", "bypass", "-w", "hidden", "-f", $batPath -NoNewWindow # 3. Attendre quelques secondes pour s'assurer que les logs sont générés Start-Sleep -Seconds 5 # ------------------------------------------------- -
Commandes de Nettoyage : Supprimez le fichier batch de test et tous les processus restants.
# Nettoyer le dummy health-check.bat Remove-Item -Path "$env:TEMPhealth-check.bat" -ErrorAction SilentlyContinue # S'assurer qu'aucune instance PowerShell du test ne reste Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Stop-Process -Force