【SPOTO思博网络】【网工入门基础】运维基础《Linux应急响应》
Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun、procexp这样的应急响应利器,也没有统一的应急响应处理流程。
所以,这篇文章将会对Linux环境下的应急响应流程进行讲解,并且提供每一个环节中所用到的shell命令,以帮助大家快速、系统化地处理Linux环境下的病毒。
处理Linux应急响应主要分为这4个环节:识别现象-> 清除病毒-> 闭环兜底-> 系统加固。
首先从用户场景的主机异常现象出发,先识别出病毒的可疑现象。 然后定位到具体的病毒进程以及病毒文件,进行清除。
完成前2步还不够,病毒一般会通过一些自启动项及守护程序进行重复感染,所以我们要执行闭环兜底确保病毒不再被创建。
将主机上的病毒项清除干净后,最后就是进行系统加固了,防止病毒从Web再次入侵进来。
走完这4个环节,才能算是一个应急响应流程的结束。
识别现象
第1个环节要求我们通过系统运行状态、安全设备告警,发现主机异常现象,以及确认病毒的可疑行为。
系统CPU是否异常
枚举进程,CPU降序排序:top
CPU占用率超过70%且名字比较可疑的进程,大概率就是挖矿病毒了。
是否存在可疑进程
枚举进程命令行:ps -aux
病毒一般都携带可疑的命令行,当你发现命令行中带有url等奇怪的字符串时,就要注意了,它很可能是个病毒downloader。
安全网关有无报警
从安全网关报警中识别出威胁是最直接,但确认主机已经感染了病毒只是第一步,接下来得定位,具体是哪个进程在与C&C通信。
监控与目标IP通信的进程: while true; do netstat -antp | grep [ip]; done
有时安全网关检测到的不全是恶意IP,还有可能是个域名,这种情况下,域名对应的IP是变化的,我们不能直接用上述方法进行监控。
我们可以先在host文件中添加一条规则,将恶意域名重定向到一个随机的IP地址,然后对其进行监控。
这样就能得到与之通信的恶意进程了。
有无可疑历史命令
遍历主机历史命令,查找有无恶意命令:history
清除病毒
从第1个环节追溯到的进程信息,将会帮助我们定位到病毒进程&病毒文件,实现清除。
结束病毒进程
清除可疑进程的进程链: ps -elf | grep [pid] kill -9 [pid]
删除病毒文件
定位病毒进程对应的文件路径: ls -al /proc/[pid]/exe rm -f [exe_path]
闭环兜底
Linux下的病毒持久化驻留方式相比于Windows较少,主要以下4种方式。
检查是否存在可疑定时任务
枚举定时任务:crontab-l
查看anacron异步定时任务:cat/etc/anacrontab
检查是否存在可疑服务
枚举主机所有服务,查看是否有恶意服务:
service--status-all
检查系统文件是否被劫持
枚举系统文件夹的文件,按修改事件排序查看7天内被修改过的文件:
find /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime +7 | xargs ls -la
检查是否存在病毒守护进程
监控守护进程的行为:lsof-p[pid]
扫描是否存在恶意驱动
枚举/扫描系统驱动:lsmod
安装chkrootkit进行扫描:
打上常见Web漏洞补丁 structs2系列RCE漏洞 thinkphp5.XRCE漏洞 Redis未授权访问漏洞 ConfluenceRCE漏洞(CVE_2019_3396) DrupalRCE漏洞(CVE-2018-7600) ThinkPHPRCE漏洞(CVE-2019-9082)
结尾
Linux平台下的恶意软件威胁以僵尸网络蠕虫和挖矿病毒为主,由于Linux大多作为服务器暴露在公网,且Web应用的漏洞层出不穷,所以很容易被大范围入侵。
常见的病毒:DDG、systemdMiner、BillGates、watchdogs、XorDDos,在很多Linux上都有。
所以,你一定要养成不使用弱密码、勤打补丁的好习惯。
进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓ 群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加老杨微信(spotoa),邀你进群
|