Reverse shell (shell inversé)
shell inversé · connexion inverse · connect-back · bind shell
Accès à distance où la machine compromise appelle elle-même l’attaquant, ce qui lui permet de franchir les pare-feux qui bloquent les connexions entrantes.
En pratique
Beaucoup de pare-feux filtrent ce qui entre mais laissent sortir presque tout. Après avoir exploité une faille, l’attaquant fait donc ouvrir par le serveur une connexion sortante vers une machine qu’il contrôle, souvent sur un port banal comme celui du web, et obtient une ligne de commande à distance. Le « bind shell », moins courant, fait l’inverse : il ouvre une porte en écoute sur la victime. Dans les deux cas, une faille ponctuelle devient un contrôle durable.
Cas fictif : une faille d’exécution de code dans un formulaire d’envoi de fichiers permet à un attaquant de faire ouvrir une connexion sortante par le serveur web. Le pare-feu, réglé pour tout laisser sortir, la laisse passer. Une règle simple, « un serveur web ne contacte pas Internet de lui-même », aurait bloqué l’attaque.
Comment s’en protéger
- Filtrer les flux sortants : un serveur ne doit joindre que les destinations dont il a besoin (mises à jour, API connues).
- Faire passer la navigation sortante des postes par un proxy qui filtre et journalise.
- Déployer un EDR qui alerte quand une application web lance un interpréteur de commandes.
- Corriger les failles d’exécution de code à distance et durcir les applications exposées.

