phpstudy后门植入事务安全公告

颁布功夫 2019-09-21

●事务布景


Phpstudy软件是国内的一款免费的PHP调试环境的法式集成包,通过集成Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer多款软件一次性装置,无需配置即可直接装置使用,拥有PHP环境调试和PHP开发职能,在国内有着近百万PHP说话进建者、开发者用户。


近日,荆门公安报路了一路沉大安全事务荆门警方传递进攻涉网违法犯罪暨“净网2019”专项行动战果,其中具体说了然一路供给链攻击事务。


●事务描述


2018年12月4日,西湖区公安分局网警大队接报案称,某公司发现公司内有20余台推算机被执行危险号令,疑似远程节造抓取账号密码等推算机数据回传大量敏感信息。


西湖网警立即对该案立案窥伺,并在市网警分局牵头下,组织精壮警力成立专案组迅速发展窥伺取证工作。


于2019年1月4日至5日,兵分四路,别离在海南陵水、四川成都、沉庆、广东昭通抓获马某、杨某、谭某、周某某等7名犯罪嫌疑人,现场缴获大量涉案物品,并在嫌疑人的电子设备中找到了直接的犯罪证据。据统计,截止抓获功夫,犯罪嫌疑人共犯法节造推算机67万余台,犯法获取账号密码类、谈天数据类、设备码类等数据10万余组。


据重要犯罪嫌疑人马某供述,其于2016年编写了“后门”,使用黑客伎俩犯法侵入了PhpStudy软件官网,篡改了软件装置包内容。该“后门”无法被杀毒软件扫描删除,并且隐匿于软件某职能性代码中,极难被发现。


在专案组的窥伺过程中,同时发现马某等人通过度析“盗取”的数据,得到了多个境表网站的治理后盾账号密码,并通过批改服务器数据的方式执行诳骗,犯法牟利共计600余万元。


目前,官方发公告称,被篡改的软件版本为PhpStudy2016版本中的php5.4版本,若是你是从其它下载站获取的该版本,请自行查抄并删除其中的php5.4版本。


●事务分析


被习染后门的是 /php/php-5.4.45/ext/php_xmlrpc.dll

md5:C339482FD2B233FB0A555B629C0EA5D5


宝运莱·(中国区)最新官方网站


部门分析回连代码,其中提及了回连C2


宝运莱·(中国区)最新官方网站


●检测步骤


pcheck.sh文件,运行后能够递归检测当前目录下所有dll文件中是否蕴含木马文件的特点值。


#! /bin/bash

# author: pcat@chamd5.org

# http://pcat.cc

# trojan feature

trojan=@eval

function check_dir(){

   for file in `ls $1`

   do

       f2=$1"/"$file

       if [ -d $f2 ]

       then

           check_dir $f2

       # just check dll file

       elif [ "${file##*.}"x = "dll"x ]

       then

           strings $f2 |grep -q $trojan

           if [ $? == 0 ]

           then

               echo "===" $f2 "===="

               strings $f2 |grep $trojan

           fi

       fi

   done

}

# . stand for current directory

check_dir .


windows系统,执行pcheck.py


# -*- coding:utf8 -*-

__author__='pcat@chamd5.org'

__blog__='http://pcat.cc'


import os

import string

import re


def strings(file) :

   chars = string.printable[:94]

   shortestReturnChar = 4

   regExp = '[%s]{%d,}' % (chars, shortestReturnChar)

   pattern = re.compile(regExp)

   with open(file, 'rb') as f:

       return pattern.findall(f.read())


def grep(lines,pattern):

   for line in lines:

       if pattern in line:

           yield line


def pcheck(filename):

   # trojan feature

   trojan='@eval'

   # just check dll file

   if filename.endswith('.dll'):        

       lines=strings(filename)

       try:

           grep(lines,trojan).next()

       except:

           return

       print '=== {0} ==='.format(filename)

       for line in grep(lines,trojan):

           print line

   pass


def foo():

   # . stand for current directory

   for path, dirs, files in os.walk(".", topdown=False):

       for name in files:

           pcheck(os.path.join(path, name))

       for name in dirs:

           pcheck(os.path.join(path, name))

   pass


if __name__ == '__main__':

   foo()


●建复建议


目前PhpStudy官方的最新版本中不存在尔后门,请接见官方链接更新到最新软件:

https://www.xp.cn/


●IOC


IP

133.130.101.150


域名

360se.net

bbs.360se.net

www.360se.net

up.360se.net

down.360se.net

cms.360se.net

file.360se.net

ftp.360se.net


MD5

C339482FD2B233FB0A555B629C0EA5D5

0f7ad38e7a9857523dfbce4bce43a9e9


●参考链接


http://baijiahao.m.hehaizs.com/s?id=1645182793211249695&wfr=spider&for=pc

https://mp.weixin.qq.com/s/xikzveCJqkKAu1MnMRCYPw