Afin de mener leur attaque à bien, les pirates ont exploité une faille o-day dans le logiciel PAN-OS de Palo Alto Network dernièrement dévoilé.
La division Unit 42 de l’entreprise de sécurité réseau suit cette activité sous le nom d’opération « MidnightEclipse », l’attribuant à un seul acteur malveillant, de provenance inconnue.
La faille de sécurité, répertoriée sous le nom de CVE-2024-3400 (score CVSS : 10.0), est une faille d’injection de shell qui permet à des attaquants non authentifiés d’exécuter un code arbitraire avec les privilèges de l’administrateur sur le pare-feu.
Il est important de noter que ce problème ne s’applique qu’aux configurations de pare-feu PAN-OS 10.2, PAN-OS 11.0 et PAN-OS 11.1 pour lesquelles la passerelle GlobalProtect et la surveillance télémétrique des appareils sont activées.
L’opération MidnightEclipse implique l’exploitation de la faille pour créer un travail cyclique qui s’exécute toutes les minutes pour récupérer des commandes hébergées sur un serveur externe (« 172.233.228[.]93/policy » ou « 172.233.228[.]93/patch »), qui sont ensuite exécutées à l’aide de l’interpréteur de commandes bash.
Les hackers auraient géré manuellement une liste de contrôle d’accès (ACL) pour le serveur de commande et de contrôle (C2) afin de s’assurer qu’il n’est accessible qu’à partir de l’appareil qui communique avec lui.
Bien que la nature exacte de la commande soit inconnue, il est probable que l’URL sert de vecteur à une porte dérobée en Python sur le pare-feu que Volexity (qui a découvert l’exploitation sauvage de CVE-2024-3400) traque comme UPSTYLE et héberge sur un serveur différent (« 144.172.79[.]92 » et « nhdata.s3-us-west-2.amazonaws[.]com »).
Le fichier Python est conçu pour écrire et lancer un autre script Python (« system.pth »), qui décode et exécute le composant backdoor intégré, chargé d’exécuter les commandes de l’acteur de la menace dans un fichier « sslvpn_ngx_error.log ». Les résultats de l’opération sont écrits dans un fichier distinct nommé« bootstrap.min.css ».
L’aspect le plus intéressant de la chaîne d’attaque est que les fichiers utilisés pour extraire les commandes et écrire les résultats sont des fichiers légitimes associés au pare-feu, à savoir
/var/log/pan/sslvpn_ngx_error.log
/var/appweb/sslvpndocs/global-protect/portal/css/bootstrap.min.css
Pour ce qui est de la manière dont les commandes sont écrites dans le journal des erreurs du serveur web, l’acteur cybermalveillant forge des requêtes réseau spécialement élaborées vers une page web inexistante contenant un modèle spécifique. Puis, la porte dérobée analyse le fichier log et recherche la ligne correspondant à la même expression régulière (« img\[([a-zA-Z0-9+/=]+)\] ») afin de décoder et d’exécuter la commande qu’elle contient.
« Le script crée ensuite un autre processus qui exécute une fonction « restore » », explique l’unité 42. « La fonction restore prend le contenu original du fichier bootstrap.min.css, ainsi que les heures d’accès et de modification originales, dort pendant 15 secondes et réécrit le contenu original dans le fichier et remet les heures d’accès et de modification à leur valeur originale. »
L’objectif principal semble être d’éviter de laisser des traces de la sortie des commandes, ce qui nécessite que les résultats soient exfiltrés dans les 15 secondes précédant l’écrasement du fichier.
Volexity, dans sa propre analyse, a déclaré avoir observé l’acteur de la menace exploiter à distance le pare-feu pour créer un shell inversé, télécharger des outils supplémentaires, s’introduire dans les réseaux internes et finalement exfiltrer des données. L’ampleur exacte de la campagne n’est pas encore claire. L’entreprise a nommé son adversaire UTA0218.
« L’habileté et la rapidité de l’attaquant suggèrent qu’il s’agit d’un acteur de menace très compétent, disposant d’un manuel de jeu clair sur ce à quoi il doit accéder pour atteindre ses objectifs », a déclaré l’entreprise américaine de cybersécurité.
« Les objectifs initiaux de UTA0218 étaient de s’emparer des clés DPAPI de sauvegarde du domaine et de cibler les informations d’identification de l’Active Directory en obtenant le fichier NTDS.DIT. Ils ont ensuite ciblé les postes de travail des utilisateurs pour voler les cookies enregistrés et les données de connexion, ainsi que les clés DPAPI des utilisateurs » .
Cette évolution a également incité l’agence américaine de cybersécurité et de sécurité des infrastructures (CISA) à ajouter la faille à son catalogue de vulnérabilités exploitées connues (KEV), exigeant des agences fédérales qu’elles appliquent les correctifs au plus tôt afin de réduire les risques.
« Le ciblage des dispositifs de périphérie reste un vecteur d’attaque populaire pour les acteurs de la menace compétents qui ont le temps et les ressources nécessaires pour investir dans la recherche de nouvelles vulnérabilités », a déclaré Volexity.
« Il est très probable que UTA0218 soit un acteur malveillant soutenu par un État, compte tenu des ressources nécessaires pour développer et exploiter une vulnérabilité de cette nature, du type de victimes ciblées par cet acteur et des capacités affichées pour installer la porte dérobée Python et accéder aux réseaux des victimes. »