应急响应大抵能够分为五个局部,其根本流程包含收集信息、判断类型、深入分析、清理处理、产出报告。
收集信息:收集客户信息和中毒主机信息,包含样本。判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS等等。深入分析:日志剖析、过程剖析、启动项剖析、样本剖析。清理处理:间接杀掉过程,删除文件,打补丁,抑或是修复文件。产出报告:整顿并输入残缺的安全事件报告。勒索和挖矿事件,能够占比50%以上,而且这两种安全事件业务特色极其显明,因而能够独自提流程进去处理。信息收集表取证因素:取证并非毫无脉络的,病毒自身必然有网络行为,内存必然有其二进制代码,它要么是独自的过程模块,要么是过程的dll/so模块,通常,为了保活,它极可能还有本人的启动项、网络心跳包。总之,能够归结为如下4点因素:流量、内存、模块、启动项。流量剖析能够应用Wireshark,次要剖析下以后主机拜访了哪些域名、URL、服务,或者有哪些外网IP在拜访本地主机的哪些端口、服务和目录,又应用了何种协定等等。例如,应用Wireshark察看到,主机拜访了sjb555.3322.org这种动态域名,即可粗略猜想这是一个C&C服务器(如何判断一个域名是可疑域名,能够参考后文)。有时候,能够依据网络协议来间接过滤剖析流量。譬如,目前IRC协定曾经很少被应用了,但利用IRC建设僵尸网络通道的景象仍比拟广泛。应用Wireshark,间接在过滤条件里输出“irc”,回车看是否有相干流量。如下图,刚好看到有相干的IRC协定流量,这便是可疑的。Wireshark执行下“Follow TCP Stream”操作,查看到以后Botnet主机正在退出一个IRC频道。另外,也能够从目标IP下手,可查到这是一个歹意IRC僵尸网络服务器。网络流量这块,如果具体到对应建设的连贯,也可应用TCPView工具进行查看。如下,咱们应用TCPView查到了2条连贯:
chenyu-57068a53.localdomain.2671-> 170.178.191.191:6667chenyu-57068a53.localdomain.2674-> amsterdam.nl.eu.undernet.org.6667当咱们剖析病毒过程遇到困难的时候,其内存便是咱们查找问题的最初一道防线。
以某Linux服务器应急事件为例子,如下图,咱们找到三个病毒过程[ksoftirqd/7]的父子关系,能够看到,11275拉起了11276和11277,但11275是1号过程拉起来的,即init是其父过程。这意味着,理论的父过程(原始病毒文件)在以后状态下是追究不到的了。
过程树曾经追踪不到父过程了,能下手的中央不多。如反汇编[ksoftirqd/7]对应的病毒文件,则对于一次应急响应事件来说,工夫是仓促的(不够)。但简略这样想,即不论病毒文件做了何种混同、何种加壳,在最终运行于内存之上的代码上,终归是原始代码,至多堆栈就有不少信息。
Linux环境下dump内存,能够应用零碎自带的gdb,键入命令 gdb attach 11275,attach到病毒过程11275,在gdb环境下,应用dump binary memory file start_addr end_addr将11275无效内存空间dump下来。
譬如:file为输入文件,能够指定为 11275.dump,start_addr是起始地址,end_addr是终止地址,例 dump binary memory /tmp/11275.dump 0x13838000 0x13839000 (这里仅仅只是举例,理论地址在gdb中获取)
对于内存文件11275.dump,采纳命令 strings -n8 11275.dump,获取长度8及以上的字符串内容,咱们发现有如下一行:/etc/security/ntps.conf这是在病毒运行内存外面发现的,要么是病毒配置文件,要么是原始病毒文件。咱们 cd /etc/security 并应用 ls -al查看内容如下:能够看到,ntps.conf并非一个配置文件,它是可执行的(应用file命令能够晓得这是个ELF可执行文件),文件批改工夫应该是伪造的。