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. @implementer,抽象类,接口

    @implementer,抽象类,接口 1.      implementer 在看twisted源码时,经常出现@implementer(IReactorFDSet) 它来自zope.interfa ...

  2. Activiti工作流学习笔记一

    Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...

  3. loadrunner 接口测试实战

    直接上代码: web_reg_save_param("Name",   //这个函数是为了获取服务器返回的值.我这个接口的返回值是这样子的 //将服务器返回的值放在Name里,Na ...

  4. windows下安装subversion

    前言: 最近在写windows版本下svn hooks(钩子)  post-commit的实现.所以会需要在windows下安装相应的subversion.经过一番查询后,决定使用VisualSVN ...

  5. 【PAT甲级】1019 General Palindromic Number (20 分)

    题意: 输入两个正整数n和b(n<=1e9,2<=b<=1e9),分别表示数字的大小和进制大小,求在b进制下n是否是一个回文串,输出“Yes”or“No”,并将数字n在b进制下打印出 ...

  6. 利用java反射调用类的的私有方法--转

    原文:http://blog.csdn.net/woshinia/article/details/11766567 1,今天和一位朋友谈到父类私有方法的调用问题,本来以为利用反射很轻松就可以实现,因为 ...

  7. 【转】ERP系统测试方法

    问题: 1.如何进行ERP系统测试用例设计? 2.ERP系统测试用例设计过程? 3.ERP系统测试用例设计的方法?    ERP系统本身是一种业务流程很复杂,单据报表众多,逻辑性很强的系统,质量保证方 ...

  8. lib文件和dll文件

    一. 简介 1.1 C++两种库文件 lib包含了函数所在的dll文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的dll提供,称为动态链接库dynamic link library. ...

  9. 139、Java内部类之使用this访问外部类属性

    01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; class ...

  10. alerm和pause

    pause函数,会让进程进入阻塞状态,收到信号时,会中断这个阻塞的系统调用 alerm(s),会设置进程闹钟,在指定的时间后,进程会收到SIG_ALERM信号,收到这个信号时,可以中断pause阻塞调 ...