Vous avez besoin du Cloud Computing ? Commencez dès maintenant

Vaincre les web shells WSO-NG

Akamai Wave Blue

écrit par

Dennis German et Maxim Zavodchik

November 22, 2023

dennis-german

écrit par

Dennis German

Dennis German is a Security Researcher in the Apps & APIs Threat Research Group at Akamai.

Maxim Zavodchik

écrit par

Maxim Zavodchik

Maxim Zavodchik Experienced security research leader with a proven track record in establishing, growing, and defining strategic vision for Threat Research and Data Science teams in Web Application Security and API Protection. When he’s not protecting life online, you can find him being a super dad and/or watching Studio Ghibli movies.

Notre exploration approfondie des origines et des fonctionnalités avancées de WSO-NG met en évidence son potentiel de menace à l'époque actuelle, où la sensibilisation à la cybersécurité progresse.

Les administrateurs Web et les professionnels de la sécurité se méfient de plus en plus des web shells, car ces scripts malveillants permettent aux attaquants de contrôler à distance les serveurs Web compromis.

Dans cet article de blog, nous discuterons du web shell appelé WSO-NG. Cet article est le premier d'une série visant à éclairer davantage le monde des web shells.

Qu'est-ce qu'un web shell ?

Avant de découvrir WSO-NG en détail, examinons rapidement les implications des web shells. Un web shell est un script, généralement écrit dans un langage pris en charge par le Web comme PHP, ASP ou JSP, qui fournit un contrôle à distance sur un serveur compromis. Une fois le téléchargement effectué, les attaquants ont la possibilité de mener une série d'activités malveillantes, notamment le vol de données, la surveillance des serveurs et l'avancement latéral au sein du réseau.

Selon MITRE ATT&CK, le déploiement d'un web shell est une tactique utilisée par les attaquants pour s'implanter de façon durable dans le système de la victime.

Bref historique de WSO

WSO, abréviation de "web shell par oRb," est un Web shell bien établi, présent depuis au moins 14 ans. Son origine remonte à son introduction par un utilisateur nommé "oRb" sur un forum de piratage russe (Figure 1).

 Son origine remonte à son introduction par un utilisateur nommé « oRb » sur un forum de piratage russe (Figure 1). Fig. 1 : publication d'oRb dans un forum sur le piratage en 2010

WSO fournit une vaste gamme de fonctionnalités Web shell, rationalisant le processus consistant pour les pirates informatiques à collecter des informations à partir d'un serveur cible, à gérer efficacement les fichiers, à obtenir un accès non autorisé aux bases de données et à exécuter des commandes shell.

Au fil du temps, le développeur initial de WSO et ses collaborateurs n'ont cessé d'apporter des améliorations aux fonctionnalités et de corriger les bugs (Figure 2).

Au fil du temps, le développeur initial de WSO et ses collaborateurs n'ont cessé d'apporter des améliorations aux fonctionnalités et de corriger les bugs (Figure 2). Figure 2 : Une des premières versions de WSO (Source : https://github.com/mIcHyAmRaNe/wso-webshell)

En 2021, un utilisateur GitHub du nom d'"0xbadad" a révélé une itération mise à jour du shell WSO. Initialement nommé "STEP.php," il a ensuite été appelée "wso-ng.php," ce qui, selon le créateur, représentait le fait qu'il est la "nouvelle génération du célèbre Web shell WSO."

WSO-NG : la nouvelle génération

Un ennemi potentiel qui sélectionne un Web shell pour surveiller un serveur dispose d'une variété d'options puissantes, y compris China Chopper, B374K, R57, et d'autres. L'un des choix les plus remarquables est WSO et son itération avancée, WSO-NG (Figure 3). WSO-NG fournit aux cyberattaquants les outils contemporains essentiels pour naviguer dans l'environnement digital actuel soucieux de la sécurité.

L'un des choix les plus remarquables est WSO et son itération avancée, WSO-NG (Figure 3). Figure 3 : WSO-NG, la nouvelle génération de WSO (Source : https://github.com/aels/wso-ng)

Dissimulation de la page de connexion

Pour améliorer les capacités furtives de WSO-NG et limiter l'accès, le Web shell affiche une page d'erreur 404 lorsque les utilisateurs tentent d'accéder à son interface de connexion.

Cependant, sous cette illusion d'une page d'"erreur", le Web shell anticipe secrètement la saisie du mot de passe au clavier. Le formulaire de connexion caché utilise une technique CSS astucieuse de dissimulation à l'utilisateur, qui permet de le déplacer de 1 000 pixels vers la gauche. Cette manipulation situe efficacement le formulaire au-delà de la zone visible de l'écran (Figure 4).

Cette manipulation situe efficacement le formulaire au-delà de la zone visible de l'écran (Figure 4). Figure 4 : La page de connexion WSO-NG vierge comporte des fonctionnalités masquées

Recueil d'informations sur les menaces via des tiers

Après avoir obtenu l'accès via le formulaire de connexion caché, l'étape suivante de l'attaquant consistera probablement à reconnaître l'environnement compromis. WSO-NG permet à l'attaquant de recueillir des informations sur les menaces qui affectent le système, en utilisant des tactiques et des outils similaires à ceux utilisés par les organisations qui se défendent contre les cybermenaces.

WSO-NG s'intègre de manière fluide à un service d'informations sur les menaces appelé VirusTotal, qui permet d'analyser la réputation IP du serveur compromis afin de déterminer s'il a été signalé pour des activités malveillantes. Si l'attaquant envisage d'utiliser ce serveur pour d'autres attaques en ligne, cette intégration devient essentielle pour évaluer la probabilité que l'attaque soit bloquée par des cibles potentielles, en particulier si l'adresse IP est déjà répertoriée dans leurs enregistrements de déni (Figure 5).

Un autre aspect essentiel de cette fonctionnalité est qu'elle permet de découvrir si le serveur a déjà été compromis par d'autres acteurs malveillants, ce qui incitera l'attaquant à procéder avec prudence.

De plus, l'intégration de WSO-NG au service SecurityTrails aide les attaquants à identifier d'autres domaines hébergés via le serveur compromis, et permet ainsi un profilage plus poussé de la cible.

 Si l'attaquant envisage d'utiliser ce serveur pour d'autres attaques en ligne, cette intégration devient essentielle pour évaluer la probabilité que l'attaque soit bloquée par des cibles potentielles, en particulier si l'adresse IP est déjà répertoriée dans leurs enregistrements de déni (Figure 5). Figure 5 : Exemple d'informations sur les menaces sur l'adresse IP du serveur (Source : https://github.com/aels/wso-ng)

Adaptation aux environnements actuels

Alors que les environnements cloud et les technologies actuelles sont de plus en plus largement adoptés, de nouvelles méthodes de stockage et d'accès aux informations techniques cruciales et aux secrets opérationnels émergent.

L'une des caractéristiques de reconnaissance remarquables du Web shell concerne la récupération des métadonnées AWS. Il s'agit d'une méthode courante pour tenter d'acquérir des informations d'identification AWS associées à l'instance de cloud active, qui permettent de faciliter les mouvements latéraux ultérieurs dans le compte cloud.

L'une des autres fonctionnalités de reconnaissance offertes par le Web shell est la possibilité de rechercher des connexions potentielles à la base de données Redis, dans le but d'obtenir un accès plus étendu aux données d'application. Redis est une base de données clé-valeur en mémoire largement utilisée dans les applications contemporaines, en particulier dans les environnements cloud.

Une plus grande capacité de nuisance

WSO-NG est un Web shell de premier plan ; par conséquent, il est intrinsèquement doté de capacités de nuisance étendues dès le départ.

Dans l'environnement d'hébergement Web partagé typique offert par de nombreux fournisseurs d'hébergement, des précautions sont mises en œuvre pour empêcher les propriétaires de sites Web d'accéder à d'autres sites sur le même serveur et d'élever les privilèges. Les fournisseurs d'hébergement utilisent divers mécanismes, tels que la restriction de l'utilisation de fonctions PHP risquées comme l'exécution directe de commandes shell via la fonctionnalité PHP add-filter.

WSO-NG intègre une attaque spécialement conçue pour contourner ces mesures de sécurité. De plus, il exploite une attaque préexistante pour exécuter du code arbitraire dans des environnements FastCGI, une configuration répandue dans l'hébergement Web. Cela lui permet d'élever les privilèges et d'établir un ancrage au niveau "racine".

Améliorations de l'expérience utilisateur

Enfin, WSO-NG ne néglige pas les améliorations de l'expérience utilisateur, qui permettent à l'attaquant de poursuivre efficacement ses objectifs.

Le web shell introduit de nombreuses améliorations de l'interface utilisateur, y compris un nouveau panneau de navigation de fil d'Ariane, des raccourcis clavier, la coloration syntaxique, l'édition ordonnée de code PHP (Figure 6), la copie rapide dans le presse-papiers d'un simple clic, etc.

Le web shell introduit de nombreuses améliorations de l'interface utilisateur, y compris un nouveau panneau de navigation de fil d'Ariane, des raccourcis clavier, la coloration syntaxique, l'édition ordonnée de code PHP (Figure 6), la copie rapide dans le presse-papiers d'un simple clic, etc. Figure 6 : Édition soignée de code PHP

Vaincre WSO-NG

Pour déployer un Web shell sur le serveur d'une victime, une méthode d'accès initiale est nécessaire ; cette méthode implique généralement l'exploitation d'une vulnérabilité Web. Pour empêcher cet accès initial au serveur, il est conseillé aux professionnels de la sécurité de se tenir au courant des derniers correctifs. Cependant, alors que les entreprises s'efforcent d'appliquer les correctifs et les mesures de sécurité, les Web shells peuvent également être mis en échec par des pare-feux d'applications Web avancés (Web Application Firewall, ou WAF), comme App & API Protector d'Akamai.

En exploitant son Adaptive Security Engine, le WAF d'Akamai peut identifier les tentatives initiales d'exploitation des vulnérabilités Web susceptibles d'ouvrir la voie au déploiement d'un Web shell pour un accès durable. En outre, il peut détecter les tentatives effectuées par un attaquant pour télécharger un Web shell sur le serveur cible à l'aide du groupe d'attaques par injection de commandes (Figure 7).

Plus précisément, WSO-NG peut être détecté grâce à la règle Adaptive Security Engine suivante :

  • 3000171 — Webshell/Backdoor File Upload Attempt (tentative de téléchargement de fichier Webshell/Backdoor)

 Il peut détecter les tentatives effectuées par un attaquant pour télécharger un web shell sur le serveur cible à l'aide du groupe d'attaques par injection de commandes (Figure 7). Figure 7 : Détection par le moteur de sécurité adaptatif de la tentative de téléchargement de WSO-NG

Conclusion

Dans le monde dynamique des avancées digitales, les Web shells comme WSO-NG deviennent des instruments puissants lorsqu'ils sont utilisés par des adversaires. Compte tenu du large éventail de fonctionnalités que ces scripts malveillants offrent aux attaquants, ils sont devenus une préoccupation majeure pour les experts de la sécurité et les administrateurs Web. Notre exploration approfondie des origines et des fonctionnalités avancées de WSO-NG met en évidence son potentiel de menace à l'époque actuelle, où la sensibilisation à la cybersécurité progresse.

La bonne nouvelle : au fur et à mesure que la menace augmente, nos défenses font de même. App & API Protector, la solution WAF d'Akamai, apparaît comme un rempart puissant contre ces scripts insidieux, en protégeant les univers digitaux sur lesquels nous comptons.

Nous pouvons contrer les menaces posées par les Web shells avancés en mettant à jour les correctifs de manière cohérente, en exploitant des outils de sécurité innovants tels qu'App & API Protector, en maintenant une position de sécurité proactive, et en assurant un environnement Web plus sécurisé pour tous les utilisateurs.



Akamai Wave Blue

écrit par

Dennis German et Maxim Zavodchik

November 22, 2023

dennis-german

écrit par

Dennis German

Dennis German is a Security Researcher in the Apps & APIs Threat Research Group at Akamai.

Maxim Zavodchik

écrit par

Maxim Zavodchik

Maxim Zavodchik Experienced security research leader with a proven track record in establishing, growing, and defining strategic vision for Threat Research and Data Science teams in Web Application Security and API Protection. When he’s not protecting life online, you can find him being a super dad and/or watching Studio Ghibli movies.