Une nouvelle technique d’injection de processus appelée Mockingjay pourrait être exploitée par des pirates pour contourner les solutions de sécurité afin d’exécuter du code malveillant sur des systèmes compromis.
« L’injection est exécutée sans allocation d’espace, ni définition d’autorisations ni même démarrage de thread », ont déclaré les chercheurs de Security Joes, Thiago Peixoto, Felipe Duarte et
Ido Naor a dit dans un rapport partagé avec The Hacker News. « La particularité de cette technique est qu’elle nécessite une DLL vulnérable et la copie du code dans la bonne section. »
L’injection de processus est un méthode d’attaque qui permet aux adversaires d’injecter du code dans les processus afin d’échapper aux défenses basées sur les processus et d’élever les privilèges. Ce faisant, cela pourrait permettre l’exécution de code arbitraire dans l’espace mémoire d’un processus en direct distinct.
Certaines des techniques d’injection de processus bien connues incluent l’injection de bibliothèque de liens dynamiques (DLL), l’injection d’exécutables portables, le détournement d’exécution de threads, l’évidement de processus et le doppelgänging de processus, entre autres.
Il convient de souligner que chacune de ces méthodes nécessite une combinaison d’appels système spécifiques et d’API Windows pour effectuer l’injection, permettant ainsi aux défenseurs d’élaborer des procédures de détection et d’atténuation appropriées.
Ce qui distingue Mockingjay, c’est qu’il subvertit ces couches de sécurité en éliminant le besoin d’exécuter des API Windows généralement surveillées par des solutions de sécurité en tirant parti des fichiers exécutables portables Windows préexistants qui sont déjà livrés avec un bloc mémoire protégé par lecture-écriture-exécution (RWX) autorisations.
https://www.youtube.com/watch?v=155OXwnnAyw
Ceci, à son tour, est accompli à l’aide de msys-2.0.dll, qui est livré avec un « généreux 16 Ko d’espace RWX disponible », ce qui en fait un candidat idéal pour charger du code malveillant et voler sous le radar. Cependant, il convient de noter qu’il pourrait y avoir d’autres DLL sensibles présentant des caractéristiques similaires.
La société israélienne a déclaré avoir exploré deux méthodes différentes – l’auto-injection et l’injection de processus à distance – pour réaliser l’injection de code d’une manière qui non seulement améliore l’efficacité de l’attaque, mais contourne également la détection.
Dans la première approche, une application personnalisée est utilisée pour charger directement la DLL vulnérable dans son espace d’adressage et finalement exécuter le code souhaité à l’aide de la section RWX. L’injection de processus distant, d’autre part, implique l’utilisation de la section RWX dans la DLL vulnérable pour effectuer l’injection de processus dans un processus distant tel que ssh.exe.
« Le caractère unique de cette technique réside dans le fait qu’il n’est pas nécessaire d’allouer de la mémoire, de définir des autorisations ou de créer un nouveau thread dans le processus cible pour lancer l’exécution de notre code injecté », ont déclaré les chercheurs.
« Cette différenciation distingue cette stratégie des autres techniques existantes et rend difficile la détection de cette méthode par les systèmes Endpoint Detection and Response (EDR). »
Les résultats surviennent des semaines après la société de cybersécurité SpecterOps détaillé une nouvelle méthode qui exploite une technologie de déploiement légitime de Visual Studio appelée Cliquez une fois pour réaliser l’exécution de code arbitraire et obtenir l’accès initial.