Un web shell est l'un des outils les plus simples, et pourtant les plus dangereux, de la panoplie d'un attaquant. Après s'être introduit dans une application web, l'attaquant dépose un petit script dans un répertoire que le serveur web exécutera, et dès cet instant le site public sert aussi de console de commandes privée. Chaque instruction circule comme une requête web ordinaire, si bien que le serveur continue de livrer des pages aux vrais utilisateurs tout en exécutant en silence les commandes de l'attaquant. Ce mélange de persistance et de discrétion explique pourquoi les web shells apparaissent dans tant de rapports de compromission.
Comment fonctionne un web shell
Un web shell n'est que du code que le serveur accepte d'exécuter. L'attaquant a d'abord besoin d'un moyen de déposer ce code sur le disque, qui provient presque toujours d'un exploit contre l'application ou sa pile technique : un téléversement de fichiers sans restriction, une injection SQL qui écrit un fichier, un plugin vulnérable ou un logiciel serveur non corrigé. Dès que le script se trouve dans un dossier accessible depuis le web, l'attaquant visite son URL et lui transmet des commandes via des paramètres, des en-têtes ou le corps de la requête.
À partir de là, le serveur devient un point d'appui. L'attaquant peut lire des fichiers, récolter des identifiants et rebondir vers les systèmes internes, le tout pendant que le trafic ressemble à une activité web normale. Comme le script vit sur le serveur et non dans une seule session, l'accès survit aux redémarrages et même à certaines tentatives de nettoyage, ce qui fait précisément sa valeur.
Pourquoi il correspond à la technique MITRE ATT&CK T1505.003
Rattacher une intrusion réelle à T1505.003 donne aux défenseurs un langage commun. Cela permet à un SOC de comparer ses détections au renseignement sur les menaces publié, d'aligner ses indicateurs avec d'autres organisations et de raisonner sur ce que l'attaquant va probablement faire ensuite.
Cette technique devient aussi plus facile à déployer à grande échelle. Dans les données d'Anthropic, le déploiement de web shells (T1505.003) était 3 à 5 fois plus fréquent chez les acteurs à plus haut risque assistés par l'IA que dans les intrusions ordinaires, un schéma que nous examinons dans notre analyse sur comment les pirates utilisent l'IA. Quand l'outillage réduit l'effort nécessaire pour armer un point d'appui, ce point d'appui apparaît bien plus souvent.
Détecter et supprimer les web shells
La détection repose sur plusieurs signaux qui se renforcent mutuellement :
- La surveillance d'intégrité des fichiers qui signale les scripts nouveaux ou modifiés dans les répertoires de téléversement et la racine web.
- L'analyse des journaux du serveur web à la recherche d'URL inconnues, de user-agents inhabituels ou de requêtes portant des paramètres qui ressemblent à des commandes.
- La traque des menaces des traces comportementales qu'un web shell laisse dès qu'il commence à exécuter des commandes.
Le web shell perdure parce qu'il est peu coûteux à déployer et silencieux à exploiter. Les défenseurs ne gagnent pas en pourchassant des scripts isolés, mais en réduisant l'exposition qui leur permet d'atterrir et en surveillant le comportement qu'ils ne peuvent dissimuler une fois lancés.
Comment nous enseignons Web Shell
Dans notre programme de cybersécurité, vous n'apprendrez pas seulement Web Shell en théorie, vous pratiquerez avec de vrais outils dans des travaux pratiques, guidé par des professionnels du secteur qui utilisent ces concepts quotidiennement.
Couvert dans :
Module 10: Tests d'Intrusion et Hacking Éthique
360+ heures de formation experte • CompTIA Security+ inclus