处理Linux应急响应主要分为这4个环节:识别现象 > 清除病毒 > 闭环兜底 > 系统加固。
首先需要判断主机的异常现象,来识别出病毒的病毒现象。比如CPU需占用资源过高,可疑端口开放,以及与可疑IP通信等,然后定位到具体的病毒进程和文件,进行清除杀毒。
当然,如果仅仅只做到这两步,主机仍存在被感染的可能性,因为病毒一般会通过各种守护进程或者自启动项目进行重复感染,所以我们需要进行全面的系统检查,计划任务,自启动进程等,确保病毒不会被再次创建。
当我们完成了上述三个步骤后,最后就可以进行系统加固了,防止入侵者再次入侵注入病毒。
走完这4个环节,才能算是一个应急响应流程的结束。
第1个环节要求我们通过系统运行状态来发现主机异常现象,以及确认病毒的可疑行为。
检查CPU占用
top
键入P 根据CPU使用百分比大小进行升序排序。
nps aux --sort=%cpu | head -n 1 && ps aux --sort=%cpu | tail
根据CPU使用百分比大小进行降序排序,取占用最高的10个进程。
枚举检查进程命令行
CPU占用率超过70%且名字比较可疑的进程,大概率就是挖矿病毒了。
nps aux
病毒一般都携带可疑的命令行,当你发现命令行中带有url、curl、wget等奇怪的字符串时,就需要确定这个进程是否为病毒的downloader程序了。
查看端口情况
netstat -tunlp
远控病毒一般会在服务器开放一个端口供远程控制,需判断端口是否为正常业务端口。
监控与目标IP通信的进程
while true; do netstat -antp | grep [IP]; done
病毒程序一般会对入侵者所规定的IP进行数据包的传递,在进程或端口查找到可疑IP后,可通过此命令查看对其通信的相关进程。
从第1个环节追溯到的进程信息,将会帮助我们定位到病毒进程和对应的病毒文件,实现清除。
定位病毒进程对应的文件并删除
ls -al /proc/PID/exe 定位病毒进程对应文件
rm -rf exe_path 删除该文件
定位病毒进程对应的文件并删除
ls -al /proc/PID/exe 定位病毒进程对应文件
rm -rf exe_path 删除该文件
Linux下的病毒持久化驻留方式相比于Windows较少。
查看是否存在恶意驱动
lsmod 列出所有的驱动,进行自主判断
使用相关工具进行扫描检查 ,比如rkhunter、chkrootkit等
检查各个用户的计划任务配置
crontab -u USERNAME -l 列出指定用户的计划任务
查看相关的自启动服务
systemctl list-unit-files | grep enabled
列出系统所有的自启动服务
完成前三步后,我们已经基本能确保病毒不会被再次创建,剩下的我们需要对系统进行加固,来修补入侵者找到的漏洞入口。
对系统进行更新升级,及时打上漏洞补丁,并配置强口令及较为安全的防火墙策略等。