标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2312] 作者: Taber 发表于: [2019-03-06]
本文共 [465] 位读者顶过
基于上面的脚本和ELF样本分析可以发现整体入侵和感染流程大概为: 1. 通过Redis未授权访问漏洞入侵机器并修改crontab任务;或者通过遍历known_hosts中的连接历史进行横向扩展; 2. crontab任务执行bash脚本,进行相关清理和下载执行恶意程序watchdogs并横向扩展: a) 覆写crontab任务; b) 清理其他恶意程序; c) 解锁删除相关系统文件; d) 下载执行watchdogs; e) 横向扫描其他机器; f) 清理相关文件和痕迹。 3. watchdogs执行实现写开机启动、服务项并释放动态链接库实现隐藏,同时释放执行挖矿程序: a) 获取进程ID写/tmp/.lsdpid; b) 将/tmp目录下的watchdogs复制到/usr/sbin/目录并加入开机启动项和服务项; c) 释放libioset.so并写入/etc/ld.so.preload实现进程等隐藏; d) 访问ident.me获取机器外网IP; e) 再次覆写crontab任务; f) 释放挖矿程序ksoftirqds和配置文件config.json并执行; g) 删除相关生成的文件并检查更新。 最终完成了一个漏洞利用到植入挖矿程序,同时隐藏和横向感染的过程。 而相对与过去我们分析过的隐藏进程的挖矿病毒,在该病毒释放的动态链接库中同步对unlink函数进行了过滤,过滤名称同时包含ld.so.preload和libioset.so,而同时由于删除、查看等系统命令函数也受过滤影响,就导致通过常规自带的方法无法直接删除libioset.so或者修改ld.so.preload解除恶意进程的隐藏,只能通过busybox 来实现对这些文件的删除清理。 在我们将/usr/local/lib/libioset.so文件清理后,就可以通过top命令看到执行的挖矿进程。
通过捕获的钱包地址查看黑客收益:
(数据来源:f2pool) 该钱包总收益约为56.5门罗币,约合1.9万人民币,过去24小时内收益1.3门罗币,当前算力约为430KH/S。
修复建议和清理方法修复建议Redis未授权访问: 1、为 Redis 添加密码验证(重启Redis才能生效); 2、禁止外网访问 Redis(重启Redis才能生效); 3、以低权限运行Redis服务(重启Redis才能生效) 详细操作请参考:http://bbs.qcloud.com/thread-30706-1-1.html。 内网感染: 1、建议不要将连接机器的私钥直接放在服务器上,如有必要建议添加密码; 2、建议通过有限的机器作为跳板机实现对其他内网机器的访问,避免所有机器的随意互联互通,跳板机不要部署相关可能存在风险的服务和业务。 挖矿木马清理方法1、删除恶意动态链接库/usr/local/lib/libioset.so; 2、排查清理/etc/ld.so.preload中是否加载1中的恶意动态链接库; 3、清理crontab异常项,删除恶意任务(无法修改则先执行5-a); 4、kill 挖矿进程; 5、排查清理可能残留的恶意文件: a) chattr -i /usr/sbin/watchdogs /etc/init.d/watchdogs /var/spool/cron/root /etc/cron.d/root; b) chkconfig watchdogs off; c) rm -f /usr/sbin/watchdogs /etc/init.d/watchdogs。 6、相关系统命令可能被病毒删除,可通过包管理器重新安装或者其他机器拷贝恢复; 7、由于文件只读且相关命令被hook,需要安装busybox通过busybox rm命令删除; 8、部分操作需要重启机器生效。 |