🔍 Contexte
Analyse publiée par NextronSystems sur GitHub le 29 octobre 2026, basée sur des détections THOR sur VirusTotal entre début septembre et début octobre 2026. L’auteur (MalGamy12) a identifié un cluster de neuf fichiers LNK malveillants attribués à APT-C-55 (Kimsuky).
🎯 Ciblage multilingue
Les leurres sont rédigés en coréen, japonais, vietnamien, allemand et anglais, thématisés autour de contrats, assurances, factures et documents financiers. Un leurre spécifique cible une plateforme d’échange de cryptomonnaies (MEXC), indiquant une expansion au-delà des cibles gouvernementales habituelles.
⚙️ Chaîne d’infection (variante batch)
- Stage 1 – LNK bootstrapper : exécution d’une commande encodée en base64, copie et renommage de
certutil.exesous%TEMP%\ce<random>.exepour décoder le payload (abus de LOLBin). - Stage 2 – Script BAT : vérification anti-debug, création du répertoire de staging
C:\Users\Public\Videos\Samples\, écriture de fichiers de configuration pointant vers un dépôt GitHub attaquant (token d’authentification inclus), livraison d’un document leurre, persistance via tâche planifiéeMicrosoftUpdate_<random>toutes les 9 minutes utilisant nircmd renommé enntoskrnl.exe. - Stage 3 – C2 et vol de données : collecte de
MachineGuid, listes de comptes (net user), processus (tasklist), infos système (systeminfo), configuration réseau (ipconfig), arborescences de répertoires et documents récents. Exfiltration via HTTP POST avec une copie renommée decurl.exe.
🔀 Variante PowerShell
Certains LNK invoquent directement PowerShell avec un payload double-encodé en hexadécimal. Le script écrit un fichier .ps1 persistant dans C:\Users\Public\, crée une tâche planifiée, télécharge un PDF leurre et contacte le C2 mf3goke.getenjoyment[.]net.
🐍 Attaque supply chain : pybroker trojanisé
Les attaquants ont cloné la bibliothèque Python légitime pybroker sur GitHub en injectant du code malveillant dans tests/conftest.py. L’exécution de pytest charge un fichier .env XOR-chiffré (clé 0x5A), qui télécharge key.enc, le déchiffre via AES-GCM, et exécute C:\Users\Public\1.bat. Les URLs C2 imitent des sites communautaires Python.
📋 Règles YARA déclencheuses
SUSP_Recon_Suspicious_Dirs_Sep21_1SUSP_LNK_ScriptContent_Apr21_1SUSP_Base64_Obfuscated_Batch_Script_Apr25SUSP_SCRIPT_Lazarus_Cmdline_May21_1(technique certutil partagée avec Lazarus)SUSP_Encoded_User_Public_Nov21
📄 Type d’article
Publication de recherche CTI avec extraction d’IOCs, analyse technique de la chaîne d’infection et attribution à Kimsuky. But principal : documenter la campagne et fournir des indicateurs exploitables.
🧠 TTPs et IOCs détectés
Acteurs de menace
- Kimsuky (state-sponsored) — orkl.eu · Malpedia · MITRE ATT&CK
TTP
- T1566.002 — Phishing: Spearphishing Link (Initial Access)
- T1204.002 — User Execution: Malicious File (Execution)
- T1059.001 — Command and Scripting Interpreter: PowerShell (Execution)
- T1059.003 — Command and Scripting Interpreter: Windows Command Shell (Execution)
- T1059.006 — Command and Scripting Interpreter: Python (Execution)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)
- T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
- T1218 — System Binary Proxy Execution (Defense Evasion)
- T1053.005 — Scheduled Task/Job: Scheduled Task (Persistence)
- T1105 — Ingress Tool Transfer (Command and Control)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1082 — System Information Discovery (Discovery)
- T1057 — Process Discovery (Discovery)
- T1087.001 — Account Discovery: Local Account (Discovery)
- T1195.001 — Supply Chain Compromise: Compromise Software Dependencies and Development Tools (Initial Access)
- T1119 — Automated Collection (Collection)
- T1497.001 — Virtualization/Sandbox Evasion: System Checks (Defense Evasion)
IOC
- Domaines :
mf3goke.getenjoyment.net— VT · URLhaus · ThreatFox - Domaines :
pythons.mywebcommunity.org— VT · URLhaus · ThreatFox - Domaines :
pythoncomunity.wasmer.app— VT · URLhaus · ThreatFox - URLs :
http://pythons.mywebcommunity.org— URLhaus - URLs :
https://pythoncomunity.wasmer.app/wp-content/uploads/— URLhaus - SHA256 :
0fc425836eb854914525302b59cb8300b709c3e51ad776455a7eb5e29356d4f3— VT · MalwareBazaar - SHA256 :
01f1a70bfc0016d3fceefb3b2133977a6a9649ad1c54280fcbbe1a8f9aad2149— VT · MalwareBazaar - SHA256 :
c470bef115787abcc9a1d1df9213a072ab2b6daea5eaaa18a4378bca4d37f7df— VT · MalwareBazaar - SHA256 :
8fb56f3d63e5dbc55695fe6e043707a933116ace43db4d3d67f42341a6540eef— VT · MalwareBazaar - SHA256 :
4555744f4a328cddca885938f8fee83133be93c59be33a3e0b2906b536ee667c— VT · MalwareBazaar - SHA256 :
85d3c1500e80b4782f3c1488adacfd14668ad99f3b4f01da3b0c4f31480745b4— VT · MalwareBazaar - SHA256 :
2705441758889528e6cf333182799b2e51b458546e7706858e8789eaedb52562— VT · MalwareBazaar - SHA256 :
50de7ddaf89d5aec643a449f7bb20e3b3ab5321bba1444a5c746ca4187170777— VT · MalwareBazaar - SHA256 :
52fd47ca5f9a4bd2f5a87b4e9de502a93b1eaecdb3e4bf4a3fede0c34e01ab26— VT · MalwareBazaar - Fichiers :
자산운용보고서_DS020_20867878.lnk - Fichiers :
契約書_DS4092452_9745202742.lnk - Fichiers :
Hợp đồng mua bán_2745011321.lnk - Fichiers :
Kaufvertrag_CS520423048_828429484.pdf.lnk - Fichiers :
Kaufvertrag_MS560482056_928030948.lnk - Fichiers :
Contract Agreement DS9092452_294635744.lnk - Fichiers :
Insurance Documents FS805238_3084618338.lnk - Fichiers :
Invoice_FS804378_3049618338_1736728927.pdf.lnk - Fichiers :
Mexc_F20260730181137614nwZc2p0AR4Se02_212614603.png.lnk - Fichiers :
init.dat - Fichiers :
mark.ini - Fichiers :
gertg4wf.ps1 - Fichiers :
1.bat - Fichiers :
key.enc - Fichiers :
token.dat - Chemins :
C:\Users\Public\Videos\Samples\ - Chemins :
C:\Users\Public\Videos\Samples\ntoskrnl.exe - Chemins :
C:\Users\Public\Videos\Samples\mark.ini - Chemins :
%APPDATA%\Microsoft\gertg4wf.ps1 - Chemins :
C:\Users\Public\1.bat - Chemins :
tests/conftest.py
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 29 octobre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- nircmd (tool)
- certutil (abusé comme LOLBin) (tool)
- curl (copie renommée) (tool)
- pybroker trojanisé (loader)
🟢 Indice de vérification factuelle : 75/100 (haute)
- ⬜ github.com — source non référencée (0pts)
- ✅ 11668 chars — texte complet (fulltext extrait) (15pts)
- ✅ 35 IOCs dont des hashes (15pts)
- ✅ 6/8 IOCs confirmés (MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (15pts)
- ✅ 19 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ✅ acteur(s) identifié(s) : Kimsuky (5pts)
- ⬜ pas de CVE à vérifier (0pts)
IOCs confirmés externellement :
0fc425836eb85491…(sha256) → VT (29/76 détections)01f1a70bfc0016d3…(sha256) → VT (29/76 détections)c470bef115787abc…(sha256) → VT (30/76 détections)mf3goke.getenjoyment.net(domain) → VT (16/92 détections)pythons.mywebcommunity.org(domain) → VT (10/92 détections)
🔗 Source originale : https://github.com/NextronSystems/iocs/tree/master/reports/Hunting%20Kimsuky:%20Multi-Language%20LNK%20Lures%20Delivering%20Persistent%20Backdoors