超全面的Linux应急响应技巧

linux环境下处理应急响应事件往往会更加的棘手 , 因为相比于windows , Linux没有像Autorun、procexp这样的应急响应利器 , 也没有统一的应急响应处理流程 。所以 , 这篇文章将会对Linux环境下的应急响应流程进行讲解 , 并且提供每一个环节中所用到的shell命令 , 以帮助大家快速、系统化地处理Linux环境下的病毒 。作者:深信服千里目安全实验室;来源:freebuf.com

超全面的Linux应急响应技巧

文章插图
 
处理Linux应急响应主要分为这4个环节:识别现象-> 清除病毒-> 闭环兜底-> 系统加固 。
首先从用户场景的主机异常现象出发 , 先识别出病毒的可疑现象 。
然后定位到具体的病毒进程以及病毒文件 , 进行清除 。
完成前2步还不够 , 病毒一般会通过一些自启动项及守护程序进行重复感染 , 所以我们要执行闭环兜底确保病毒不再被创建 。
将主机上的病毒项清除干净后 , 最后就是进行系统加固了 , 防止病毒从Web再次入侵进来 。
走完这4个环节 , 才能算是一个应急响应流程的结束 。
超全面的Linux应急响应技巧

文章插图
 
识别现象
第1个环节要求我们通过系统运行状态、安全设备告警 , 发现主机异常现象 , 以及确认病毒的可疑行为 。
系统CPU是否异常
枚举进程 , CPU降序排序:top
超全面的Linux应急响应技巧

文章插图
 
CPU占用率超过70%且名字比较可疑的进程 , 大概率就是挖矿病毒了 。
超全面的Linux应急响应技巧

文章插图
 
是否存在可疑进程
枚举进程命令行:ps -aux
超全面的Linux应急响应技巧

文章插图
 
病毒一般都携带可疑的命令行 , 当你发现命令行中带有url等奇怪的字符串时 , 就要注意了 , 它很可能是个病毒downloader 。
超全面的Linux应急响应技巧

文章插图
 
安全网关有无报警
从安全网关报警中识别出威胁是最直接 , 但确认主机已经感染了病毒只是第一步 , 接下来得定位 , 具体是哪个进程在与C&C通信 。
超全面的Linux应急响应技巧

文章插图
 
监控与目标IP通信的进程:
while true; do netstat -antp | grep [ip]; done
超全面的Linux应急响应技巧

文章插图
 
有时安全网关检测到的不全是恶意IP , 还有可能是个域名 , 这种情况下 , 域名对应的IP是变化的 , 我们不能直接用上述方法进行监控 。
超全面的Linux应急响应技巧

文章插图
 
我们可以先在host文件中添加一条规则 , 将恶意域名重定向到一个随机的IP地址 , 然后对其进行监控 。
超全面的Linux应急响应技巧

文章插图
 
这样就能得到与之通信的恶意进程了 。
超全面的Linux应急响应技巧

文章插图
 
有无可疑历史命令
遍历主机历史命令 , 查找有无恶意命令:history
超全面的Linux应急响应技巧

文章插图
 
清除病毒
从第1个环节追溯到的进程信息 , 将会帮助我们定位到病毒进程&病毒文件 , 实现清除 。
结束病毒进程
清除可疑进程的进程链:
ps -elf | grep [pid] kill -9 [pid]
超全面的Linux应急响应技巧

文章插图
 
删除病毒文件
定位病毒进程对应的文件路径:
ls -al /proc/[pid]/exe rm -f [exe_path]
超全面的Linux应急响应技巧

文章插图
 
闭环兜底
Linux下的病毒持久化驻留方式相比于Windows较少 , 主要以下4种方式 。
检查是否存在可疑定时任务
枚举定时任务:crontab-l
超全面的Linux应急响应技巧


推荐阅读