Reverse shell
# Reverse shell

Le reverse shell (shell inversé) - appelé aussi reverse tunnel (tunnel inversé) - est une technique informatique qui permet de rediriger sur un ordinateur local l'entrée et la sortie d'un shell vers un ordinateur distant, au travers d'un service capable d'interagir entre les deux ordinateurs. L'un des avantages de cette technique est de rendre un shell local accessible depuis ce serveur distant sans être bloqué par un pare-feu.

## Description

En informatique, le shell est le moyen le plus simple d'interagir avec le système d'exploitation. Sur Microsoft Windows, selon les versions, le shell est appelé CMD.EXE ou COMMAND.COM. Sur Linux ou Unix, il existe une grande variété de shells : bash, ksh, etc. Un shell accepte des commandes tapées à partir d'une invite de commandes (l'entrée standard) et les exécute, généralement en temps réel, et affiche des résultats des traitements sur la sortie standard, généralement un écran.

Un reverse shell consiste à configurer le shell pour s'exécuter (en général en mode silencieux, sans avertir l'utilisateur de l'ordinateur) en acceptant en entrée des commandes qu'il va lui-même récupérer depuis un système distant et en redirigeant sa sortie vers ce même système ; par ce moyen, l'opérateur du système distant est en mesure d'utiliser l'ordinateur local comme s'il était présent physiquement à ses commandes.

