
S'enregistre en tant que «Moniteur d'impression par défaut», mais c'est un téléchargeur malveillant. Rencontrez DePriMon – Bien choisir son serveur d impression
Les chercheurs d'ESET ont découvert un nouveau téléchargeur avec un roman, jamais vu auparavant dans la technique d'installation sauvage
DePriMon est un téléchargeur malveillant qui comporte plusieurs étapes et qui utilise de nombreuses techniques non traditionnelles. Pour assurer la persistance, le logiciel malveillant enregistre un nouveau moniteur de port local – une astuce relevant de la technique «Moniteurs de port» de la base de connaissances MITRE ATT & CK. Pour cela, le logiciel malveillant utilise le nom «Moniteur d'impression par défaut de Windows»; c’est pourquoi nous l’avons nommé DePriMon. En raison de sa complexité et de son architecture modulaire, nous le considérons comme un framework.
Selon notre télémétrie, DePriMon est actif depuis mars 2017 au moins. DePriMon a été détecté dans une entreprise privée basée en Europe centrale et dans des dizaines d'ordinateurs au Moyen-Orient.
Certains des noms de domaine utilisés en tant que serveurs C & C contiennent des mots arabes, qui donnent une indication sur une campagne spécifique à une région. Cependant, DePriMon mérite une attention au-delà de la distribution géographique de ses cibles: il s’agit d’un malware soigneusement écrit, avec beaucoup de cryptage qui est utilisé correctement.
Pour aider les défenseurs à se protéger de cette menace, nous avons analysé en détail ce logiciel malveillant récemment découvert, en nous concentrant sur le téléchargeur lui-même. Comme nous manquons d’étapes initiales, que nous appellerons ici «la première étape», nous ne connaissons pas la distribution initiale ni le vecteur de compromis. Le type de charge utile finale utilisé dans les attaques est une autre question à laquelle il reste à répondre.
Toutefois, il convient de noter que, dans quelques cas, DePriMon a été détecté avec un logiciel malveillant ColoredLambert sur les mêmes ordinateurs dans un délai très court. ColoredLambert est utilisé par le groupe de cyberespionage Lamberts (aussi appelé Longhorn) et est lié à la fuite des capacités de la CIA dans Vault 7. Nos collègues de Symantec et de Kaspersky ont publié leurs analyses en avril 2017.
Sommaire
Analyse technique
Deuxième étape
Les deuxième et troisième étapes de DePriMon sont livrées sur le disque de la victime lors de la première étape. La deuxième étape s’installe et charge la troisième étape à l’aide d’un chemin chiffré et codé en dur. L'une des explications possibles est qu'il a été configuré après la première étape de l'attaque.
La technique d'installation décrite est unique. En principe, il est décrit dans la taxonomie de MITRE ATT & CK en tant que «contrôleurs de port», sous les tactiques de persistance et d’escalade de privilèges. Nous pensons que DePriMon est le premier exemple de malware utilisant cette technique jamais décrite publiquement.
La deuxième étape enregistre la DLL de troisième étape en tant que moniteur de port en créant la clé de registre et la valeur suivantes:
HKLM SYSTEM CurrentControlSet Control Print Moniteurs Moniteur d'impression par défaut Windows
Pilote =% PathToThirdStageDLL%
Des droits d'administrateur sont requis pour créer cette clé de registre.
Au démarrage du système, la DLL enregistrée sera chargée par spoolsv.exe avec SYSTÈME les privilèges, qui, combinés avec le caractère unique de cette méthode, rendent cette technique très efficace pour les attaquants.
La deuxième étape vérifie régulièrement s’il existe un fichier dans % system32% dossier portant le même nom que le fichier DLL du troisième étage mais sans l’extension «.dll». Ce fichier sert de déclencheur de désinstallation. Si DePriMon le trouve, il supprime à la fois ce fichier et ses propres composants de manière sécurisée en écrasant les fichiers binaires, puis en les supprimant.
Étape trois
La troisième étape, chargée de télécharger la ou les principales charges utiles des opérateurs de DePriMon, met également en œuvre des techniques intéressantes.
Pour les communications C & C, il utilise l'implémentation Microsoft de SSL / TLS, Secure Channel, à la place des API communes telles que WinHTTP ou WinInet. Sa configuration est très complexe, de même que la façon dont le logiciel malveillant le gère. Enfin, les auteurs ont déployé des efforts considérables en matière de cryptage, rendant le logiciel malveillant DePriMon plus difficile à analyser.
Communication C & C
DePriMon communique en toute sécurité via TLS, mais pas à un niveau élevé comme dans le cas typique des programmes malveillants. La connexion est initialisée avec un socket Windows et peut continuer avec l'initialisation d'une session SSPI (Security Support Provider Interface) authentifiée avec le SSP Negotiate / NTLM. Après cela, DePriMon utilise Schannel.
SSPI est utilisé / non utilisé en fonction d'un indicateur particulier dans le fichier de configuration et peut utiliser les paramètres de proxy locaux de la machine. L'implémentation est similaire à cet exemple fourni par Microsoft.
L’implémentation de TLS via Malware via Schannel est semblable à cet exemple de Coast Research & Development. Cela inclut la création d'informations d'identification, la prise de contact du client et la vérification du certificat de serveur.

Figure 1. Partie de l'implémentation SSPI générée par le décompilateur Hex-Rays
Une fois la communication établie, la troisième étape chiffre et déchiffre les messages manuellement à chaque fois.
Configuration
Les données de configuration pour la troisième étape de DePriMon ont 27 membres, ce qui est un nombre inhabituellement élevé pour un téléchargeur. Il est crypté avec AES-256 et incorporé dans le binaire.
Lors de la première exécution, la troisième étape de DePriMon (le programme de téléchargement lui-même) décrypte les données de configuration avec la clé 2 (voir la section IoC), les chiffre avec la clé 3 et stocke le fichier de configuration crypté dans un dossier temporaire. Le nom de fichier du fichier de configuration est créé selon le processus suivant: À partir du deuxième octet, la valeur de la clé 2 est transformée en un nombre en base 36 mais codé à l'aide de l'alphabet personnalisé «abc… xyz012… 789». L'extension du fichier de configuration est «.tmp».
Un exemple de chemin de fichier de configuration: % temp% rb1us0wm99sslpa1vx.tmp.
Lors de la deuxième exécution, le programme de téléchargement lit les données de configuration dans le fichier, et non à partir de lui-même. Ainsi, l'attaquant peut facilement mettre à jour la configuration.
Grâce à sa conception sécurisée, la configuration n'est pas laissée en mémoire sous forme non chiffrée. Chaque fois que le téléchargeur doit utiliser un élément du fichier de configuration, il déchiffre le fichier de configuration, récupère le membre et le chiffre à nouveau.
Cette conception protège la fonction principale du malware, la communication C & C, contre les analyses de mémoire.

Figure 2. Partie du code visible par le décompilateur Hex-Rays, qui illustre comment le programme malveillant DePriMon décrypte le fichier de configuration, enregistre quelques membres dans des variables locales et le chiffre à nouveau.
Le fichier de configuration présente un intérêt particulier:
- Deux entrées pour les noms d'utilisateur et deux membres pour les mots de passe – pour le serveur proxy s'il est défini sur la machine. Cela signifie que les attaquants se préparent à poursuivre leur attaque via un proxy avec des informations d'identification. Cependant, nous n’avons pas vu de fonctionnalité permettant de voler ces détails, il semble donc que cela se fasse dans une autre phase de l’attaque.
- Trois entrées pour trois serveurs C & C, chacun utilisé à une occasion différente.
- Trois entrées pour trois ports, chacun utilisé à une autre occasion.
- Indicateurs indiquant si le téléchargeur initialise une connexion via SSPI (Security Support Provider Interface) avec un proxy possible ou uniquement avec un socket (décrit plus loin).
Il convient de noter qu’outre les serveurs C & C extraits d’exemples de logiciels malveillants, nous avons identifié des domaines et des serveurs supplémentaires susceptibles d’être associés à ce logiciel malveillant.
Cryptage
Le logiciel malveillant utilise l'algorithme de chiffrement AES avec trois clés différentes de 256 bits à des fins différentes (ces clés sont répertoriées dans la section IoC).
- Clé 1: pour le décryptage de diverses chaînes sensibles dans le malware.
- Clé 2: Pour le cryptage et le décryptage des données de configuration en mémoire (comme décrit précédemment). Cette clé est également utilisée pour générer la troisième clé.
- Clé 3: Pour le cryptage et le décryptage du fichier de configuration sur le disque.
Cette clé n'est pas codée en dur, mais dérivée à l'aide d'un tableau de 32 octets qui est ensuite chiffré. Le tableau est généré comme suit: les 4 premiers octets sont le numéro de série du volume du lecteur système et les 28 octets restants contiennent les valeurs 5 à 32. Ce tableau est chiffré avec la clé 2, ce qui donne la clé 3.
Conclusion
DePriMon est un téléchargeur exceptionnellement avancé dont les développeurs ont déployé des efforts supplémentaires pour configurer l’architecture et concevoir les composants critiques.
DePriMon est téléchargé en mémoire et exécuté directement à partir de celui-ci en tant que DLL à l'aide de la technique de chargement des DLL par réflexion. Il n'est jamais stocké sur le disque. Il possède un fichier de configuration étonnamment volumineux avec plusieurs éléments intéressants, son cryptage est correctement implémenté et protège efficacement la communication C & C.
DePriMon est donc un outil puissant, flexible et persistant conçu pour télécharger et exécuter une charge utile, ainsi que pour collecter des informations de base sur le système et ses utilisateurs.
Indicateurs de compromis (IoC)
Noms de détection ESET
Win32 / DePriMon
Win64 / DePriMon
SHA-1 hashes
02B38F6E8B54885FA967851A5580F61C14A0AAB6
03E047DD4CECB16F513C44599BF9B8BA82D0B7CB
0996C280AB704E95C9043C5A250CCE077DF9C8B2
15EBE328A501B1D603E66762FBB4583D73E109F7
1911F6E8B05E38A3C994048C759C5EA2B95CE5F7
2B30BE3F39DEF1F404264D8858B89769E6C032D9
2D80B235CDF41E09D055DD1B01FD690E13BE0AC7
6DB79671A3F31F7A9BB870151792A56276619DC1
6FAB7AA0479D41700981983A39F962F28CCFBE29
7D0B08654B47329AD6AE44B8FF158105EA736BC3
7E8A7273C5A0D49DFE6DA04FEF963E30D5258814
8B4F3A06BA41F859E4CC394985BB788D5F76C85C
94C0BE25077D9A76F14A63CBF7A774A96E8006B8
968B52550062848A717027C512AFEDED19254F58
9C4BADE47865E8111DD3EEE6C5C4BC83F2489F5B
AA59CB6715CFFF545579861E5E77308F6CAEAC36
C2388C2B2ED6063EACBA8A4021CE32EB0929FAD2
CA34050771678C65040065822729F44B35C87B0C
D38045B42C7E87C199993AB929AD92ADE4F82398
E272FDA0E9BA1A1B8EF444FF5F2E8EE419746384
E2D39E290201010F49652EE6116FD9B35C9AD882
F413EEE3CFD85A60D7AFC4D4ECC4445BB1F0B8BC
Domaines
Domaine | adresse IP |
---|---|
img.dealscienters[.]net | 138.59.32.72 |
teknikgorus[.]com | 88.119.179.17 |
wnupdnew[.]com | 190.0.226.147 |
babmaftuh[.]com | 185.56.89.196 |
Alwatantrade[.]com | 188.241.60.109 |
Shayalyawm[.]com | 5.226.168.124 |
elehenishing[.]com | 185.225.17.77 |
almawaddrial[.]com | 46.151.212.202 |
Mdeastserv[.]com | 46.151.212.201 |
Clés – exemple
Clé 1: C097CF17DC3303BC8155534350464E50176ACA63842B0973831D8C6C8F136817
Clé 2: 8D35913F80A23E820C23B3125ABF57901BC9A7B83283FB2B240193ABDEDE52B9
Touche 3: dérivée comme décrit précédemment.
Noms de fichiers
dpnvmrs.dll
hp3mlnv.dll
hp4mlnv.dll
hp5nhd.dll
hp6nhd.dll
hpjdnb64.dll
hpmdnel3b.dll
ifssvc.dll
ifssvcmgr.dll
msprtmon64.dll
msptromn.dll
plamgr.dll
ppcrlchk.dll
ppcrlupd.dll
prntapt.dll
prntqdl64.dll
pscript6f.dll
pscript6s.dll
shprn64.dll
stprn32.dll
winmnprt.dll
Techniques MITRE ATT & CK
Tactique | ID | prénom | La description |
---|---|---|---|
Persistance | T1013 | Moniteurs de port | DePriMon installe l'un de ses composants en tant que moniteur de port pour assurer la persistance. |
Défense Evasion | T1036 | Mascarade | DePriMon place ses composants dans le dossier System32 avec des noms imitant les DLL système courantes. |
T1107 | Suppression de fichier | DePriMon peut se supprimer en toute sécurité en écrasant ses fichiers avec des données aléatoires, puis en les supprimant. | |
T1112 | Modifier le registre | DePriMon ajoute une entrée de registre dans HKLM SYSTEM CurrentControlSet Control Print Monitors pour atteindre la persistance. | |
T1134 | Manipulation de jetons d'accès | DePriMon obtient un jeton utilisateur pour obtenir des informations sur les paramètres de proxy sur la machine. | |
T1140 | Désobfuscation / décodage de fichiers ou d'informations | DePriMon chiffre certaines de ses chaînes et son fichier de configuration en utilisant AES-256. | |
Découverte | T1007 | Découverte du service système | DePriMon peut répertorier les services enregistrés sur le système. |
T1057 | Découverte de processus | DePriMon peut répertorier les processus en cours d'exécution sur le système. | |
T1082 | Découverte d'informations système | DePriMon collecte diverses informations sur le système. | |
T1124 | Découverte de l'heure du système | DePriMon vérifie régulièrement l'heure du système et effectue diverses actions, telles que la désinstallation. | |
Commander et contrôler | T1043 | Port couramment utilisé | DePriMon utilise les ports 443 et 8080 pour la communication C & C. |
T1071 | Protocole de couche d'application standard | DePriMon utilise HTTP pour la communication C & C. | |
T1090 | Proxy de connexion | DePriMon utilise les paramètres de proxy locaux pour rendre ses communications moins suspectes. |
ESET Recherche
Commentaires
Laisser un commentaire