En modularisant leur malware, des pirates ont déposé une charge utile sur Ars Technica et Vimeo
Si modulaire, si agile
La société de sécurité Mandiant a fait état hier de nouvelles techniques d’infection utilisées par le groupe malveillant UNC4990. Elles passent notamment par la lecture d’une chaine de caractères codée en Base64 intégrée dans une image. Le site Ars Technica a servi à la diffusion d’une de ces images.
Le 31 janvier à 16h23
6 min
Sécurité
Sécurité
Ars Technica, GitHub, GitLab et Vimeo sont des exemples de sites et services ayant récemment été utilisés par un acteur malveillant pour diffuser des instructions à un malware. Cette attaque ne se basait pas, comme dans la plupart des cas, par l’exploitation d’une ou plusieurs vulnérabilités.
La première partie de l’attaque est assez classique et passe par l’utilisation d’une clé USB infectée. Les parties suivantes le sont beaucoup moins.
De la clé USB…
La compromission initiale se fait par une clé USB vérolée, relate Mandiant. L’attaque commence sous Windows lorsque l’on clique sur un fichier lien nommé simplement « KINGSTON (32GB).lnk ». Le nom et l’icône sont trompeurs : ils sont censés représenter un accès à un lecteur portable de 32 Go, l’icône étant celle donnée par Windows habituellement aux clés USB.
Au double-clic, c’est script PowerShell qui s’exécute. Nommé « explorer.ps1 », il cible le raccourci :
C:\NWINDOWS\NSystem32\NWindowsPowerShell\Nv1.0\Npowershell.exe -windowstyle hidden -NoProfile -nologo -ExecutionPolicy ByPass -File explorer.ps1
L’objectif du script est de récupérer une charge utile, en l’occurrence un téléchargeur nommé EMPTYSPACE. Pour y parvenir cependant, il passe par une étape intermédiaire.
… au texte caché
Nos confrères d’Arts Technica racontent comment ils ont été alertés par Mandiant sur une drôle de tactique. « Une image anodine d'une pizza a été téléchargée sur un site web tiers, puis liée à une URL collée dans la page « À propos » d'un utilisateur enregistré sur Ars ».
Cette URL était tout sauf anodine. Elle contenait en effet une chaine de caractères à l’apparence aléatoire, mais qui était en fait la charge utile attendue par le script. Cette chaine était codée en Base64, mais repérable par le script comme autant d’instructions.
La charge utile, codée en Base64 et chiffrée en AES, était ensuite reprise par explorer.ps1, qui la décodait et la déchiffrait, installant alors EMPTYSPACE, également connu sous les noms VETTA Loader et BrokerLoader. De manière classique, ce dernier se connectait alors à un serveur C2C (Command & Control) pour recevoir ses instructions. Parmi elles, le téléchargement éventuel d’autres charges utiles, dont un logiciel malveillant.
Cette méthode est une évolution d’une technique déjà observée par Mandiant. Selon la société de sécurité, le groupe UNC4990 se servait précédemment d’un fichier texte (src.txt) stocké sur GitHub pour aboutir au même résultat. Le fichier texte était cependant reconnaissable dès qu’analysé par un éditeur hexadécimal. Il contenait en effet une séquence type de trois caractères : Espace, Tab et Entrée. C’est cette répétition des espaces vides qui a donné son nom à EMPTYSPACE.
Rien à craindre sans infection par la clé USB
L’image est apparue sur le site d’Ars Technica le 23 novembre. La photo de pizza était accompagnée d’une légende « I love pizza ». L’insertion de l’image était faite via une URL sur un profil, supprimé le 12 décembre. Ars Technica dit avoir été averti, mais l’origine de la source n’est pas connue (il ne s’agissait pas encore de Mandiant). C’est dans cette URL que se trouvait la chaine de caractères codée en Base64
Selon Mandiant, les personnes qui ont vu la fameuse image de la pizza n’avaient aucune crainte à avoir s’ils n’avaient pas d’abord été infectés par la clé USB. Le code Base64 n’a, par lui-même, aucune action et ne peut être interprété que par la commande PowerShell. En revanche, les personnes infectées préalablement déclenchaient la deuxième phase de l’attaque dès lors que la page contenant l’image était chargée.
Le problème concernait également Vimeo. La nuance, bien sûr, était que la chaine n’était pas dans le contenu vidéo, mais dans la description de cette dernière. Tout comme chez Ars, le contenu a été supprimé.
Dans tous les cas, les chercheurs en sécurité ont indiqué dans leur rapport n’avoir jamais observé une telle technique jusqu’à présent. Au vu de la faible ampleur de l’attaque, il pourrait ne s’agir que d’un test pour vérifier la faisabilité technique, ou au contraire une attaque minutieusement préparée et visant une seule personne ou un groupe restreint. Mais dans ce cas, pourquoi un moyen aussi détourné ? Car quitte à contaminer une machine via une clé USB, des techniques plus directes existent.
Une chaine d’attaque datant de l’année dernière
Si la technique a évolué vers une approche jusque-là jamais observée, il en va autrement de l’ensemble.
Le rapport de Mandiant indique que plusieurs versions d’explorer.ps1 ont été observées, reconnaissables pour les chercheurs à leur empreinte (hash) SHA256. Dans la première version par exemple, le script PowerShell était en clair, tandis que le téléchargeur EMPTYSPACE était récupéré directement depuis un site dont l’adresse était codée en dur.
Puis, avec les versions ultérieures, des raffinements sont arrivés progressivement. Une récupération indirecte du téléchargeur par l’intermédiaire d’une charge utile intermédiaire, un schéma de décodage personnalisé, la capacité à traquer individuellement les infections via un identifiant unique, l’arrivée du texte codé en Base64, et enfin le chiffrement en AES et l’installation du texte codé sur plusieurs sites via des moyens détournés.
EMPTYSPACE lui-même a plusieurs variantes, « généralement appelées Runtime Broker », selon Mandiant. La société en a trouvé écrites en Node.js, d’autres en .NET, et d’autres encore en Python. Une variante Go a même été découverte.
Mandiant en conclut que le groupe UNC4990 a amélioré ses outils et retravaillé sa méthode pour la rendre plus modulaire. Les chercheurs ont notamment trouvé des « signes évidents » d’un versionnement dans les moutures Python. L’utilisation de plusieurs langages pour le développement d’EMPTYSPACE va d’ailleurs dans le sens d’une expérimentation et d’une recherche d’adaptabilité.
En modularisant leur malware, des pirates ont déposé une charge utile sur Ars Technica et Vimeo
-
De la clé USB…
-
… au texte caché
-
Rien à craindre sans infection par la clé USB
-
Une chaine d’attaque datant de l’année dernière
Commentaires (7)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 31/01/2024 à 16h32
Il y a des 'N' en trop dans le chemin.
Mais sinon et surtout, pour lancer powershell avec ExecutionPolicy Bypass il faut être admin, donc bon c'est déjà gagné d'avance pour n'importe quel malware.
Le 31/01/2024 à 18h44
Au pire tu as la petite fenêtre "blablabla demande un accès", l'utilisateur clic car n'y connaît rien et/ou ne pas fait attention et le tour est joué non ?
Le 31/01/2024 à 17h05
Le 31/01/2024 à 17h09
Le 31/01/2024 à 18h41
Bref.
D'un côté voir
C:\WINDOWS\...
me rassure, tant qu'ils et elles ne cherche pas des trucs comme ~/.ssh/id_rsa ca me va.Mais quand je pense, par exemple aux parents ...
Le 01/02/2024 à 12h00
Sérieusement, protégez vos clés par mot de passe ;-)
Le 01/02/2024 à 19h05
Les gars sont vraiment créatifs !