一键安装藏隐患,phpStudy 批量入侵的分析与溯源

2018-10-29 7,502

一、前言

近日,腾讯安全云鼎实验室监测到大量主机被入侵并添加了一个名为“vusr_dx$”的隐藏帐号;同时,云鼎实验室还监测到此类帐号被大量创建的同时存在对应帐号异地登录的情况。

Windows 的帐号名称后带着“$”符号时,不会在 net user 命令中显示出帐号信息,是攻击者常用的一种隐藏帐号的方法,一般开发者不会添加这种类型的帐号。云鼎实验室对该事件进行跟踪分析,还原了攻击者的入侵手法、入侵后的操作。


二、入侵手法分析

通过对所有被入侵并添加“vusr_dx$”隐藏帐号的主机进行分析统计,发现大多数主机都安装了phpStudy 组件,Web 目录存在 phpinfo 和 phpMyAdmin,且 MySQL 的 root 用户有 50% 为弱口令。由此可以推断可能导致入侵的原因:

用户在自己云主机通过 phpStudy 一键部署 PHP 环境,默认情况下包含 phpinfo 及 phpMyAdmin 并且任何人都可以访问,同时安装的 MySQL 默认口令为弱口令,于是黑客通过 phpMyAdmin 使用弱口令登录 MySQL,接着利用 MySQL 的一些手段获取到系统权限。

常见利用 MySQL 获取系统权限一般有如下几个方式:

用户在自己云主机通过 phpStudy 一键部署 PHP 环境,默认情况下包含 phpinfo 及 phpMyAdmin 并且任何人都可以访问,同时安装的 MySQL 默认口令为弱口令,于是黑客通过 phpMyAdmin 使用弱口令登录 MySQL,接着利用 MySQL 的一些手段获取到系统权限。

  • 利用 SELECT "<?system("$_POST[cmd]);?>" INTO OUTFILE '/path/to/webroot' 语句、或者 general_log 向 Web 目录写入一个 Webshell。由于 phpStudy 的一些原因,其 PHP 进程执行命令后是一个非常高权限的用户(通常为管理员用户或者是 SYSTEM 权限)。

  • 利用      MySQL UDF 来进行命令执行。通常利用 UDF 来执行命令的情况有 PHP 低权限但是 MySQL 是高权限的情况,或者是PHP用 disable_functions 限制了调用系统命令执行的方式,所以利用UDF来绕过 disable_functions。


这两种手法攻击者都有可能使用,由于攻击者是大批量、持续不断的进行入侵操作,可以推断出攻击者必然是使用了脚本来进行攻击的。

1.png

图 1. 攻击者每日成功入侵的机器数量曲线

通过进一步分析调查发现,最终确认攻击者的攻击手法为利用 MySQL 弱口令登录后,修改 general_log 指向Web目录下的 sheep.php 的文件,然后利用 shell 创建帐号。下表是 general_log 中时间和帐号创建时间的对应关系,佐证了攻击者的攻击手法。

表.png


攻击者使用的SQL语句如下图所示:

2.png

图2. 攻击者使用的 SQL 语句 payload


3.png

图3. sheep.php文件内容

可见,攻击者是针对性的对于 phpStudy 进行攻击。由于 phpStudy 默认安装的 MySQL 密码为 root / root,且开启在外网 3306 端口,在未设置安全组,或者安全组为放通全端口的情况下,极易受到攻击。

攻击者在创建完帐户后,会将挖矿木马上传到路径 C:\ProgramData\Zational\Zational.exe(MD5:cb6f37e76dd233256f1c3303b4e99b1c)并运行。该文件是一个门罗币挖矿程序, Github 地址为:https://github.com/xmrig/xmrig。


4.png

图4. 挖矿进程


三、入侵溯源

黑客在创建了隐藏帐号之后会通过隐藏帐号登录并植入挖矿程序,通过腾讯云云镜捕获的“vusr_dx$”帐号异常登录行为进行来源 IP 归类统计,得到将近60个 IP 地址,包含除了来自于不同 IDC 的 IP,还有部分来自江苏盐城疑似黑客真实 IP:

5.png

图5. 部分异常登录来源IP

初步可以怀疑这批是黑客所控制肉鸡甚至可能包含有黑客真实 IP,进一步针对这些 IP 进行信息收集分析,发现 `103.214.*.*` 存在 phpMyAdmin,同时 MySQL 也存在弱口令,且攻击者在 Web 目录下留下了后门,当即猜测这是攻击者的一台跳板机。进一步分析,获得了黑客的后门帐号 vusr_dx$ 的密码:admin@6********。


进一步针对对于挖矿木马行为进行分析后,发现此木马会连接到域名为gowel.top(IP:202.168.150.44)的代理矿池,由于相关配置没有指定专用矿池用户 token 或者用户名,可以认为这是一个私有的矿池地址,同时我们发现, hxxp://gowel.top:80/ 是一个 HFS,里面有我们获取到的挖矿木马文件。


image.png

图6. 该域名80端口HFS截图


由于该域名 whois 信息是域名注册商而非黑客本身,无法通过 whois 获取注册者相关信息。

进一步通过遍历异常登录来源 IP 查询内部情报数据,最终发现一个关联 QQ 信息可能为黑客 QQ,QQ 号为12*********,通过搜索引擎搜索该 QQ 号也能证明该 QQ 号主人在进行一些可能的黑客行为:

7.png

图7. 对应QQ号搜索引擎查询结果

查询对应QQ资料:

8.png

图8. 对应QQ号资料卡


四、解决方案

针对此类攻击,通用的解决方案如下:

1. 在腾讯云控制台设置 CVM 的安全组,尽量不要选用放通全端口,而是针对性的设置需要外网访问的端口,比如 HTTP 的默认端口 80、RDP 的默认端口 3389;

2. 对于 phpStudy 这种集成环境,在安装结束后应修改 MySQL 密码为强密码,不要使用 root / root 或者 root / 123456 等弱口令;

3. 可以选择安装腾讯云云镜,云镜的主机漏洞检测功能支持支持 Windows 隐藏帐户检测、MySQL 弱口令检测等漏洞检测,同时也支持黑客植入的 Webshell 检测。

9.png

图9. 云镜对于受攻击主机的漏洞扫描报警


五、IOCs

MD5:cb6f37e76dd233256f1c3303b4e99b1c

矿池地址:hxxp://gowel.top:11588


本文作者:YDclub

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/78471.html

Tags:
评论  (0)
快来写下你的想法吧!

YDclub

文章数:82 积分: 214

我们正努力成为云上安全的技术领导者~

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号