
Réf. (CERT-UA#19092)
Résumé exécutif :
- Campagne ciblée : Entre octobre et décembre 2025, plusieurs cyberattaques ciblées ont visé des membres des Forces de défense de l’Ukraine en se faisant passer pour des organisations caritatives. Ces attaques ont conduit à l’implantation d’un maliciel (malware) nommé PLUGGYAPE sur les systèmes victimes.
- Attribution : Sur la base de caractéristiques observées, ces opérations malveillantes sont attribuées avec un niveau de confiance moyen à un groupe affilié à la Russie, connu sous le nom de Void Blizzard (alias Laundry Bear), suivi par l’identifiant UAC-0190.
- Mode opératoire : Les attaquants ont utilisé des comptes légitimes et des numéros de téléphone ukrainiens pour contacter leurs cibles via des messageries instantanées (messages texte, audio et vidéo en ukrainien). Ils incitent la cible à visiter des sites web frauduleux imitant des fondations caritatives, où sont proposés de faux « documents » à télécharger – en réalité des fichiers exécutables dissimulés dans des archives protégées par mot de passe. Dans certains cas, le fichier malveillant est envoyé directement par messagerie, sous la forme d’un fichier à double extension trompeuse (par ex.
.docx.pif). - Charge utile (payload) : Le fichier exécutable malveillant identifié (souvent avec extension
.pif) est un programme Windows empaqueté via PyInstaller, qui déploie la porte dérobée PLUGGYAPE. Une variante précédente observée en octobre 2025 utilisait un fichier.pdf.exeagissant en tant que loader pour télécharger un interpréteur Python et une version initiale du backdoor depuis Pastebin. À partir de décembre 2025, une version améliorée PLUGGYAPE.V2 a été déployée : obfusquée, utilisant le protocole MQTT pour les communications C2 et intégrant des mécanismes d’anti-analyse (détection d’environnement virtuel, etc.). - Recommandations : Ces attaques montrent une évolution du paysage de menace – les messageries courantes sur mobiles et PC deviennent un canal privilégié de diffusion de malware. Il est vivement conseillé de se méfier des fichiers et liens reçus, même s’ils proviennent de contacts apparemment fiables. En cas de doute sur une interaction ou un fichier, les utilisateurs doivent alerter sans délai les équipes de sécurité informatique de leur organisation ou les autorités compétentes (CERT nationaux/régionaux). Les personnels de la défense ukrainienne sont appelés à signaler immédiatement tout incident suspect à l’équipe de réponse aux incidents cyber des Forces armées (csoc@post.mil.gov.ua).
Contexte général
Entre octobre et décembre 2025, l’équipe gouvernementale d’intervention d’urgence informatique d’Ukraine (CERT-UA), en collaboration avec l’équipe de réponse aux incidents cybernétiques des Forces armées ukrainiennes (unité militaire A0334), a enquêté sur une série de cyberattaques ciblées visant des représentants des Forces de défense de l’Ukraine. Ces attaques ont été menées sous le prétexte de projets humanitaires, les pirates se faisant passer pour des membres de fondations caritatives afin de gagner la confiance de leurs cibles. L’objectif final était d’infecter les ordinateurs ciblés avec un programme malveillant identifié comme la porte dérobée PLUGGYAPE. D’après les caractéristiques de ces attaques, il a été établi avec un niveau de confiance moyen que l’activité provient de l’acteur malveillant suivi sous l’identifiant UAC-0190, également connu sous les noms de code Void Blizzard ou Laundry Bear. Ce groupe est soupçonné d’opérer au profit de la Russie et s’est spécialisé dans l’espionnage des secteurs de la défense ukrainiens.
Mode opératoire – usurpation de fonds caritatifs : Pour approcher leurs cibles, les attaquants utilisent des comptes compromis ou malveillants mais crédibles (par exemple des comptes de messagerie instantanée créés avec des numéros de téléphone d’opérateurs ukrainiens). La communication est établie en ukrainien et peut inclure des échanges texte, audio ou même vidéo, les hackers démontrant une connaissance approfondie du profil de la cible, de son organisation et de ses activités. Une fois la confiance établie, la cible est incitée à visiter un site web imitant le portail d’une organisation caritative légitime. Par exemple, des domaines tels que hart-hulp-ua[.]com ou solidarity-help[.]org ont été utilisés car ils évoquent l’aide humanitaire. Ces sites web frauduleux (voir Indicators of Compromise plus bas pour la liste des domaines) présentent des pages de donation ou de documentation factices (voir Figure 2 et Figure 3, non incluses) et proposent en téléchargement des prétendus documents (listes, formulaires, etc.) liés à l’aide humanitaire ou logistique.
Lorsque la cible télécharge et ouvre ces prétendus documents, elle exécute en réalité un fichier malveillant. Dans la plupart des cas observés, il s’agit d’un fichier avec une double extension trompeuse, par exemple .docx.pif, ce qui le fait ressembler à un document Microsoft Word tout en étant un exécutable Windows. Souvent, ce fichier est fourni dans une archive RAR/ZIP protégée par mot de passe, dont le mot de passe est communiqué par l’attaquant pour inciter à l’ouvrir. Dans certains cas, le fichier malveillant a même été envoyé directement via la messagerie à la cible, sans passer par le site factice. Le fait d’utiliser une double extension et une archive chiffrée vise à déjouer la détection automatique par les antivirus et à tromper la vigilance de la victime.
Une campagne antérieure, menée fin octobre 2025, illustre la tactique des attaquants : un fichier nommé Drone positions in warehouse 1 (Suceava).pdf.exe a été envoyé, prétendument pour partager des informations logistiques. Ce fichier possédait l’icône d’un document PDF mais était en réalité un exécutable (.exe) masqué en PDF. Son exécution a déclenché un programme chargeur (loader) qui a téléchargé depuis Internet un interpréteur Python et du code Python hébergé sur Pastebin. Ce code s’est avéré être une version initiale du malware PLUGGYAPE. Cette méthode en deux étapes (loader puis payload Python) démontre la volonté de contourner les défenses en téléchargeant la charge utile à la volée.
Le malware PLUGGYAPE
PLUGGYAPE est un maliciel de type backdoor (porte dérobée) développé en Python. Dans les versions plus récentes observées fin 2025, il est compilé en exécutable via PyInstaller, ce qui le rend directement exécutable sur Windows sans installation préalable de Python. Une fois actif sur un système victime, PLUGGYAPE établit une connexion au serveur de commande et contrôle (C2) de l’attaquant en utilisant soit des WebSockets, soit le protocole de messagerie léger MQTT. Les échanges de données entre le malware et son C2 sont encodés en JSON (JavaScript Object Notation).
Pour identifier de manière unique chaque machine compromise, PLUGGYAPE collecte certaines informations système de base (telles que l’adresse MAC de la carte réseau, les numéros de série du BIOS et du disque dur, ainsi que l’identifiant du processeur). Il combine ces valeurs et calcule un haché SHA-256, dont il utilise les 16 premiers octets comme identifiant unique de l’hôte infecté. Cette technique permet à l’opérateur du malware de distinguer les différentes machines compromises et d’éviter les doublons. Une fois la connexion établie, le malware attend des commandes à exécuter de la part du serveur C2. Il est capable de recevoir et d’exécuter du code arbitraire envoyé par les attaquants, leur offrant ainsi un contrôle à distance quasi-total sur la machine infectée (vol de données, installation d’autres malwares, etc.). Pour persister sur le système (c’est-à-dire survivre aux redémarrages), PLUGGYAPE s’inscrit dans la base de registre Windows, en créant une entrée malveillante dans la clé HKCU\Software\Microsoft\Windows\CurrentVersion\Run (sous le nom trompeur RealtekDevice), de sorte à être lancé automatiquement à chaque ouverture de session Windows.
Évolution (PLUGGYAPE.V2) : En décembre 2025, les analystes ont identifié une nouvelle version du backdoor, désignée PLUGGYAPE.V2. Celle-ci présente une obfuscation du code plus poussée pour compliquer son analyse par les chercheurs ou les antivirus. Surtout, PLUGGYAPE.V2 adopte le protocole MQTT (traditionnellement utilisé pour la communication IoT) pour ses communications réseau, en lieu et place (ou en complément) des WebSockets. Ce choix peut rendre le trafic malveillant moins visible au milieu de flux légitimes. En outre, PLUGGYAPE.V2 embarque des vérifications avancées afin de détecter les environnements d’analyse (bac à sable, machine virtuelle, débogueur) et de ne pas s’exécuter dans ces conditions, contrecarrant ainsi les tentatives d’ingénierie inverse. Enfin, dans certains échantillons de PLUGGYAPE, l’adresse IP du serveur C2 n’est pas codée en dur dans le binaire. À la place, le malware récupère dynamiquement cette information en téléchargeant un contenu hébergé sur des services en ligne tels que Pastebin, Ghostbin ou Rentry – souvent sous forme chiffrée (par exemple encodée en Base64) pour passer inaperçue. Cette technique permet aux opérateurs de modifier l’adresse C2 à distance (en mettant à jour le contenu en ligne) sans avoir à redistribuer un nouveau malware à chaque changement.





Indicateurs de compromission (IoC)
Les indicateurs suivants ont été observés lors de ces campagnes malveillantes UAC-0190. Ils peuvent aider à détecter l’activité de PLUGGYAPE et des attaques associées :
Fichiers malveillants (hash et nom) :
- Drone positions in warehouse 1 (Suceava).pdf.exe (horodatage : 2025-10-25 13:09:32) — MD5 :
977e52e28a4501e3b2420e28c1844b73; SHA-256 :6d54a09e689f20ecd051bd06f7fdd4229d5f955261fb113e2a4a7fb791bb0a62 - Warehouse positions 1 (Chisinau).pdf.exe (2025-10-25 13:11:06) — MD5 :
5fdd642407e3a8af60f0933bce7be9d2; SHA-256 :18523cc2ff47556993312c90462935543ed3266d5243fa7482abcd60938fedca - Warehouse positions 1 (Lodz).pdf.exe (2025-10-25 13:11:47) — MD5 :
a52c356eb6a86934c2a3be068e26e86f; SHA-256 :b82b81edbabef420b3b66d276098e51867e9f1d8594d75c7d7290a981b9dfb5c - rdvd.exe (2025-10-25 13:01:54) — MD5 :
050f5ea17d5965305c9fcf8b7fc317b9; SHA-256 :a9a8aea2d8a673d108a5b1125f98156febffcbfdd2ea36ba08749a97bf3d3b60 - Drone_positions_in_warehouse_1.pdf — MD5 :
2253b80ee67c4b581395b33b353cbd70; SHA-256 :e6ef0bc6479736a3bafa6ca766e258669fa79043c5e80fc3af7f4555df055488 - 2.pdf — MD5 :
c04e059e65bfa0ef7d2da12a12bd2c4a; SHA-256 :df6ef502a43fb60007976edd1204ef1752a286200a2491d00ece2049c1732f9b - 3.pdf — MD5 :
50449a7c760e5b2be004b0ffcdb3e63b; SHA-256 :e50d8c23b4b61cd8a9b820ec528e423a5331929c5b5cc71664e0d83156d0520d - qAKhdTLq.py (script PLUGGYAPE) — MD5 :
5fd6bcba46ffb31be56d6fe4866ad322; SHA-256 :620c9cb0c0d6ad404d8580ea2f6b02d8508f3b3bd091115fc5f3fbcbd17e01c0 - Docs.rar — MD5 :
7245b238c0d5f3b9dd080d83d99e3237; SHA-256 :a70d4f0e58f77c7df518ec6e6a43a8cc77d4dd6855f33989c12cdc98f6af1b92 - Zverninya.docx.exe (2025-11-18 16:19:03) — MD5 :
71d2564b34e36e815997d63054e60b3b; SHA-256 :5fa48a4f9d576ea2968db929d943a1b51dd62ca2d37796e0b47e944672487eff - main.py (script PLUGGYAPE) — MD5 :
df30dae950ebf3f457a0a490407416c0; SHA-256 :5fc660b031889f9d929769aa4c8aea3e24fae1e29d389762ab13543bbf95edf5 - Inventory_list.docx.pif (2025-12-08 08:24:56) — MD5 :
780ee02937c6700d8d6225d3e41ae5ac; SHA-256 :8ada352ee5935dcb597dad87c244ce29c4b3498df2fff0546bfaad1fe0be5fbd - Inventory_list.docx.pif.py (script PLUGGYAPE) — MD5 :
fac2977cd4390673e822845608a97d6f; SHA-256 :1246d4b00dd3c69d4414be5ab5f1b776281283986a5b18a64d2870de3f2dcafe - Inventory List.dоcх.pif (2025-12-12 06:30:12) — MD5 :
636b7f1d11398c223c5d8b81121b2d32; SHA-256 :8e0ccf969ab55e862f6406ed4ce3891145e66b627017c56c6f26c8e4526ea19c - Inventory_list.docx (1).pif (2025-12-11 07:42:15) — MD5 :
fed7a6ef43abd0badd8c6611c6d75859; SHA-256 :66651d70bf8211fd43b1e8d8efce05ddb6be80d9987ceb1d4027b6b35857c97c - xy359.py (script PLUGGYAPE.V2) — MD5 :
69bd8298df2419753b383bc61c84db9b; SHA-256 :d614b1e495de93e84f61252a3cf1b57ae01bcac0fea7ddd9443b200532cdcd1f - Inventory_list.docx — MD5 :
9f4b06c298e066b01c3ea430391e476a; SHA-256 :e55e5ed949ee6016ca6d2fce2c920c29857b6f71e9be89a4fcf90596287ee4d8 - list.rar — MD5 :
a8751aa10f9d926cb86fcdd435b11ef2; SHA-256 :d84868e33bdade768d93bd7ab9782eb8c22722ce045ff51bcb09d8b0aa349dc4 - blank_zvernenya.docx.pif (2025-12-20 09:20:12) — MD5 :
0954e4d62a49de8014d8c98b8da6bd32; SHA-256 :34214cebc0d03d3c2d5bdab7e5461f034dbc28850fd19938cee7beca27dbc265 - Inventory_list_new.docx.pif (2025-12-20 09:18:53) — MD5 :
dc4bb17f6cf57d81a0b90af957c0beaf; SHA-256 :d8f02c3a71485648ef184f59f8cae40758416e84ac23dfc6320c037e198794ec - o.d.f.a.d.g.j.k.l.f.s.f.d.d.a.py (script PLUGGYAPE.V2) — MD5 :
da6e6f16835da25dcede9b40ccbc906a; SHA-256 :04cc6719fc55f3ce9ca658bc0cbf975d485077b815cbd0817aeb451bc6554385 - Inventory_list_new.docx.pif (2026-01-08 08:09:58) — MD5 :
8fcd5b53c4223f7520cc5c3f02990f9e; SHA-256 :9b3c154931a2066c40fa76bd614305f9aad9f0be86474eb1f538dc154b590618 - code.py (script PLUGGYAPE.V2) — MD5 :
5f11ce2be5adbb9b071cdb15694b3b2f; SHA-256 :bea2cdb2562f3c46a83c5ed03e9b899281588fc95b94b2ee5223f8b60a66f451
Adresses réseau (infrastructure C2 et diffusion) :
- Serveurs de commande et contrôle (C2) – adresses (TCP) :
193[.]23.216.39:8765193[.]23.216.39:1883108[.]165.164.155:1883176[.]9.23.216:1883
- Serveurs C2 (adresses IP) :
193[.]23.216.39108[.]165.164.155176[.]9.23.216
- Autres adresses IP associées (infrastructure des attaquants) :
144[.]31.25.203144[.]31.106.23144[.]31.25.222
- Emplacement des configurations C2 (hébergeurs tiers) :
hXXps://pastebin[.]com/raw/5qLz9wAKhXXps://pastebin[.]com/raw/qAKhdTLqhXXps://ghostbin.axel[.]org/paste/xy359/rawhXXps://rentry.co/MicrosoftAdvertisingEndpoint
- URLs de diffusion de fichiers malveillants (sites frauduleux se faisant passer pour des ONG) :
hXXps://hart-hulp-ua[.]com/uploads/win64/Docs.rarhXXps://hart-hulp-ua[.]com/uploads/win64/Inventory_list.docxhXXps://144[.]31.25.222/uploads/win/Docs.rarhXXps://solidarity-help[.]org/uploads/win/Inventory_list_new.docxhXXps://solidarity-help[.]org/uploads/win/Inventory_list_new.docx.pifhXXps://solidarity-help[.]org/uploads/win/blank_zvernenya.docxhXXps://solidarity-help[.]org/uploads/win/blank_zvernenya.docx.pifhXXps://saint-daniel[.]com/download/list.zip(fichier St_Daniel_LIST.docx.lnk, plus disponible)hXXps://saint-daniel[.]org/download.php(fichier list.rar, plus disponible)hXXps://saint-daniel[.]world/download.php(fichier list.rar, plus disponible)
- Noms de domaine malveillants et adresses associées :
saint-daniel[.]com– 185.107.74.13 (ancienne adresse IP)saint-daniel[.]org– 144.31.25.203saint-daniel[.]world– 83.217.208.184hart-hulp-ua[.]com(domaine usurpant une association caritative)harthulp-ua[.]com(variante typographique du précédent)solidarity-help[.]com– 144.31.106.23solidarity-help[.]org– 144.31.106.23
Traces sur l’hôte (système infecté) :
- Chemins de fichiers liés au malware :
%TMP%\\main.py(charge utile PLUGGYAPE non persistante)%TMP%\\o.d.f.a.d.g.j.k.l.f.s.f.d.d.a.py(variante PLUGGYAPE.V2 non persistante)C:\\Users\\User\\source\\repos\\MolineRebuild\\x64\\Release\\MolineRebuild.pdb(fichier de débogage présent dans le malware, indiquant le nom de projet MolineRebuild)
- Clé de registre pour la persistance :
HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\RealtekDevice(l’entrée qui lance le malware à chaque ouverture de session Windows)
Source : Rapport CERT-UA #19092 du 12 janvier 2026.



