「干货分享」如何做好应急响应工作?常见应急响应流程
一、前言
这是我自己对于应急响应归纳出来的方法论,一个笼统的、抽象的概念,包含思路和方法。
二、常见应急响应流程
这是博主自己的经验总结出来的应急响应流程,也是亲自去应急时的流程。
三、响应
这里不讨论应急响应人员能不能到现场,这里讨论通用场景。
(1)判断事件类型
事件类型分为 7 类:大规模沦陷、挖矿病毒、勒索病毒、无文件落地、不死(顽固)马、钓鱼应急响应、数据劫持。【后续会细讲】
去应急肯定会收到通知:ga 的通报、客户自己发现的情况、现场安服发现的问题。根据这些情报先判断出需要出应急的是什么事件类型。但是要记住“情报是带有失真率和主观性的,并且以上场景很多情况下并不会单独出现。”最后还是需要应急人员自己靠经验与客观事实去判断。
(2)保持第一现场
第一现场包含:第一发现人、第一情报、失陷主体/群体、主体/群体行为、失陷环境。
这个“保持”是指在尽可能实现的情况下去保留。因为谁被打穿了都会慌,一慌都会推卸责任(包括我自己),或者消灭痕迹,这无疑是帮助了攻击者实现渗透的最后一步。
这个“第一”是指最先发现情况的人,这个人所说的情况。发现的被攻陷的主体,最好是用镜像把系统和流量先扒拉下来。时间越延迟,这个“第一”事实的失真率越高,所以要安服和应急人员做好配合。
(3)信息收集
这一步与渗透测试的第一步信息收集无异,即使前面两个高度失真,这一步仍可以让整个响应起死回生,但是这一步没做好将会影响后续所有操作。
信息收集主要是做:流量、日志、可疑进程的内存、失陷系统镜像、恶意样本、客户资产收集、资产相关漏洞测试报告、防御设备的日志。【请注意:确认有索取这些信息的权限】
四、阻断
所谓阻断只有三步:关站、关服务、拔网线。
(1)切断网络
情况分很多种:失陷后业务仍正常运行、失陷后业务受滞、失陷后业务停摆。不同的情况,网络切断因地制宜。
切断网络的目的:观察病毒行为、观察流量特征、阻断对内通信、阻断对外连接。
举个例子:一个医院大规模失陷,但是业务正常运作,这时候可以选择切断部分不重要的主机去观察行为。
(2)阻断传播
传播包括:对内传播(感染)、对外传播(外联)
对内传播(感染):进程注入/迁移、第三方软件感染、服务传播(ftp/ssh 爆破等)
对外传播(外联):挖矿行为、外联攻击、c2 通信
阻断传播应从:软件层面、流量层面、代码层面、网络层面。例如:排查软件被劫持、排查流量发现无文件落地、利用代码审计发现容器加载内存马、阻断网络发现通过服务传播的病毒。
(3)隔离核心资产/隔离受害主体(群体)
这一步是应急响应的最终目的,无论实施过程如何、无论使用什么工具都必须保证被保护与沦陷方的隔离。
隔离核心资产是为了做到三个原则:保护、避害、不损害。
隔离受害主体(群体)是为了保护第一现场、收集攻击者信息等。
五、分析
分析是前提是提炼,提炼出关键信息分析。而提炼的前提是熟悉,了解攻击手法,红蓝同源。
(1)日志、流量、样本分析
分析三大件:日志、流量、样本。
日志主要注意的是:时间、动作、结果;这个行为什么时候开始、什么时候结束,这个动作是登陆、退出、修改等、造成的结果是登陆成功/失败、上传/下载了文件、执行了代码等。
流量主要注意的是:状态码、交互过程、数据合理性;每一次交互的状态码,交互过程中是否符合该种协议的正确交互过程,每个字段的填充、每次流量的渲染是否正常。
样本主要注意的是:启动方式、伪装方式、作用;根据启动方式去选择沙箱或者分析工具;伪装方式判断是否加壳做免杀和打击方式;根据作用去判断受害范围。
粗略的分为静态和动态,日志属于静态信息需要应急人员清晰分辨出日志表达的内容和快速筛选出可疑的点。流量和样本属于动态信息,应急人员需要拥有一定的渗透能力去分辨交互行为。
(2)行为分析 &还原攻击过程
从行为出发,还原攻击路径,推演攻击过程。
行为分析基于三大件分析,结合系统表现出来的情况做分析,例如:启动项、启动脚本、进程、内存等。
还原攻击过程需要对攻击大致的情况有一个综合判断,可以理解为——威胁模型建立(SDL),必须具备渗透能力,再此基础上放入沙箱重新复现攻击过程,对后续的步骤提供帮助。
六、清除
我们要做的与渗透无异——“做好清除,藏好自己”。
(1)非对抗情况下
在不存在对抗的情况下,最极端就是全盘重装,稍次就是数据迁移后对系统盘重装。在普通情况下,我们可以进行针对性的杀进程、删文件、杀软清除。
(2)存在对抗情况下
对抗情况就是:顽固马与不死马存在,或者被持续攻击(apt)。
这样的情况下,首选是在允许情况下打补丁,再恢复。找到攻击行为的源头,先补上漏洞再清除。
七、加固
加钱才是硬道理。
加固没啥好讲的,打补丁、对系统进行限制(网络隔离、行为管理等)、升级防御设备、完善防御流程(防御设备的部署、人员的部署、规则库的升级)
八、应急响应常见场景
这是我的应急经验大致归纳出的场景,现实情况下场景会复合,这里只是对单个场景做思路。
【所有单独场景的分析将会在该系列的第二篇展开,此处只放图】
九、大规模沦陷
远控肉鸡
潜伏远控
外联攻击
外联请求/下载
蠕虫感染
漏洞传播
第三方软件传播
网络瘫痪
主机脱管
服务器宕机
网络风曩
网络设备过载
主机瘫痪
挖矿瘫痪
勒索瘫痪
服务瘫痪
勒索主机
单—软件传播勒索
主机瘫痪勒索
ddos 攻击
暴力请求 ddos
利用漏洞 ddos
CC 攻击
十、挖矿病毒
十一、勒索病毒
十二、无文件落地
恶意文件
pdf 文件、rtf 文件
文本扩展功能,eg:宏
文本捆绑数据,eg.shellcode/数据流
注入
内存注入、驻留
进程注入、驻留
白加黑
wmi 等
regsrv32.exe、rundll32.exe 等
win 白名单软件签名
恶意脚本
powershell
vbs/hta
js
so 文件劫持
十三、顽固不死马
十四、钓鱼应急
十五、数据劫持
数据库劫持
元里劫持
总结
1.应急响应的最终目标是保护客户的核心资产,所有行为必须围绕:保护、避害、不损害来进行。
2.在现在愈加复杂的攻击下,上述的常见场景一般会出现复合情况,需要应急人员根据经验去进行。
3.应急人员应有自己的方法论,对不同攻击的威胁建模,拥有威胁情报分析能力,结合工具的辅助进行现场响应与远程支撑。
4.工具和排查点大同小异,提升方法在于应急人员的是否熟悉该种攻击,利用特征和行为去排查更节省时间。
5.红蓝同源,应急响应属于蓝队,但必须具备一定的渗透能力。
评论