某次魔铲挖矿应急响应分析
准备工作
1.VM中Ubuntu系统: 未来防止风扇狂转,设置CPU为最低。 设置快照。
2.魔铲样本: 主要针对Linux系统,会释放很多文件。
环境准备
释放样本: 看出来有隐藏文件,go为他的运行文件。
前言
接到客户反馈,cpu占用率过高,疑似被挖矿。需要去现场分析。
分析
事后分析发现一个有意思的现象, 普通用户和root所达到的效果不一样。
普通用户清除计划任务即可解决。 root用户清除更复杂一些。 都是因为当前用户等权限问题。
普通用户
确定程序--top
查看网络连接 netstat -antp 显示pid。查看对应的程序名
查看到ip 微步查看,确定挖矿。
根据进程名查看文件位置: ps -ef |grep bash 发现存在一个.go文件在执行bash。bash文件特殊没有直接找到。
对于挖矿程序,一般都是有守护进程,或者计划任务,这里尝试kaill掉。 kall -9 pid
查看计划任务:crontab -l
清除计划任务:crontab -r
删除计划任务位置的文件。 挖矿竟然停止了。 是权限问题,相关的服务无法重启。文件也无法写入。
root用户
和普通用户的差别在于,kill掉之后重启启动的进程名会发生变化。
而且还在运行。
查看进程对应的文件。 ps-ef |gerp 进程名
在内存中查看进程。 ps: /proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用。可以使用的文件随系统配置的变化而变化. ls -la /proc/pid 发现已经被删除.(一般恶意程序都会删除自身,生成另外的服务。)
接下来,先看看计划任务。存在计划任务。清除计划任务。 查看计划任务:crontab -l 清除计划任务:crontab -r
crontab 只会清除自身,不完全。 还需要查看/etc/cron.*目录下是否含有。
发现cron.*下面同时存在。需要一起删除。 使用root发现删除不被允许。不用想是ia权限问题。 lsatter 文件名 查看ia权限 charrt -ia 文件名。去掉ia权限 然后删除。
解决ia权限后,为了更快速的进行操作。这里使用find | xargs 结合进行快速删除。 find /etc -name "pwnrig" 查看文件位置
find /etc -name "pwnrig" |xargs chattr -ia 把所有pwnrig文件ia权限去掉
find /etc -name "pwnrig" |xargs rm -rf 删除所有的pwnrig
find /etc -name "pwnrig" 重新查看一下,发现全部删除
为了确定是否全部删除,随便进去一个cron.*去查看,发现已经删除掉。
以上计划任务检查已经完成. 但是发现挖矿程序依然在运行。
猜想是否存在服务,在后台一直启动。 根据top 得到的pwnrig 去查看服务,该服务已经dead。 猜测服务名已经改变。
先解释一下: /lib/systemd/system/ (软件包安装的单元。对应的服务) /etc/systemd/system/(系统管理员安装的单元, 服务) Systemd 默认从目录/etc/systemd/system/读取配置文件。 但是,里面存放的大部分文件都是符号链接,指向目录/lib/systemd/system/,真正的配置文件存放在那个目录。
是否存在服务需要去/etc/systemd/system/去查看。 发现存在一个pwnrige.service 疑似就是挖矿程序。 不过比最开始的pwnrig 多了一个字母而已。
查看一下该服务状态为running
同时去/lib/systemd/system/去查看。也发现一个pwnrigl.server的服务。
确定挖矿程序pwnrig所有的服务或者程序都进行了原名+一个字母的格式。 使用find查看,查看到以下文件。 find / -name "pwnrig*"
同时关闭服务,发现挖矿程序停止运行。
服务关闭后,继续查看。
文件全部删除掉。 过程结束。 关于后续分析。看来一下网上也有相关的文章,这里就不赘述了。
关于魔铲的一次简单应急。