🔍 Contexte

Publié le 20 juillet 2026 par ENKI WhiteHat (enki.co.kr), ce rapport d’analyse technique documente une campagne du groupe Kimsuky (lié à la Corée du Nord) ciblant des éditeurs de logiciels de groupware sud-coréens entre 2025 et début 2026.

🎯 Vecteurs d’accès initial

Deux vecteurs distincts ont été identifiés :

  • Vendor A (novembre 2025) : exploitation d’une vulnérabilité RCE sur un serveur de messagerie exposé sur Internet, ayant conduit à l’installation de Gomir.
  • Vendor B (décembre 2025) : spear-phishing ciblant un employé, avec installation d’un variant HttpTroy (MD5 : 633c3076c396f2200048d1b62da204d2, C2 : https://auth.samecloud.o-r.kr/index.php, persistance via tâche planifiée nommée AhnlabUpdate).

🦠 Malwares analysés

Gomir

  • Backdoor Linux écrit en Go, packé avec UPX, module path : local.github.com/Github-Lin/Main
  • Persistance via systemd (root) ou crontab (non-root), se copie sous /var/log/rsyslogd
  • Communication C2 via HTTPS POST (https://commit.hanbiro.o-r.kr/index.php), chiffrement XOR mod 255 + Base64 URL-safe
  • Génère un bot ID au format XX-[0-9a-f]{10} basé sur MD5 (username + hostname + MAC)
  • Supporte 17 codes de commande : shell, transfert de fichiers, proxy, hibernation, etc.

BirdTroy (nouveau)

  • RAT Linux en Go, module path : Bird/module
  • Partage les codes de commande et la logique de persistance avec Gomir et HttpTroy
  • Supporte HTTP/3 (QUIC) pour contourner les appliances réseau TCP
  • Communication via paquets custom encodés en Base64, avec checksum MD5
  • C2 par défaut : https://69.10.50.165:8443

DriveTroy (nouveau)

  • Backdoor Linux en Go, build path : C:/Users/jira/go/src/jira/payload/
  • Utilise Google Drive comme canal C2 (polling toutes les secondes du fichier E8C46207.cmd)
  • Configuration chiffrée en RC4 (clé : @st34GMEgfesy4R#r21f) + Base64 URL-safe, stockée en fin de fichier
  • Compte Google de l’acteur : vcenter.secmail@gmail.com (username : mo mo)
  • Persistance via systemd avec noms de service aléatoires parmi syslogd, logd, cachelog

🔄 Activité post-compromission

  • Mouvement latéral vers les clients des éditeurs compromis via des informations de configuration ou clés d’authentification volées sur les serveurs VOC (Voice of Customer)
  • Falsification de pages de connexion groupware pour exfiltrer les identifiants en clair via HTTPS POST vers le C2
  • Utilisation de DWAgent (outil légitime de contrôle à distance) pour accéder aux postes Windows compromis
  • Déploiement d’un outil proxy basé sur yamux pour pivoter vers des segments réseau isolés

🏷️ Attribution

  • Similitudes avec la campagne TrollSteler de Kimsuky (Gomir, GoBer/Endoor)
  • Certificat HTTPS XAMPP par défaut sur tous les C2, ASN 19318 et 26666 historiquement associés à Kimsuky
  • Username jira dans le build path de DriveTroy retrouvé dans des documents leurres et PDB paths de loadDll.dll d’une campagne HttpSpy antérieure
  • Clé d’authentification proxy dkanehahffk = frappe QWERTY de ‘아무도몰라’ (coréen pour ’nobody knows’)

📋 Type d’article

Rapport d’analyse technique publié par ENKI WhiteHat, visant à documenter la campagne, fournir des IoCs et des règles YARA pour la détection de Gomir, BirdTroy et DriveTroy.

🧠 TTPs et IOCs détectés

Acteurs de menace

TTP

  • T1566 — Phishing (Initial Access)
  • T1190 — Exploit Public-Facing Application (Initial Access)
  • T1199 — Trusted Relationship (Initial Access)
  • T1059.004 — Command and Scripting Interpreter: Unix Shell (Execution)
  • T1204.002 — User Execution: Malicious File (Execution)
  • T1543.002 — Create or Modify System Process: Systemd Service (Persistence)
  • T1053.003 — Scheduled Task/Job: Cron (Persistence)
  • T1027.002 — Obfuscated Files or Information: Software Packing (Defense Evasion)
  • T1027.013 — Obfuscated Files or Information: Encrypted/Encoded File (Defense Evasion)
  • T1036.004 — Masquerading: Masquerade Task or Service (Defense Evasion)
  • T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)
  • T1070.004 — Indicator Removal: File Deletion (Defense Evasion)
  • T1056.003 — Input Capture: Web Portal Capture (Credential Access)
  • T1082 — System Information Discovery (Discovery)
  • T1083 — File and Directory Discovery (Discovery)
  • T1016 — System Network Configuration Discovery (Discovery)
  • T1049 — System Network Connections Discovery (Discovery)
  • T1021 — Remote Services (Lateral Movement)
  • T1078 — Valid Accounts (Lateral Movement)
  • T1570 — Lateral Tool Transfer (Lateral Movement)
  • T1005 — Data from Local System (Collection)
  • T1113 — Screen Capture (Collection)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1132.001 — Data Encoding: Standard Encoding (Command and Control)
  • T1573.001 — Encrypted Channel: Symmetric Cryptography (Command and Control)
  • T1090 — Proxy (Command and Control)
  • T1102.002 — Web Service: Bidirectional Communication (Command and Control)
  • T1041 — Exfiltration Over C2 Channel (Exfiltration)
  • T1567.002 — Exfiltration to Cloud Storage (Exfiltration)

IOC

  • IPv4 : 69.10.50.165AbuseIPDB · VT · ThreatFox
  • IPv4 : 208.7.202.2AbuseIPDB · VT · ThreatFox
  • IPv4 : 1.245.15.172AbuseIPDB · VT · ThreatFox
  • Domaines : auth.samecloud.o-r.krVT · URLhaus · ThreatFox
  • Domaines : commit.hanbiro.o-r.krVT · URLhaus · ThreatFox
  • Domaines : oobe.webjine.o-r.krVT · URLhaus · ThreatFox
  • Domaines : global.webjine.o-r.krVT · URLhaus · ThreatFox
  • Domaines : www.ilskdeid.o-r.krVT · URLhaus · ThreatFox
  • Domaines : outh.shcloud.o-r.krVT · URLhaus · ThreatFox
  • URLs : https://auth.samecloud.o-r.kr/index.phpURLhaus
  • URLs : https://commit.hanbiro.o-r.kr/index.phpURLhaus
  • URLs : https://oobe.webjine.o-r.kr/index.phpURLhaus
  • URLs : https://global.webjine.o-r.kr/index.phpURLhaus
  • URLs : http://www.ilskdeid.o-r.kr:8000/URLhaus
  • URLs : https://outh.shcloud.o-r.kr:8443URLhaus
  • URLs : https://69.10.50.165:8443URLhaus
  • MD5 : e6c6fa32da47d9341b778bfa424abb4cVT · MalwareBazaar
  • MD5 : b1c72139f2cdd9419562369fc6ced4fcVT · MalwareBazaar
  • MD5 : 84e9b066bebd49036b7fc71b5f5f8d83VT · MalwareBazaar
  • MD5 : e911f8f7c49476806ada37f3ebb7a28aVT · MalwareBazaar
  • MD5 : aa61e76255a6e13313439655bc02bdf5VT · MalwareBazaar
  • MD5 : ca98a51cebdc802d255030b4baa44ca0VT · MalwareBazaar
  • MD5 : c2e37232556357944a04edf1dec3934bVT · MalwareBazaar
  • MD5 : a452a860f973c7a43ea804c17e9427d2VT · MalwareBazaar
  • MD5 : 633c3076c396f2200048d1b62da204d2VT · MalwareBazaar
  • MD5 : dff787bce68c7653495f153c0534cb96VT · MalwareBazaar
  • Emails : vcenter.secmail@gmail.com
  • Fichiers : config.json
  • Fichiers : cron.txt
  • Fichiers : E8C46207.ses
  • Fichiers : E8C46207.cmd
  • Fichiers : E8C46207.res
  • Fichiers : loadDll.dll
  • Chemins : /var/log/rsyslogd
  • Chemins : /etc/systemd/system/rsyslogd.service
  • Chemins : /etc/shadow
  • Chemins : C:/Users/jira/go/src/jira/payload/

Malware / Outils

  • Gomir (backdoor)
  • BirdTroy (rat)
  • DriveTroy (backdoor)
  • HttpTroy (rat)
  • GoBer (backdoor)
  • TrollSteler (stealer)
  • DWAgent (tool)
  • yamux proxy (tool)

🟢 Indice de vérification factuelle : 95/100 (haute)

  • ✅ enki.co.kr — source reconnue (Rösti community) (20pts)
  • ✅ 32380 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 37 IOCs dont des hashes (15pts)
  • ✅ 4/9 IOCs confirmés (AbuseIPDB, ThreatFox, URLhaus, VirusTotal) (15pts)
  • ✅ 29 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 :

  • 69.10.50.165 (ip) → VT (4/91 détections)
  • auth.samecloud.o-r.kr (domain) → VT (5/91 détections)
  • commit.hanbiro.o-r.kr (domain) → VT (5/91 détections)
  • oobe.webjine.o-r.kr (domain) → VT (5/91 détections)

🔗 Source originale : https://www.enki.co.kr/en/media-center/blog/analysis-of-kimsuky-s-attack-on-a-south-korean-groupware-vendor-using-a-new-gomir-family-variant