北京时间9月20日,杭州公安发布《杭州警方通报打击涉网违法犯罪暨‘净网2019’专项行动战果》一文,文章曝光了国内知名PHP调试环境程序集成包“PhpStudy软件”遭到黑客篡改并植入“后门”。截至案发,近百万PHP用户中超过67万用户已被黑客控制,并大肆盗取账号密码、聊天记录、设备码类等敏感数据多达10万多组,非法牟利600多万元。

面对如此性质恶劣的网络攻击事件,360安全大脑已独家完成了针对“PhpStudy后门”的修复支持,能够有效清除和修复该植入“后门”,第一时间守护用户的个人数据及财产安全,建议广大用户尽快前往https://dl.360safe.com/instbeta.exe下载安装最新版360安全卫士进行修复!

案情破获:自2016年开始潜伏,累计67万电脑沦为“肉鸡”

PhpStudy软件对于国内众多开发者而言,并不陌生。它是一款免费的PHP调试环境的程序集成包,集成了最新的Apache、PHP、MySQL、phpMyAdmin、ZendOptimizer多款软件一次性安装,无需配置即可直接使用,具有PHP环境调试和PHP开发功能。因为免费公益、简易方便,现已发展到一定的规模,有着近百万PHP语言学习者、开发者用户。

然而,如此绿色无公害的“国民”开发软件遭到了黑客的毒手,并且犯罪动机竟然出自黑客的技痒和虚荣心。据杭州公安披露,黑客组织早在2016年就编写了“后门”文件,并非法侵入了PhpStudy的官网,篡改了软件安装包植入“后门”。而该“后门”具有控制计算机的功能,可以远程控制下载运行脚本实现用户个人信息收集。

从2016年起,黑客利用该“后门”犯罪作恶一发不可收拾,大量中招的电脑沦为“肉鸡”执行危险命令,不计其数的用户账号密码、电脑数据、敏感信息被远程抓取和回传。据统计,黑客已控制了超过67万台电脑,非法获取账号密码类、聊天数据类、设备码类等数据10万余组,而此案也是2019年以来,国内影响最为严重的供应链攻击事件。

雷霆行动:“后门”涉及多个版本,360安全大脑国内率先支持修复!

值得注意的是,经360安全大脑的监测发现,被篡改的软件版本并不单单是官方通告的PhpStudy2016版本中的Php5.4版本,而是在PhpStudy 2016版和2018版两个版本中均同时被发现有“后门”文件的存在,并且影响部分使用PhpStudy搭建的Php5.2、Php5.3和Php5.4环境。虽然目前官方软件介绍页面中的下载链接已经失效,但在官网历史版本中仍能下载到。除了官网外,一些下载站提供的相同版本的PhpStudy也同样“不干净”。

360安全大脑的进一步深度溯源,确认绝大多数后门位于PhpStudy目录下的“php\php-5.4.45\ext\php_xmlrpc.dll”文件和“\php\php-5.2.17\ext\php_xmlrpc.dll”文件中,不过也有部分通过第三方下载站下载的PhpStudy后门位于“\php53\ext\php_xmlrpc.dll”文件中。通过查看字符串可以发现文件中出现了可疑的“eval”字符串。

(php_xmlrpc.dll文件中可疑的“eval”字符串)

“eval”字符串所在的这段代码通过PHP函数gzuncompress解压位于偏移0xd028到0xd66c处的shellcode并执行。

(解压shellcode并执行)

(部分shellcode)

经过解压之后的shellcode如下图所示,shellcode中经过base64编码的内容即为最终的后门。

(解压后的shellcode)

最终的后门请求C&C地址360se.net,执行由C&C返回的内容,目前该地址已无法正常连接。

(后门代码示意图)

虽然在杭州网警专案组的行动下,已经分别在海南、四川、重庆、广东分别将马某、杨某、谭某、周某某等7名犯罪嫌疑人缉拿,不过经360安全大脑的关联分析,目前网络中仍然有超过1700个存在“后门”的php_xmlrpc.dll文件。

这些通过修改常用软件底层源代码,秘密添加的“后门”,可以在用户无感知的状态下,非法获取用户隐私数据,严重侵害了人民群众的合法权益,甚至危害国家安全。而360安全大脑通过多种技术手段防御,可以第一时间感知此类恶意文件的态势进程,并独家推出了修复方案。同时,360安全大脑特别建议:

1. 前往https://dl.360safe.com/instbeta.exe,尽快下载安装最新版360安全卫士,能有效清除并修复PhpStudy安装目录下的“后门”文件,全面保护个人信息及财产安全;

2. 请及时修改服务器密码,其他使用相同注册邮箱和密码的网络帐户也应该一并修改,消除风险;

3. 不要随意下载,接收和运行不明来源的文件,尽量到PhpStudy官网https://www.xp.cn/下载最新版PhpStudy安装包进行更新,以防中招。

附录:部分IOCs

被篡改的php_xmlrpc.dll:

c339482fd2b233fb0a555b629c0ea5d5

0f7ad38e7a9857523dfbce4bce43a9e9

8c9e30239ec3784bb26e58e8f4211ed0

e252e32a8873aabf33731e8eb90c08df

9916dc74b4e9eb076fa5fcf96e3b8a9c

f3bc871d021a5b29ecc7ec813ecec244

9756003495e3bb190bd4a8cde2c31f2e

d7444e467cb6dc287c791c0728708bfd

2018版PhpStudy安装程序

md5: fc44101432b8c3a5140fcb18284d2797

2016版PhpStudy安装程序

md5: a63ab7adb020a76f34b053db310be2e9

md5:0d3c20d8789347a04640d440abe0729d

URL:

hxxp://public.xp.cn/upgrades/PhpStudy20180211.zip

hxxps://www.xp.cn/phpstudy/phpStudy20161103.zip

hxxps://www.xp.cn/phpstudy/PhpStudy20180211.zip

CC:

www.360se.net:20123

www.360se.net:40125

www.360se.net:8080

www.360se.net:80

www.360se.net:53

bbs.360se.net:20123

bbs.360se.net:40125

bbs.360se.net:8080

bbs.360se.net:80

bbs.360se.net:53

cms.360se.net:20123

cms.360se.net:40125

cms.360se.net:8080

cms.360se.net:80

cms.360se.net:53

down.360se.net:20123

down.360se.net:40125

down.360se.net:8080

down.360se.net:80

down.360se.net:53

up.360se.net:20123

up.360se.net:40125

up.360se.net:8080

up.360se.net:80

up.360se.net:53

file.360se.net:20123

file.360se.net:40125

file.360se.net:8080

file.360se.net:80

file.360se.net:53

ftp.360se.net:20123

ftp.360se.net:40125

ftp.360se.net:8080

ftp.360se.net:80

ftp.360se.net:53

数十万PhpStudy用户被植入后门,快来检测你是否已沦为“肉鸡”!的更多相关文章

  1. 系统清理工具CCleaner被植入后门

    概述 2017年9月18日,有情报披露,著名的系统优化工具CCleaner的某个版本被发现植入后门,大量使用该工具的用户恐将面临泄密风险.这是继Xshell后门事件后,又一起严重的软件供应链来源攻击事 ...

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

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

  3. 借助Docker单机秒开数十万TCP连接

    熟悉网络编程的都清楚系统只有65535个端口可用,1024以下的端口为系统保留,所以除去系统保留端口后可用的只有65411个端口,而一个TCP连接由TCP四元组(源IP.源端口.TCP.目标IP.目标 ...

  4. 向PE文件植入后门代码技术讨论

    写在前面的话 这篇文章将介绍使用codecaves对PE文件植入后门代码.有几个很好的工具可以帮到你了.比如BackdoorFactory和Shelter将完成相同的工作,甚至绕过一些静态分析几个防病 ...

  5. php实现合并两个排序的链表(很多情况下新建数组装东西比连东西逻辑快很多)($cur=$cur->next;的理解)

    php实现合并两个排序的链表(很多情况下新建数组装东西比连东西逻辑快很多)($cur=$cur->next;的理解) 一.总结 $cur=$cur->next;这句话需要好好理解 指$cu ...

  6. 用户、组或角色 '' 在当前数据库中已存在。 (Microsoft SQL Server,错误: 15023)

    SQLServer2008用户组或角色'*****'在当前数据库中已存在问题的解决办法 在迁移数据库的过程中SQLServer SDE的问题 为一个数据库添加一个用户时,提示以下信息:用户.组或角色 ...

  7. python植入后门backdoor程序的方法?

    后门程序 from gevent.backdoor import BackdoorServer server = BackdoorServer((), banner="Hello from ...

  8. 计蒜客 18487.Divisions-大数的所有因子个数-Miller_Rabin+Pollard_rho-超快的(大数质因解+因子个数求解公式) (German Collegiate Programming Contest 2015 ACM-ICPC Asia Training League 暑假第一阶段第三场 F)

    这一场两个和大数有关的题目,都用到了米勒拉宾算法,有点东西,备忘一下. 题目传送门 F. Divisions 传送门 这个题是求一个数的所有因子个数,但是数据比较大,1e18,所以是大数的题目,正常的 ...

  9. 一次ssh被植入后门的经历及解决方案

    昨天发现服务器上面很多程序被挂马了,跟开发一起处理了挂马文件,今早发现游戏后台又打不开了,上服务器发现后台程序的入口文件都被删了,恢复了index.php.admin.php后才能正常访问,晚上谁也没 ...

随机推荐

  1. MySQL 之数据库初识

    一 数据库概述 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的.过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用. 数据库是长期存放在计算机内.有组 ...

  2. JDBC连接MySql例子

    1.注册MySql连接驱动 2.设置连接MySql连接字符串.用户名和密码 3.获取数据库连接 代码如下: // 加载驱动 Class.forName("com.mysql.jdbc.Dri ...

  3. JS闭包(2)

    利用闭包的特点,我们可以在封装自己的模块的时候只向外暴露我们模块中的数据,而不让其修改. 1.第一中封装的方式,新建一个myModule.js文件,这个模块的作用是对外部提供明天和后天的天气. 在my ...

  4. ubuntu修改pip的官方源为豆瓣源

    修改官方源为豆瓣源: 编辑配置文件, 如果没有, 新建一份(我这里没有): mkdir ~/.pipvim ~/.pip/pip.conf 添加内容如下: [global] index-url = h ...

  5. .net使用rabbitmq安装操作

    自己在windows安装rabbitmq时,遇到了很多坑,最恶心的就是版本不匹配的问题,所以自己写了一篇总结,本文章安装的Erlang为8.2,rabbitmq为3.5.6 1 安装rabbitmq, ...

  6. Spring boot 中发送邮件

    参考:https://blog.csdn.net/qq_39241443/article/details/81293939 添加依赖: <dependency> <groupId&g ...

  7. System.arraycopy方法解释

    数组拷贝 public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int lengt ...

  8. centos6.9下 svn 1.7.10版本 编译安装

    svn安装推荐文章: 1.    http://blog.51cto.com/myhat/786950 2.    https://blog.csdn.net/test1280/article/det ...

  9. RabbitMQ通过http API获取队列消息数量等信息

    参考 RabbitMQ提供了HTTP API手册,发现其中有获取队列情况的API.(本地的API手册地址为:http://localhost:15672/api) 所有API调用都需要做权限验证,需在 ...

  10. scrollView嵌套

    需求:底部是一个scrollView,上面放着一小块的百度地图查看view.如果用户手指放在地图查看view上,就滚动地图查看view:如果是放在底部的scrollView上滚动,那就滚动底部的scr ...