Des chercheurs de Mandiant, entreprise amricaine de cyberscurit et une filiale de Google, indique que des pirates ayant des liens avec le gouvernement nord-coren ont diffus une version trojanise de l’utilitaire de rseau PuTTY dans le but d’ouvrir une porte drobe sur le rseau des organisations qu’ils veulent espionner. En juillet 2022, au cours d’activits proactives de chasse aux menaces dans une entreprise du secteur des mdias, Mandiant Managed Defense a identifi une nouvelle mthodologie de phishing employe par le groupe de menaces identifi comme UNC4034. Nous avons identifi plusieurs similitudes entre ce groupe et ceux que nous souponnons d’avoir un lien avec la Core du Nord , crit l’entreprise.
UNC4034 a tabli la communication avec la victime via WhatsApp et l’a incite tlcharger un paquet ISO malveillant concernant une fausse offre d’emploi qui a conduit au dploiement de la porte drobe AIRDRY.V2 via une instance trojanise de l’utilitaire PuTTY.
L’une des pierres angulaires de l’offre de services de Mandiant Managed Defense est son programme proactif de chasse aux menaces qui protge les clients contre les outils, tactiques et techniques des cybercriminels qui contournent les mcanismes de dtection traditionnels. Les traqueurs de menaces de Managed Defense s’appuient sur les recherches approfondies de Mandiant sur l’exposition aux comportements des acteurs de la menace pour amliorer et tendre continuellement ses capacits de traque aux menaces.
Identifie par l’quipe Mandiant Intelligence : Staging Directories, qui recherche les fichiers anormaux crits dans des rpertoires couramment utiliss par les cybercriminels. Les techniques utilises par UNC4034 dans cette compromission, ainsi que les techniques utilises dans d’innombrables intrusions tudies par Mandiant, sont utilises pour dvelopper et affiner en permanence les hypothses de chasse aux menaces au sein de Managed Defense. Ces hypothses fournissent des pistes de haute fidlit et exploitables, qui tiennent compte de l’volution des techniques utilises par les cybercriminels.
La piste initiale
La piste initiale tait un fichier tlcharg sur l’hte nomm amazon_assessment.iso. Les archives ISO et IMG sont devenues attrayantes pour les acteurs de la menace car, partir de Windows 10, un double-clic sur ces fichiers les monte automatiquement en tant que disque virtuel et rend leur contenu facilement accessible. Cela rduit l’effort ncessaire pour visualiser les fichiers intgrs par rapport d’autres formats tels que les archives RAR. La dtection des archives IMG et ISO malveillantes transmises par des pices jointes de phishing est une routine pour Mandiant Managed Defense. Les charges utiles contenues dans ces archives vont des logiciels malveillants de base aux portes drobes avances comme l’chantillon analys dans cet article de blog.
Leurre de phishing
Mandiant Managed Defense a effectu une enqute sur l’hte pour dterminer comment le fichier amazon_assessment.iso a t cr. Sur la base des donnes disponibles, Mandiant estime que UNC4034 a entam la communication avec la victime en lui proposant par e-mail une offre d’emploi chez Amazon. Par la suite, UNC4034 a communiqu avec elle via WhatsApp et a partag le fichier amazon_assessment.iso, que l’utilisateur a tlcharg en utilisant la version web de WhatsApp
L’archive amazon_assessment.iso contenait deux fichiers : un excutable et un fichier texte. Le fichier texte nomm Readme.txt contenait des dtails de connexion utiliser avec le second fichier : PuTTY.exe.
Server: 137.184.15[.]189
User: test
Pass: [Redacted by Mandiant]
Contenu de Readme.txt
PuTTY est un client SSH et Telnet open source. Les versions lgitimes et compiles de l’outil tlcharges depuis le site Web de l’diteur possdent une signature numrique valide. Cependant, comme le montre la ci-dessous, le binaire PuTTY.exe contenu dans l’archive malveillante ne possde pas de signature numrique.
Signatures numriques de l’utilitaire PuTTY distribu officiellement ( gauche) et de la version malveillante ( droite)
La taille du binaire PuTTY tlcharg par la victime est galement nettement suprieure celle de la version lgitime. En y regardant de plus prs, on constate qu’il comporte une section .data importante et forte entropie par rapport la version officiellement distribue. Les sections de ce type indiquent gnralement des donnes chiffres.
Comparaison de la section .data de l’utilitaire PuTTY officiellement distribu ( gauche) et de l’chantillon malveillant ( droite)
La nature suspecte de PuTTY.exe intgr dans le fichier ISO a incit Managed Defense effectuer une enqute plus approfondie sur l’hte et le fichier lui-mme. L’excution du binaire malveillant de PuTTY a entran le dploiement d’une porte drobe sur l’hte. La porte drobe dploye est une volution de la famille des logiciels malveillants que Mandiant identifie comme tant AIRDRY. Mandiant Managed Defense a russi enquter sur la compromission et contenir l’hte avant que l’activit de suivi rsultant de la porte drobe dploye ne se produise. Alors que Mandiant a dtect et rpondu la compromission le 2022-07-05, le mme excutable PuTTY a t vu sur VirusTotal ds le 2022-06-27.
En outre, Mandiant a dcouvert une deuxime archive ISO nomme amazon_test.iso tlcharge sur VirusTotal le 2022-06-17. Mandiant a trouv la deuxime archive en pivotant partir de l’adresse IP contenue dans le fichier Readme.txt. Ce fichier ISO contenait galement un fichier Readme.txt avec la mme adresse IP et un excutable PuTTY trojanis similaire.
Les deux fichiers ISO trouvs par Mandiant semblent utiliser le mme thme de leurre en se faisant passer pour une valuation de recrutement pour Amazon. Ils contiennent galement des logiciels malveillants construits de manire similaire, qui aboutissent la charge utile finale de la porte drobe AIRDRY.V2.
Analyse du logiciel malveillant
L’excutable intgr chaque fichier ISO est une application PuTTY entirement fonctionnelle, compile l’aide du code source de la version 0.77 de PuTTY accessible au public.
Interface PuTTY affiche lors de l’excution des chantillons malveillants
Chaque chantillon contient un code malveillant qui crit une charge utile intgre sur le disque et la lance. Cependant, le code malveillant a t insr diffrents endroits dans chacun des chantillons de PuTTY trojaniss. Dans l’chantillon de PuTTY dcouvert par Mandiant, le code rside dans la fonction connect_to_host, qui se trouve dans le fichier source putty-0.77\ssh.c. Pour dclencher le code, l’utilisateur doit tenter une connexion SSH l’adresse IP de l’hte fournie dans le fichier Readme.txt.
Dans l’chantillon de PuTTY dcouvert sur VirusTotal, le code malveillant a t insr dans la fonction ssh2_userauth_process_queue (fichier source : putty-0.77\ssh\userauth2-client.c). Le code se trouve dans la partie de la fonction responsable de l’authentification par mot de passe, par opposition d’autres mthodes telles que l’authentification par cl publique ou par clavier interactif. Une fois que l’utilisateur tablit une connexion et saisit son nom d’utilisateur et son mot de passe, le code malveillant est excut quel que soit le rsultat de l’authentification. Ces garde-fous d’excution sont probablement une tentative de l’UNC4034 d’viter de laisser tomber inutilement l’tape suivante de son malware.
La partie du code malveillant qui dpose et excute une charge utile est presque identique dans les deux chantillons. L’excutable Windows lgitime C:\Windows\System32\colorcpl.exe est copi dans le nouveau rpertoire C:\ProgramData\PackageColor et la charge utile intgre est crite dans C:\ProgramData\PackageColor\colorui.dll. Le binaire PuTTY observ dans la compromission lance colorui.dll via un dtournement de l’ordre de recherche des DLL l’aide de la commande.
C:\Windows\System32\cmd.exe /c start /b C:\ProgramData\PackageColor\colorcpl.exe 0CE1241A44557AA438F27BC6D4ACA246
Dans l’chantillon VirusTotal, cmd.exe n’est pas utilis pour lancer colorcpl.exe. Au lieu de cela, la fonction WinExec de l’API Windows lance le processus illustr ci-dessous :
C:\ProgramData\PackageColor\colorcpl.exe C8E71F4613ABFCA10B6330C9
Excution de l’chantillon de VirusTotal
Dans les deux cas, l’argument de ligne de commande transmis colorcpl.exe n’est pas li la fonction lgitime de l’excutable Windows. Au contraire, chaque argument est utilis par la DLL malveillante comme dcrit ci-dessous. La persistance est tablie pour C:\ProgramData\PackageColor\colorcpl.exe via schtasks.exe. Une tche planifie nomme PackageColor excute colorcpl.exe tous les jours 10 h 30, heure locale.
DLL malveillante
Les chantillons de colorui.dll ont t emballs l’aide du protecteur de logiciels commercial Themida. Les chantillons dballs contiennent des chemins de fichiers qui rvlent leur but. Les deux chantillons contiennent une charge utile shellcode identique nomme DAVESHELL. La charge utile est dcrypte l’aide d’un algorithme XOR personnalis avec une cl gnre dynamiquement. La cl est le rsultat de la concatnation des chanes de caractres suivantes :
- Nom du processus parent (COLORCPL.EXE)
- Nom de fichier DLL malveillant (COLORUI.DLL)
- Argument de ligne de commande transmis colorcpl.exe par l’excutable PuTTY.
La cl de dcryptage ncessaire pour l’chantillon VirusTotal est prsente ci-dessous :
COLORCPL.EXECOLORUI.DLLC8E71F4613ABFCA10B6330C96CA3D3B1
Cl de dcryptage pour l’chantillon PuTTY trouv sur VirusTotal
L’inclusion de cette cl sert galement de mcanisme anti-analyse : sans la bonne cl, rien d’important ne se produit lorsque la DLL est excute. L’argument de ligne de commande transmis colorcpl.exe dtermine galement la manire dont le shellcode dcrypt est excut. En fonction de cet argument, colorui.dll peut excuter le shellcode partir de colorcpl.exe ou l’injecter dans une nouvelle instance d’un processus Windows lgitime. Dans le cas d’une injection dans un processus, la cible de l’injection est choisie au hasard entre credwiz.exe et iexpress.exe.
La charge utile de shellcode injecte est DAVESHELL, un dropper disponible publiquement sous forme de shellcode qui excute une charge utile intgre en mmoire. La charge utile intgre est une volution de la porte drobe AIRDRY avec VMProtect.
AIRDRY.V2
Le backdoor AIRDRY, galement connu sous le nom de BLINDINGCAN, a fait l’objet d’une documentation approfondie dans les rapports publis par CISA et JPCERT. Ces versions antrieures d’AIRDRY prenaient en charge de nombreuses commandes de backdoor, notamment le transfert de fichiers, la gestion de fichiers et l’excution de commandes.
Dans la version la plus rcente, cependant, les commandes backdoor traditionnelles ont t supprimes au profit d’une approche base sur des plugins qui prennent en charge plusieurs modes de communication. Les dtails qui suivent traitent de l’volution vers AIRDRY.V2 et soulignent les similitudes avec les versions prcdentes. La configuration de la porte drobe est chiffre en AES-128 en mode CBC avec la cl code en dur KAA5M8MNDKLJB8PI. Un contrle d’intgrit est effectu sur la configuration chiffre et dchiffre. La porte drobe sort si la vrification choue.
La configuration dchiffre contient le mode de communication de la porte drobe. Les modes pris en charge sont rpertoris dans le tableau 1, ainsi que les noms des classes internes correspondantes, le cas chant. Les trois modes sont centraliss autour d’une classe appele CSinSocket.
La structure de la configuration embarque dpend du mode de communication. L’chantillon observ est configur pour utiliser HTTP. La structure de sa configuration de 0x24B0 octets est dcrite dans le tableau 2. Aucune version en mode SMB ou fichier d’AIRDRY.V2 n’a t identifie et la structure de leur configuration est donc inconnue.
Offset : Description
0x0000 : Operation mode
0x0002 : C2 URL count
0x0006 : C2 URL #1
0x020E : C2 URL #2
0x0416 : C2 URL #3
0x061E : C2 URL #4
0x0826 : C2 URL #5
0x0A2E : Proxy enabled flag
0x0A32 : Proxy server
0x0C3A : Proxy port
0x0C3C : Proxy credentials available
0x0C40 : Proxy username
0x0E48 : Proxy password
0x1050 : Unknown
0x1054 : Maximum beacon count
0x1056 : Report if disk space is available
0x105A : Report if there is an active RDP session
0x105E : Beacon interval in seconds
0x1060 : Start date and time (empty)
0x1068 : System ID
0x106C : Unknown
0x18A0 : c:\windows\system32\cmd.exe
0x1AA8 : %temp%
0x1CB0 : Unknown
Structure de la configuration du mode HTTP
Le nombre maximum de balises stock l’offset 0x1054 reflte le nombre de fois que la porte drobe tente de se connecter un serveur de commande et de contrle (C2) avant d’attendre le temps stock l’offset 0x105E. L’chantillon actuel est configur pour se connecter jusqu’ cinq fois avant de dormir pendant 60 secondes.
Par dfaut, la porte drobe n’est pas configure pour utiliser un serveur proxy. Il n’est pas non plus configur pour signaler l’tat de l’espace disque disponible (offset 0x1056) ou la prsence d’une session RDP active (offset 0x105E). Cependant, ces fonctionnalits pourraient tre actives par une mise jour de la configuration mise par un serveur C2.
Les chanes de configuration aux dcalages 0x18A0 et 0x1AA8 ne sont pas rfrences dans le code mais ont t vues dans des configurations AIRDRY prcdentes. Il est possible que ces chanes restent dans la configuration pour tre utilises par un plugin tlcharg.
La valeur de configuration l’offset 0x1060 reflte la date et l’heure aprs lesquelles la porte drobe doit commencer communiquer avec ses serveurs C2. Cette valeur est vide dans la configuration actuelle, ce qui fait que la communication commence immdiatement. Toutefois, la valeur peut tre mise jour par une commande d’un serveur C2, ce qui peut entraner l’inactivit de la porte drobe pendant un certain temps.
Le nombre d’URL C2 de la porte drobe est de cinq ; cependant, la configuration ne comporte que trois URL distinctes.
hxxps://hurricanepub[.]com/include/include.php
hxxps://turnscor[.]com/wp-includes/contacts.php
hxxps://www.elite4print[.]com/support/support.asp
URLs C2 configures
Pleins feux sur les acteurs de la menace : UNC4034
Mandiant a identifi plusieurs chevauchements entre l’UNC4034 et des groupes de menaces que nous souponnons d’avoir un lien avec la Core du Nord. Les URL C2 d’AIRDRY.V2 appartiennent une infrastructure de site Web compromise prcdemment exploite par ces groupes et signale dans plusieurs sources OSINT. Il convient de noter l’utilisation antrieure de cette infrastructure compromise pour diffuser la porte drobe AIRDRY via des tlchargeurs CUTELOOP intgrs des documents malveillants.
Sur la base des recoupements identifis et des tactiques d’ingnierie sociale utilises, Mandiant souponne que cette activit reprsente une extension des campagnes durables de l' » Operation Dream Job » qui exploitent une chane d’attaque diffrente avec des fichiers ISO et des binaires trojaniss plutt que des documents arms. Il s’agit probablement de l’une des nombreuses techniques de diffusion de logiciels malveillants employes par les acteurs nord-corens aprs qu’une cible ait rpondu une offre d’emploi fictive. Des rapports publics rcents dtaillent galement l’utilisation d’autres plateformes de mdias sociaux pour se faire passer pour des entreprises lgitimes et publier de fausses offres d’emploi ciblant les dveloppeurs de cryptomonnaies.
L’utilisation de fichiers ISO est de plus en plus populaire dans la diffusion de logiciels malveillants de base et cibls. Mandiant a observ des acteurs bien connus, comme APT29, qui ont adopt l’utilisation de fichiers ISO pour diffuser leurs malwares.
Opportunits de dtection
L’enqute sur cette compromission a rvl de nouvelles pistes et de nouveaux indicateurs sur lesquels s’appuyer pour de futurs efforts de chasse. Une mise en garde importante concernant ces pistes de chasse est qu’elles ne sont pas des indicateurs de compromission. Il s’agit plutt d’activits intressantes qui peuvent ncessiter une enqute plus approfondie de la part d’un analyste.
Il s’agit notamment de fichiers d’archives ISO et IMG tlchargs partir de sources telles que WhatsApp, les fournisseurs de messagerie et les services de stockage en nuage. Sur Windows 10 et les versions ultrieures, l’URL d’origine d’un fichier tlcharg est stocke dans le flux de donnes alternatif Zone.Identifier. Mandiant observe rgulirement des fichiers d’archives livrs en pices jointes de phishing qui proviennent de ces sources.
La deuxime piste est l’excution de colorcpl.exe partir d’un rpertoire inhabituel comme CrogramDataPackageColor. Le plus souvent, l’excutable s’excute depuis son emplacement standard dans C:\Windows\System32 ou C:\Windows\SysWOW64.
La troisime piste de chasse trouve pour de futurs efforts de chasse est l’excution de colorcpl.exe avec des arguments de ligne de commande. Par dfaut, colorcpl.exe s’excute sans arguments de ligne de commande. Dans ce scnario, colorcpl.exe a t excut avec un argument de ligne de commande compos de caractres hexadcimaux. L’argument a finalement t valu par une DLL malveillante qui a t charge dans le processus.
Mandiant dcouvre rgulirement de nouvelles activits d’acteurs de la menace, comme celle dcrite dans cet article de blog. Pour garantir la protection de nos clients, les capacits de dtection et de chasse aux menaces de Mandiant voluent en permanence et sont alimentes par nos expriences en premire ligne.
Source : Mandiant
Et vous ?
Quel est votre avis sur le sujet ?
Voir aussi :
La Chine accuse la NSA d’avoir pirat son universit de recherche militaire, pour voler des donnes