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模块的几个初始化函数都是被设置为:

而污染过的版本中“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、缓解措施

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

phpStudy隐藏后门预警的更多相关文章

  1. Phpstudy隐藏后门

    Phpstudy隐藏后门 1.事件背景 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimizer多款 ...

  2. Phpstudy被暴存在隐藏后门-检查方法

    Phpstudy被暴存在隐藏后门-检查方法 一.事件背景 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOp ...

  3. 一种奇特的DEDE隐藏后门办法

    转自:http://www.91ri.org/6462.html   一种奇特的DEDE隐藏后门办法 单位某站用的dedecms,今天被某黑阔getshell了,提交到了wooyun. 为了还原黑阔入 ...

  4. windows服务隐藏后门之克隆帐号

    windows服务隐藏后门之克隆帐号 1.CMD命令行下,建立了一个用户名为“test$”,密码为“abc123!”的简单隐藏账户,并且把该隐藏账户提升为了管理员权限. PS:CMD命令行使用&quo ...

  5. 2019关于phpstudy软件后门简单分析

    2019.9.20得知非官网的一些下载站中的phpstudy版本存在后门文件   说是官网下的就没有后门 20号出现的新闻 今天phpstudy官网21号又更新一波 不太好说这是什么操作哦 此地无银三 ...

  6. thinkphp5.1使用phpstudy隐藏index.php

    apache的重写规则如下: <IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on R ...

  7. PhpStudy2018后门漏洞预警及漏洞复现&检测和执行POC脚本

    PhpStudy2018后门漏洞预警及漏洞复现&检测和执行POC脚本 phpstudy介绍 Phpstudy是国内的一款免费的PHP调试环境的程序集成包,其通过集成Apache.PHP.MyS ...

  8. PHPStudy后门事件分析

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

  9. phpStudy后门漏洞利用复现

    phpStudy后门漏洞利用复现 一.漏洞描述 Phpstudy软件是国内的一款免费的PHP调试环境的程序集成包,通过集成Apache.PHP.MySQL.phpMyAdmin.ZendOptimiz ...

随机推荐

  1. Python 之并发编程之manager与进程池pool

    一.manager 常用的数据类型:dict list 能够实现进程之间的数据共享 进程之间如果同时修改一个数据,会导致数据冲突,因为并发的特征,导致数据更新不同步. def work(dic, lo ...

  2. C语言 1字节signed char的范围为什么是-128~127?

    参考 1. 关于 -128 ,+128,-0,+0,-1 的反码补码 | 博客园 2. 八位二进制数为什么表示范围(-128~~+127)理解 | 博客园 无符号单字节范围 无符号单字节unsigne ...

  3. 企业行业分类数据库JSON

    这篇文章主要介绍了 企业信息中选择行业类型,常用在企业注册,入驻填写企业信息等. JSON: [{"id":1001,"name":"IT服务&quo ...

  4. Python 中的类与对象 初认识

    一:类的声明 1类的关键字: 从第一天第一个项目起我们就接触过关键字,比如False True is not None return for while elif else import等等,这是语言 ...

  5. js运动框架及应用

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. 列举出给定数量的字符的所有组成情况-java实现

    老早以前刚学程序的时候碰到了这么个问题,当时没想出来,今天突然想起来了这么个问题于是写了下,也算留个纪念吧 public static String itr; public static void m ...

  7. 使用gitthub 创建项目搭建博客

    最近在学Andrew Ng 的机器学习,做了上买那个的练习题和变成作业,想着把自己做的编程作业放到GitHub,方便讨论,虽然之前注册了GitHub,但这两年整天在毕设方向的事,做的身心俱疲,再加上自 ...

  8. redhat 7.6 find 命令

    1.按名字查找 find  ./    -name  filename    //精确查找 ,./ 代表当前目录   -name 查询名称 filename具体文件名称 find  ./    -na ...

  9. 2019上海爱奇艺大数据Java实习生-面试记录

    目录 一轮 电话面试 二轮 代码笔试 三轮 技术面试 总结 附:电话面试问题点解惑 补充:面试未通过 一轮 电话面试 2019.04.28 16:21 [w]:面试官,[m]:我,下面的内容来自电话录 ...

  10. 防火墙问题 Linux系统 /etc/sysconfig/路径下无iptables文件

    虚拟机新装了一个CentOs7,然后做防火墙配置的时候找不到iptables文件,解决方法如下: 因为默认使用的是firewall作为防火墙,把他停掉装个iptable systemctl stop ...