前言
接到一起被挖矿的安全事件,远程应急处置,事后看此病毒今年刚开始流行,并且比较顽固,需要防范,下面详细一说。
分析
病毒程序比较复杂,仅做一个简单的分析。
涉及到几个可执行程序:
更改某些文件权限、下载病毒相关文件、端口扫描等
adxintrin_b 清空系统日志、history指向/dev/null、端口转发、邮件转发、自更新、免密登录、sshd劫持、注册系统服务、自动生成计划任务、杀软检测/删除等等
crtres_c 生成计划任务
xbash 挖矿程序
0anacron 写入小时性计划任务
二进制恶意程序
libgcc_a libgcc_a.tag.gz 可执行程序及一堆可执行程序的压缩包
crtend_b 注册的系统服务
xinetd 注册的系统服务,操作系统正常守护进程被恶意使用
下面是其部分功能:
更改dns
端口扫描
文件下载
libgcc_a.tag.gz压缩包
写入免密登录公钥
被清空的日志及不再记录日志、不再记录历史命令
端口转发系列
杀软检测
过程
开始只知道是中了挖矿病毒,没有其他信息,只能先从进程上找找异常,看了几遍,发现其中几个比较可疑的,最终定位到一个异常进程
分析文件找到几个目录、可执行程序
通过脚本上下文定位,确定部分详细的可执行文件位置和目录下的恶意文件位置
/root/gcclib
/usr/lib/local/fkit.so
/usr/lib/local/skit.so
/usr/lib/local/sshkit.so
/usr/lib/local/sshpkit.so
/usr/lib/local/fkitarm.so
/usr/lib/local/skitarm.so
/usr/lib/local/pkitarm.so
/usr/lib/local/sshkitarm.so
/usr/lib/local/sshpkitarm.so
/usr/spirit/
/usr/adxintrin_b
在多个可执行文件中搜索cron,找到了一个计划任务生成的可执行文件,在/etc/目录下的计划任务文件中找,根据时间看,又找到了另一个计划任务文件,是将/etc/cron.daily/xbash写入到了每小时的计划任务中
etc/cron.daily/xbash
/etc/cron.hourly/0anacron
通过crontab -l 查看,没再看到计划任务,以为没有了,但后来通过其他方法继续查看,依然在系统中存在计划任务 emo
crontab -e 编辑计划任务文件
或者
/var/spool/cron/ 目录下,查看多个用户下的计划任务
而看到的crtend_b,写的是服务名,一直没找到在哪,没想到竟然是系统服务,通过如下命令,确认存在
systemctl status crtend_b
曾在进程中看到的xinetd,一直以为是正常进程,但直到发现xinetd也是下载的恶意文件中的一员(上面打包的命令中),才知道是被拿来当端口转发用的
一时没看到,后来发现,这个东西也注册了系统服务
至此,病毒相关的主要恶意程序、启动方式、维护方式基本上都知晓了,通过脚本中提供的恶意文件、目录等信息以及通过find命令搜索,要尽可能的收集全相关恶意文件的具体位置。
虽然写的不复杂,但中间也是比较坎坷,走了不少弯路,学习之路永无止境。
解决方案
-
删除恶意程序/进程/服务
1.停系统服务、卸载系统服务、删除系统服务文件、重新加载系统服务
2.删除收集到的恶意程序
3.卸载恶意安装的xinetd程序包
4.删除计划任务、删除恶意计划任务文件
5.删除相关生成的附带文件
以下命令建议运行两遍,确保恶意程序删除彻底(建议运行前检查以下命令,以免误修改、删除文件)
systemctl status crtend_b
systemctl stop crtend_b
systemctl disable crtend_b
systemctl status xinetd.service
systemctl stop xinetd.service
systemctl disable xinetd.service
rm -fr /etc/systemd/system/crtend_b.service
rm -fr /etc/systemd/system/multi-user.target.wants/xinetd.service
rm -fr /usr/lib/systemd/system/xinetd.service
systemctl daemon-reload
systemctl reset-failed
chkconfig xinetd off
rm -fr /etc/cron.daily/xbash
rm -fr /etc/cron.hourly/0anacron
rm -fr /usr/spirit/
rm -fr /var/run/xinetd.pid
rm -fr /etc/xinetd.d/smtp_forward
rm -fr /etc/xinetd.d/timesync
rm -fr /usr/adxintrin_b
rm -fr /root/gcclib
rm -fr usr/local/lib/pkit.so
rm -fr usr/local/lib/fkit.so
rm -fr usr/local/lib/skit.so
rm -fr usr/local/lib/sshkit.so
rm -fr usr/local/lib/sshpkit.so
rm -fr usr/local/lib/fkitarm.so
rm -fr usr/local/lib/skitarm.so
rm -fr usr/local/lib/pkitarm.so
rm -fr usr/local/lib/sshkitarm.so
rm -fr usr/local/lib/sshpkitarm.so
rm -fr /etc/ld.so.preload
rm -fr /var/spool/anacron/cron.daily
rpm -e xinetd-2.3.15-13.el7.x86_64
rpm -e xinetd-2.3.14-40.el6.x86_64
rpm -e xinetd-2.3.15-14.el7.aarch64
rm -fr /etc/xinetd.d/https_stream
rm -fr /etc/xbash/
rm -fr /etc/xinetd.d/http_stream
rm -fr /etc/alternatives/libgcc_a
rm -fr /etc/alternatives/gcclib
rm -fr /etc/alternatives/ip.txt
rm -fr /etc/alternatives/.xfit/ip.txt
rm -fr /etc/alternatives/.warmup/ip.txt
rm -fr /var/lib/libgcc_a.tar.gz
rm -fr 'systemctl list-unit-files | grep sshd'
sed -i '/crtres_c/d' /var/spool/cron/root
sed -i '/spirit/d' /var/spool/cron/root
sed -i '/adxintrin_b/d' /var/spool/cron/root
rm -fr /var/spool/cron/anacron
rm -fr /etc/init.d/modules
rm -fr /etc/init.d/status
rm -fr /usr/lib/local/
rm -fr /var/spirit
2.杀正在运行的进程
查杀依然还在运行的恶意进程,查看运行结果确保已清除干净。
查看相关恶意进程
ps -axu | grep sendmail
ps -axu | grep spirit
ps -axu | grep adxintrin_b
ps -axu | grep cron.daily
ps -axu | grep cron.hourly
ps -axu | grep xinetd
杀掉恶意进程
kill -9 id
3.删除免密登录公钥
将生成的恶意免密登录公钥删除
4.修改登录密码
修改登录密码
最后,也可以将被修改的history、日志等系统功能恢复正常。
结语
人在单位坐,病毒天上来,无辜的我们被有意的获利者破门而入,损害我们的权益,在这个技术大爆发的新时代,还是更要加强防护。
原文始发于微信公众号(Wings安全团队):一次挖坑病毒应急响应
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论