Un Web Shell  est un script développé le plus souvent en PHP, ASP et qui permet à un pirate d’exécuter des commandes à distance sur le serveur attaqué comme C99 ou R57.


Une fois le web shell uploadé  sur le serveur cible à partir d’une faille d’injection de fichier, le hacker peut se connecter à distance à ce serveur et gérer les fichiers, lancer des commandes, gérer le MySQL…etc. C’est comme s’il avait un SSH sous les yeux.

Alors comment savoir si un web shell tourne sur notre serveur ?

3510599595

Dans la plupart du temps, l’utilisation d’un web shell PHP laisse des traces, à plusieurs niveaux et on arrive facilement à détecter ses traces suspectes dans le fichier de log access Apache, exemple :

Mais parfois c’est très fatiguent de lire tous ces lignes du fichier log.

Heureusement qu’il existe PHP Shell Detector, un script php qui vous permet de trouver et d’identifier les web shell. Il dispose également d’une base de données de signature qui permet de les identifier .
Sa fonction principale est de scanner votre serveur à la recherche justement de ces web shells dangereux. Pour cela, il se base sur un certain nombre de critères afin de déterminer une signature pour chaque shell.

Comment utiliser PHP Shell Detector?

Pour l’utiliser, c’est simple :

  • Placez le fichier shelldetect.php sur la racine de votre site
  • Lancez le script puis entrer le login : admin et le mot de passe : protect

Après quelque minutes, le script affichera le résultat du scan et à vous de voir pour faire le ménage !

Conclusion: 

Après l’utilisation du PHP Shell Detector et d’autres outils du même genre, je peux conclure que ces scripts détectent seulement les web shell classique, il y a des techniques plus évolué pour rendre un web shell quasi indétectable par ces outils, comme l’utilisation d’un en-tête HTTP plus discret, l’utilisation du mod_rewrite, encodage en base64 et d’autres méthodes que nous allons voir dans un prochain billet.

5 Commentaires

      1. Tu peux modifier la partie authentification du fichier. Pour cela, ouvres le fichier shelldecect.php avec notepad ou bloc note et remplacer la ligne 117: if ($this->authentication != null) {

        par cette ligne: if ($this->authentication = null) {