Un ordinateur avec un drapeau pirate sur fond rouge

Si modulaire, si agile

En modularisant leur malware, des pirates ont déposé une charge utile sur Ars Technica et Vimeo

Un ordinateur avec un drapeau pirate sur fond rouge

Abonnez-vous pour tout dévorer et ne rien manquer.

Déjà abonné ? Se connecter

Abonnez-vous

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.

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é.

Commentaires (7)


"C:\NWINDOWS\NSystem32\NWindowsPowerShell\Nv1.0\Npowershell.exe"
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.
On est pas admin par défaut sous windows ?
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 ?
Mais du coup si l'utilisateur du PC infecté ne va pas voir l'image sur Ars Technica ou la video de Vimeo, rien ne se passe, c'est ça? Il faudrait dont lui envoyer spécifiquement le lien vers la video ou l'image (par email?) pour que le chaîne d'infection se complète?
La clé USB vérolée contient un raccourci bidon qui est en fait un script PowerShell qui va ouvrir l'URL en question et récupérer la payload. Tout ce que tu as à faire, c'est ouvrir le .lnk bidon en question.
Hé bhé, parfois je me dis que si ce genre de personnes passaient autant de temps et d’énergie à régler les problèmes de sociétés (climat, faim, etc) qu'à vouloir emmerder les autres il y en auraient beaucoup moins de problème.
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 ... :stress:
C'est vrai que c'est bien connu, il n'y a absolument aucun virus ciblant Linux ! Et si jamais il y en avait, jamais ils n'essayeraient d'exfiltrer des informations secrètes !

Sérieusement, protégez vos clés par mot de passe ;-)
Déjà lu l'article sur Ars.. mais vraiment impressionné par la procédure mise en place.

Les gars sont vraiment créatifs !
Fermer