phpStudy后门代码执行漏洞分析
2022-10-4 14:14:0 Author: 白帽子(查看原文) 阅读量:29 收藏

2019.9.20日有团队爆出非官网的一些下载站中的phpstudy版本存在后门文件,疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门。经过分析除了有反向连接木马之外,还可以正向执行任意php代码。

Phpstudy 2016

php\php-5.2.17\ext\php_xmlrpc.dll

php\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.dll

PHPTutorial\php\php-5.4.45\ext\php_xmlrpc.dll

使用notepad++打开对应的dll文件,搜索@eval,可查看到相关字符串。


使用IDA找到可以字符串,双击再按x找到交叉引用的位置。

//v42为缓冲区等于@eval(gzuncompress(‘,27h,’v42′,27h,’)); 实际是实现字符串拼接功能
通过找eval关键词可发现多处存在,第一处spprintf(&v42, 0, aSEvalSS, v36,aGzuncompress, v42);第二处spprintf(&v41, 0, aEvalSS, aGzuncompress,v41);
恶意代码存在变量v41、v42里,在此处往上回溯该变量,发现对该变量进行了处理。
1.从1000D028 到1000D66C的代码解密:

解密后的脚本

2.1000D66C到1000E5C4的代码解密

解密后的脚本

鉴于C2服务器已经失活,看不懂效果,但有一个远程代码执行的功能可以演示,来源于zend_eval_string(v40, 0, &byte_10012884, a3);// 后门代码执行。

运行带有漏洞的版本的phpstudy

构造如下exp

system(“net user”);经base64编码后为c3lzdGVtKCJuZXQgdXNlciIpOw==,直接构造该请求,需要两个换行,不然会一直处于等待的状态,没有响应。依据逻辑还需要注意的是Accept-Encoding字段值必须为gzip,deflate,才能去判断是否存在Accept-Charset字段,接着取该字段的值,base64解码后执行,造成了远程代码执行,执行了system(“net user”);

执行后成功显示了net user命令的结果。

https://www.freebuf.com/articles/others-articles/215406.html

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

E

N

D

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,团队致力于分享高质量原创文章、开源安全工具、交流安全技术,研究方向覆盖网络攻防、系统安全、Web安全、移动终端、安全开发、物联网/工控安全/AI安全等多个领域。

团队作为“省级等保关键技术实验室”先后与哈工大、齐鲁银行、聊城大学、交通学院等多个高校名企建立联合技术实验室,近三年来在网络安全技术方面开展研发项目60余项,获得各类自主知识产权30余项,省市级科技项目立项20余项,研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。对安全感兴趣的小伙伴可以加入或关注我们。

我知道你在看


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMDQwNTE5MA==&mid=2650246381&idx=2&sn=756961c8863e0f7f221b7bcf0d25af5b&chksm=82ea5744b59dde52af3540f5153a154c123faad721ea7a13f813f2f4e5a419d8c1acad5c8f6b#rd
如有侵权请联系:admin#unsafe.sh