Loading
0

phpStudy2016及2018版本隐藏后门预警

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器

1、事件背景

近日,使用广泛的PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门,安恒应急响应中心和研究院随即对国内下载站点提供下载的phpStudy安装包进行分析,确认phpStudy2016、phpStudy2018的部分版本有后门,建议使用该版本的用户立即进行安全加固处理。
2、后门分析

通过分析,后门代码存在于\\ext\\php_xmlrpc.dll模块中,至少有2个版本:

phpStudy2016和phpStudy2018自带的php-5.2.17、php-5.4.45 phpStudy20161103 php\\php-5.2.17\\ext\\php_xmlrpc.dll php\\php-5.4.45\\ext\\php_xmlrpc.dll phpStudy20180211 PHPTutorial\\php\\php-5.2.17\\ext\\php_xmlrpc.dll PHPTutorial\\php\\php-5.4.45\\ext\\php_xmlrpc.dll
分析过程: 对比官网的xmlrpc源代码可以知道,默认xmplrpc模块的几个初始化函数都是被设置为NULL:

 

而污染过的版本中“request_startup_func”函数被恶意攻击者自定义:


用户所有的请求都会经过自定义的函数“sub_100031F0”,
进一步分析函数“sub_100031F0”,当攻击者(或普通用户?)发起的HTTP数据包中包含“Accept-Encoding“字段信息时,会进入攻击者自定的流程:

 

当Accept-Encoding字段信息为“compress,gzip”时,它会触发搜集系统信息功能,如其中函数“sub_10004380”搜集网卡信息:

 

同时会执行内存php代码:

 

DUMP出PHP进一步分析:

 

解密出Base64加密字符串:

 

通过HTTP包构造工具测试发包,成功触发访问恶意“360se[.]net”域名:

 

分析发现,当Accept-Encoding字段信息为“gzip,deflate”时,它会接着判断是否设置“Accept-Charset”字段:

 

再判断是否设定的特定的“Accept-Charset”字段,在满足特定条件以后可以执行黑客给定的php命令,实现控制服务器的目的,隐蔽性非常高。
3、影响版本
 

目前测试发现phpStudy2016和phpStudy2018版本存在后门,IOC:

0f7ad38e7a9857523dfbce4bce43a9e9

c339482fd2b233fb0a555b629c0ea5d5

360se[.]net

用户可以通过搜索php_xmlrpc.dll模块中包含“@eval”关键字快速判断是否是存在后门的版本,命令参考:

findstr /m /s /c:"@eval" *.*

4、缓解措施

phpStudy启动时默认加载php-5.4.45版本的PHP,该版本存在后门,可以从PHP官网下载原始php-5.4.45版本或php-5.2.17版本,替换其中的php_xmlrpc.dll

https://windows.php.net/downloads/releases/archives/php-5.2.17-Win32-VC6-x86.zip
https://windows.php.net/downloads/releases/archives/php-5.4.45-Win32-VC9-x86.zip

技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-2-35766-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:windows安装补丁报:安装程序遇到错误:0x80070003及8024400A 错解决方法
下一篇:金山毒霸假冒卡巴斯基弹广告,浏览器也中招,流氓软件还要闹多久