Essayer de rester sur ses gardes : attaques de rançongiciels centrées sur Python
Publié: 2022-01-04Plus tôt cette année, les scientifiques de Sophos ont déterminé une nouvelle large gamme de rançongiciels composés dans le langage de programmation Python. L'assaut visait l'équipement virtuel (VM) hébergé par VMware ESXi, chiffrant les disques numériques et les mettant tous hors ligne.
Apparemment, le ransomware trouvé est exceptionnellement rapide et a la possibilité de crypter les informations des consommateurs en quelques heures seulement. En réalité, dans le scénario découvert par les scientifiques de Sophos, l'attaque n'a duré que 3 heures.
Dans un rapport sur la découverte, un chercheur principal de Sophos a observé que Python est un langage de codage peu utilisé pour les ransomwares. Selon un récent rapport de la division Analysis & Intelligence de BlackBerry, les logiciels malveillants sont beaucoup plus généralement conçus pour fonctionner avec des langages tels que Go, DLang, Nim et Rust. Cela expliqué, cela dépend généralement en grande partie du système sur lequel un attaquant se concentre.
Le langage de programmation Python
Tout d'abord, il est important de contextualiser l'importance de l'utilisation de Python dans les ransomwares. Python est un langage de script open source, complet et robuste. En termes de son utilisation en tant qu'administrateur de procédure, il est capable d'utiliser des modules pour permettre des tâches qui sont effectuées en continu.
Comme le célèbrent les chercheurs de BlackBerry, les attaquants privilégient généralement les langues qui sont plus jeunes dans leur existence et peu connues et non analysées. Python, d'autre part, est l'un des langages de programmation les plus populaires utilisés de nos jours et a été lancé il y a 30 ans en 1991. Son acceptation est due à son avantage en tant que logiciel pour tout administrateur système. Parmi d'autres éléments, Python peut être d'une aide précieuse pour l'exécution de serveurs, la journalisation et le filtrage à des fins Internet.
Comment cette attaque était-elle faisable ?
Enfin, l'erreur humaine a été à l'origine de cet assaut. Cela a commencé lorsque des attaquants ont réussi à pénétrer dans un compte TeamViewer appartenant à l'entreprise victime. La personne a rencontré une entrée d'administrateur et n'a pas activé l'authentification multifacteur (MFA).
Par la suite, l'agression comprenait une exploitation d'une interface administrative VMware Hypervisor. Les serveurs ESXi ont une prise en charge SSH intégrée appelée ESXi Shell que les administrateurs peuvent aider et désactiver en cas de besoin. Cet assaut s'est produit parce que l'assistance du shell ESXi a été activée et reste en cours d'exécution.
Dans le rapport, les chercheurs déclarent que l'attaque du système a révélé un fournisseur de shell en cours d'exécution qui aurait dû être désactivé juste après utilisation. Essentiellement, les portes de chacun des programmes d'exploitation de la victime étaient restées ouvertes.
Les employés informatiques de l'organisation victime appliquaient régulièrement ESXi Shell pour gérer le serveur et avaient activé et désactivé le shell plusieurs fois au cours des mois précédant l'attaque. D'un autre côté, la dernière fois qu'ils ont activé le shell, ils n'ont pas réussi à le désactiver plus tard. Les criminels en ont profité et ont pu accéder et donc chiffrer tous les disques virtuels de la victime.
Si les suggestions de stabilité de la procédure VMware avaient été respectées, la procédure aurait été sécurisée ou, à tout le moins, il aurait été plus difficile pour les attaquants de se diviser et, à un moment donné, de chiffrer le processus complet.
Pourquoi Python a-t-il été appliqué ?
Python devient de plus en plus connu, non seulement en tant que langage de programmation à usage général, mais également pour l'administration des systèmes informatiques. Python a été utilisé au cours de cette attaque pour la raison qu'il était sans tracas.

Comme Python est pré-installé sur de nombreuses unités de travail centrées sur Linux comme ESXi, l'utilisation de Python dans ce cas est plus logique.
Essentiellement, les attaquants ont utilisé les applications qui existent déjà dans la composition de la cible de l'attaque. Les attaquants ont utilisé le script exact que la cible utilisait désormais pour ses tâches administratives quotidiennes.
Le fait que Python a été utilisé comme un outil étendu au système explique comment le logiciel malveillant a été déployé en seulement 10 minutes. Cela explique également pourquoi il a été étiqueté par les scientifiques comme "exceptionnellement rapide", toutes les ressources importantes attendaient les attaquants sur le site Web.
Ciblage des serveurs ESXi et des périphériques virtuels
Les serveurs ESXi sont un objectif attrayant pour les criminels rançongiciels car ils peuvent attaquer de nombreuses machines numériques à la fois et chacun des appareils numériques peut exécuter un certain nombre d'applications ou de services spécialisés importants pour l'entreprise.
Pour qu'une attaque soit productive, les acteurs de la menace devront accéder aux connaissances essentielles de l'entreprise. Dans ce scénario, la concentration sur la société expérimentée auparavant la regroupait sous un seul parapluie avant l'arrivée des attaquants. L'opportunité de retour sur investissement financier de l'attaque est donc maximisée et les serveurs ESXi constituent une excellente cible.
Comprendre les classes précieuses
VMware déconseille de laisser le shell ESXi en cours d'exécution sans qu'il soit surveillé et peut également faire des suggestions sur les privilèges de processus qui n'ont pas été respectés dans ce cas. Imposer des méthodes de stabilité très simples pourrait stopper des attaques comme celles-ci ou, à tout le moins, les rendre encore plus difficiles.
Comme règle de sécurité de base dans l'administration des systèmes informatiques : moins le système expose, moins il doit être sécurisé. La configuration de la technique d'origine et la configuration par défaut ne sont pas adéquates pour la sécurité du programme de création.
Si ESXi Shell avait été désactivé juste après que les administrateurs aient terminé leur travail, cela n'aurait pas eu lieu aussi facilement. Les administrateurs avaient l'habitude d'utiliser ESXi Shell comme une passerelle respectable pour contrôler les appareils numériques des clients et ont donc agi de manière imprudente, ne fermant pas la porte en sortant.
Une autre partie de cette situation à laquelle il faut penser d'un point de vue administratif est la visibilité des périphériques de fichiers mondiaux. Toutes les partitions de faits de la victime étaient disponibles uniquement dans leur système de fichiers interne. Nous savons que le cryptage a été effectué fichier par fichier. Les criminels ont attaché le cryptage essentiel à chaque fichier individuel et ont écrasé le contenu du fichier principal. Un administrateur de procédure beaucoup plus prudent pourrait séparer la zone de détails des applications et la diviser entre leur stockage de connaissances et le reste du programme.
L'ajout d'une autorisation multi-problèmes pour les comptes avec un niveau de privilège plus élevé permettrait également d'arrêter les attaquants d'opportunité, mais la MFA est généralement mal accueillie par les administrateurs pour une utilisation quotidienne fréquente.
On ne peut tout simplement pas sous-estimer que posséder les traitements appropriés en place permettra de décourager les attaques à long terme. Au total, cela a beaucoup plus à voir avec la sécurité et l'administration des méthodes qu'avec Python. Dans ce scénario, Python n'était que l'outil le plus pratique à utiliser, et il a permis aux attaquants d'accéder à toutes les procédures des machines numériques.
Piotr Landowski, superviseur de l'expédition des services, STX