[Mise à jour] Un malware Mac bien surprenant: Trojan.MAC.RustDoor
[MàJ par Philippe]
Cette semaine encore BitDefender a trouvé un malware très intéressant pour Mac, notamment orienté vers les wallet de cryptomonnaies en sus d'une récupération de données assez traditionnelle. Il serait une variante d'Atomic Stealer et aurait des points commun avec une variante de Trojan.MAC.Rustdoor de ce sujet.
Une caractéristique intéressante étant sa détection de VM ou Sandbox et d'émulateurs, non pour stopper des chercheurs en sécurité que cela n'arrêtera pas bien longtemps, mais pour rester discret pour des usagers avancés et hautement ou fort justement paranoïaques!
Mais une caractéristique le rend peu dangereux pour les utilisateurs aiguisés: il n'est pas signé et oblige donc l'utilisateur à le lancer avec le clic-droit (ou Ctl-Clic ou force touch) avec un message prévenant du fait.
Au vu de ces caractéristiques, je pense qu'il vise des utilisateurs dont certains avancés, utilisant le Dark Web, pouvant avoir un bon niveau de sécurité, mais téléchargeant des logiciels depuis ce dernier.
[Sujet initial]
La société Roumaine BitDefender a identifié un nouveau malware pour Mac qu'elle a nommé Trojan.MAC.RustDoor, distribué via des binaires FAT avec leurs codes Intel et ARM, l'ensemble étant écrit dans le langage Rust.
Il a des caractéristiques essentielles, il est écrit dans le langage Rust, probablement issu ou lié à un groupe créant des ransomware Windows, mais il n'est pas lui même directement un ransomware même s'il peut être instrumentalisé à cet effet.
Son action principale est de s'intégrer au système de différentes manières pour assurer sa persistance, récupérer des fichiers suivant leurs extensions sur le Bureau et dans les Documents, les compresser et les envoyer aux serveur de Command & Control, mais aussi de créer une backdoor permettant de l'exécution locale, ouvrant ainsi la porte à des actions plus brutales.
"Rust's syntax and semantics differ from those of more common languages like C or Python" - BitDefender
La syntaxe et la sémantique de Rust diffèrent de celles de langages plus communs tels C ou Python.
Il y a quelque-chose d'étrange dans la déclaration de BitDefender, puisque la syntaxe de Rust est issue de celle du C, la sémantique des pointeurs est unique, mais n'ayant accès qu'aux binaires générés pour Intel et ARM ils doivent être décompilés et par manque d'outil spécifiques cela a probablement été fait avec un décompilateur C ou C++.
Le code alors proposé étant incompréhensible à cause de la gestion des pointeurs propres à Rust et destiné à éviter ou intercepter les erreurs afférentes à leur gestion ainsi que les allocations et désallocations mémoire.
Rust a-t-il été choisi pour obfusquer le code décompilé, ou pour réutiliser du code malware Windows tel-que?
Ce malware semble limité a l'exfiltration d'informations, sans possibilité de les chiffrer in-situ et donc d'agir comme ransomware, ce qui indiquerait qu'il sert essentiellement à la prise d'information sur une cible sur la durée.
Il ne vise donc probablement pas les particuliers, mais plutôt les entreprises.
Le fait est que de nouvelles générations de malware émergent régulièrement et qu'il faut avoir une bonne hygiène numérique: mettre à jour son OS, ses logiciels et surtout son navigateur, ne jamais cliquer sur les liens reçu par email ni n'ouvrir de fichier reçus par ce biais sans avoir vérifié avec son correspondant, ne rien télécharger hors d'un site certain (éditeur) et en général de l'App Store, on peut y ajouter des outils comme un antivirus.