记一次阿里云被植入挖矿木马事件

教程大全 2026-01-08 03:40:06 浏览

一、起因

今天,同事说我负责的模块在阿里云上不工作了,我赶忙远程登录查看。

1. 服务器的症状

2. 定位分析

阿里云

病症1、3、6说明是阿里云服务器已经产生了异常。

根据病症4、5一步步梳理流程,核对日志,定位问题,最终发现,redis可以正常提供服务,但程序无法将数据刷新到redis,导致分别负责读写的两个模块数据长时间不能同步,重启redis后服务正常。但问题需要进一步分析。

二、查找木马

服务器是与别人共用的,其他的服务,我们不知道是否有用。但服务器卡顿,实在影响调试效率,搜索了一下kworkerds,才知道是个挖矿的木马程序。

查看木马进程数


kill掉所有木马进程


查看开机启动项和任务


“/etc/crontab”里的内容看起来好像是正常,但是“crontab -l”中显示的内容有些来路不明。

于是下载代码查看


限于篇幅,木马的代码就不展示在此了,大家可以自行下载查看,记住,下载的时候要把"|sh"去掉,当心玩火自焚。

三、分析木马

木马脚本写得还是不错的,风格整齐,逻辑严谨。出色地完成了以下功能:

木马中同时用了shell和python两种脚本,脚本逐层嵌套,对于一些敏感的代码,使用了base64进行加密,针对不同的系统平台有不同的处理,同时锁定了自己修改的文件,防止被别的程序随意修改,提供远程服务的IP地址来自非洲东部的塞舌尔共和国。

四、木马是如何传播的

1. 传播方式

木马传播方式有三种,如下:

2. 传播思路

木马感染的步骤如下:


远程脚本执行时,会重新修改定时任务等文件,保证可以持续感染主机,同时也隐藏了第一次感染的痕迹。之后每个定时周期到来时,都会重复4、5两个步骤。

3. 排查漏洞

服务器中没有activeMQ,没有.ssh文件夹。小编也根据代码流程,感染了一下自己的redis,但是并没有达到预期的结果。

本人用的redis文件保存的时候是二进制的,不是字符串,根本无法被定时任务执行,但是修改感染脚本,可以完成黑客设置的既定思路。

另外一个代码变动的证据就是netstat命令的二进制文件遭到篡改,这显然是为了应对运维人员排查异常网络连接而设计的,但本次检查木马代码时,并没有发现与netstat命令有关的操作。

五、清理木马

清理过程分两步:删除木马文件和修补当前漏洞。

1. 删除木马文件

根据木马的代码,写了清理脚本,如下:


脚本仅供大家参考,在执行之前还是要对照一下具体的环境。

除此之外,还需要排查一下系统中是否有异常用户,异常的服务和异常的监听端口。毕竟服务器被入侵过,绝不能等闲视之。

2. 修补漏洞

以redis为例,修补漏洞有很多种方法:

关于这个问题,阿里云也有详细的安全加固方案:

编者的话

黑客一词听起来感觉酷酷的,因为世界上确有一批崇尚用技术实现“开放、自由、真实、平等、美好生活”的人,他们离经叛道,闪闪发光。然而,通常情况下非法获取利益的黑客仅仅是一个小偷而已,喜欢的是不劳而获,而不是技术本身,技术水平也只能是一般。

希望大家从技术交流,防范风险的角度看待文中提供的木马资料,不要走上违法犯罪的道路。从另一个角度讲,信息安全无小事,文中的木马仅仅是挖矿,事实上,该漏洞足以让黑客在你的服务器上做任何事,大家万万不可掉以轻心。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐