phpStudy 后门漏洞检测分析与漏洞复现


前言:

phpStudy 是国内一款免费的 PHP 调试环境的工具包,并且集成了 Apache、Nginx、MySQL、PHPMyadmin等不同版本软件于一身,也是一款搭建网站的强大工具。在2019年9月20日,网上爆出 phpStudy 软件存在“后门”,作者随后也发布一系列声明,并不是原作者制作后门,而是在2018年的时候,phpStudy 官网被黑客入侵,然后导致黑客在网站放上了存在恶意代码的版本,并且在各大下载网站进行传播,由此导致一系列风波。刚好最近遇到了一个 phpStudy 搭建的站,所以前来复现一下。

影响版本:

phpStudy 2016版 php-5.4
phpStudy 2018版 php-5.2.17
phpStudy 2018版 php-5.4.45

后门分析:

通过网上大佬二进制逆向分析,这里是腾讯御见威胁情报中心于1月份发布的威胁情报后门代码存在于受影响的 PHP 版本的 /etc/php_xmlrpc.dll 模块中,使用 Notepad++ 打开搜索 @eval 就可以发现存在 @eval(%s(‘%s’)) 则说明是存在后门漏洞的,如下图:

漏洞复现:

启动 phpStudy 选择存在后门的 PHP 环境,比如我这里选择 php-5.2.17 版本,如下图,任选其一即可:

接下来使用 Burp 抓包,需要注意的是这里的 Accept-Encoding 中的 deflate 参数值前面有一个**空格****一定要去掉!**然后在下面新增一行,写上如下:

Accept-Charset: cGhwaW5mbygpOw==

成功返回了 phpinfo 页面。
**cGhwaW5mbygpOw==** 其实是 base64 编码过的 **phpinfo();** 代码,也就是我们要把想要执行的代码放在 Accept-Charset 中,然后使用 base64 编码一下即可,比如我还想要执行 net user 命令,那么这个在 PHP 中代码是 **echo system("net user");** 经过 base64 编码之后便是如下:

Accept-Charset: ZWNobyBzeXN0ZW0oIm5ldCB1c2VyIik7

可以看出成功执行了命令

思考:

今天复现这个漏洞的目的呢不仅仅是简单的复现一下,主要是发现现在黑客攻击已经进入到了供应链的上流了,这些后门漏洞更是让人防不胜防,更加需要我们的警惕。但是这个攻击手法确实很新颖,值得我们学习,我们以后安装后门程序也可以学习这样,写入 dll 文件,然后来进行调用。足够隐蔽,很难发现。

附件:

phpStudy 存在漏洞版本软件:https://www.lanzous.com/i70smna
PHPStoryBackDoor后门检测与利用工具:https://github.com/Writeup001/phpStudyBackDoor

参考文章:

PhpStudy2018后门漏洞预警及漏洞复现&检测和执行POC脚本
phpStudy远程RCE漏洞复现以及沦陷主机入侵溯源分析


文章作者: Writeup
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Writeup !
 上一篇
OSI七层网络模型和TCP/IP四层网络协议详解 OSI七层网络模型和TCP/IP四层网络协议详解
一、简介首先我们要了解,TCP/IP 协议其实是 OSI 七层网络模型的简化版,因为 OSI 七层网络模型太过于复杂,并且只是一个参考模型,并不是强制标准模型,所以在此基础上产生了简洁版的 TCP/IP 协议,TCP/IP 协议简化到了四层
2020-10-08
下一篇 
正向Shell和反向Shell 正向Shell和反向Shell
简介一般在获取 Shell 时分为两种,一种是正向 Shell,另一种是反向 Shell。这两种获取 Shell 的方式在渗透测试过程中都是有可能使用到的,简单来区分一下正向 Shell 和反向 Shell 的区别。如果使用客户端(攻击方)
2020-10-08
  目录