首页
社区
课程
招聘
[原创]PHPStudy后门事件分析
发表于: 2019-9-25 18:06 1443

[原创]PHPStudy后门事件分析

2019-9-25 18:06
1443

PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门。经过分析除了有反向连接木马之外,还可以正向执行任意php代码。

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

根据@eval()这个代码执行函数定位到引用位置。@是PHP提供的错误信息屏蔽专用符号。Eval()可执行php代码,中间%s格式符为字符串传参。函数地址为:0x100031F0

图1:eval特征代码

通过F5查看代码,分析代码流程,判断条件是有全局变量且有HTTP_ACCEPT_ENCODING的时候进入内部语句。接下来有两个主要判断来做正向连接和反向连接的操作。主要有两个部分。

第一部分,正向连接:判断ACCEPT_ENCODING如果等于gzip,deflate,读取ACCEPT_CHARSE的内容做base64解密,交给zend_eval_strings()函数可以执行任意恶意代码。

构造HTTP头,把Accept-Encoding改成Accept-Encoding: gzip,deflate可以触发第一个部分。

第二部分,反向连接:判断ACCEPT_ENCODING如果等于compress,gzip,通过关键部分@eval(gzuncompress('%s'));可以看到拼接了一段恶意代码,然后调用gzuncompress方法执行解密。

构造HTTP头,把Accept-Encoding改成Accept-Encoding: compress,gzip可以触发第二部分。

图2:第1部分流程判断代码

图3:第2部分流程判断代码

这一部分有两处会执行zend_eval_strings函数代码的位置。分别是从1000D66C到1000E5C4的代码解密:

从1000D028 到1000D66C的代码解密:

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

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

图4:OD动态调试Payload

脚本一功能:使用fsockopen模拟GET发包

脚本二功能:
内置有域名表和端口表,批量遍历然后发送数据。注释如下:

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

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

图5:Payload回显验证

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

 
 
 
 
 
 
 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-9-25 18:12 被lipss编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
真快啊!mark了
2019-9-25 18:38
0
雪    币: 3935
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
昨晚poc 已经满天飞了~~
2019-9-25 20:06
0
雪    币: 4634
活跃值: (936)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
4
nqxcwl 昨晚poc 已经满天飞了~~
上周五就分析出来了,只不过有人分析出来偷偷玩,有人全网求POC。

忘了还有另外一类人,呵呵。

1、这个我很早就知道
最后于 2019-9-26 10:18 被lipss编辑 ,原因:
2019-9-26 10:04
0
雪    币: 3935
活跃值: (192)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
lipss nqxcwl 昨晚poc 已经满天飞了~~ 上周五就分析出来了,只不过有人分析出来偷偷玩,有人全网求POC。忘了还有另外一类人,呵呵。1、这个我很早就知 ...
看样子大佬撸了一大波服务器哈哈哈哈哈~~~
2019-9-26 17:44
0
游客
登录 | 注册 方可回帖
返回
//