0x00 应急响应
简介:“应急响应”对应的英文是“Incident Response”或“Emergency Response”等,通常是指一个组织为了应对各种意外事件的发生所做的准备以及在事件发生后所采取的措施。 – Baidu
0x01 应急响应类型
目前接触的那么多应急,基本上都是以下事件类型:
- 勒索病毒
- 挖矿木马
- 数据丢失
- 网页篡改
- 流量异常
- ….
0x02 应急响应的几个主要原因
- 资产脆弱业务对外
- 钓鱼邮件
- 服务器弱口令
- 内部工作人员作梗
- ……
0x03 应急响应 - 勒索病毒
勒索病毒的特征:一般会加密敏感文件,并会将文件重命名,加密过程中还会横向移动,横向移动的手段包含但不限于:
- 服务器口令(RDP、SSH、SMB)爆破
- SMB共享
- WMIC
- 抓取密码横向
- 已知的RCE(Remote Code Execute)漏洞
- ….
同时可能会产生大量网络认证失败的日志,加密完成后还会清除自身或者清除操作系统日志。
非二进制方向的人处理方式基本上就是首先确定事件发生时间,其次根据操作系统日志排查病毒发作时间,缩小排查范围。
0x04 应急响应 - 挖矿木马
挖矿木马的特征:CPU、内存占用率很高,并且会连接一些IOC相关的域名或者于虚拟货币相关的域名来获取新的指令。
某些情况下,还会创建系统启动项,计划任务等。
一般情况下,这类情况都是未安装杀毒软件或杀毒软件病毒库太老。
横向移动的手段与0x03很相近。
IOC(Indicator of Compromise)入侵指标,目前可以理解为是一种威胁参考数据。
0x05 应急响应 - 数据丢失
这种是处理起来比较棘手的事件了,需要画大量的时间分析日志,确定数据丢失的方式。
首先需要网络日志和主机日志,从数据服务器反向跟踪:“我被谁访问,谁对我做了什么”
0x06 应急响应 - 网页篡改
分两种情况:
- 自动化批量攻击
- 定向入侵
首先需要保留HTTP服务器日志,第一种情况就要判断HTTP服务器上是否有脆弱的Web应用,例如:远程代码执行、文件上传漏洞。第二种情况就要从网页篡改后第一发现的时间作为开始日志审计工作的启动时间。
0x07 应急响应 - 流量异常
这种情况一般是服务器被僵尸网络木马控制了,要么就是UDP服务对外 —— DRDOS这类也有可能。
根据网络日志和主机日志慢慢审计,当然直接查进程列表是最先要做的。
0x08 应急响应 - 我的一般流程
Question
- 现场现象,如何发现的(依据是什么)?
- 什么时候发现的?
- 目前是否有做物理隔离(断网)?
- 受害机器是哪个?
- 受害服务有几台?(1台/N台)
- 最先发现是哪台?
- 这台服务器对外有哪些服务?
- 这台服务器于其他机器是否处于同一个内网?
How to do
- 查看进程列表
- 查看进程创建Command Line
- 查看网络连接状况
- 校验进程、模块签名
- 查看进程线程、子进程
- 查看是否有开机启动项,与现场工作人员确认
- 查看勒索提示文件创建时间
- 查看服务器账户是否正常
- 查看日志是否被清除
- 查看认证日志
查看进程列表:能够确定是否有木马、病毒还在运行,较为可疑的就是:powershell.exe、rundll32、regsvr32、cmd…
查看进程创建Command Line:能够查看某些进程的执行路径是否正常、进程名是否是伪装的。
查看网络连接状况:确认机器是否还在被控状态,根据连接状况可以定位到程序路径。
校验进程、模块签名:有些病毒、木马会劫持操作系统的dll达到持久控制,通过校验签名可以确定文件是否是操作系统本身的。
查看是否有开机启动项,与现场工作人员确认:现场服务器上的业务可能需要定时任务计划或者开机启动项,需要确认启动项是否存在敏感行为,系统启动项和定时任务是木马常用来持久控制的一种手段。
查看勒索提示文件创建时间:这个信息虽然不准确,但是可以基本确定勒索病毒的活跃时间,同时根据勒索文件去查询对应的IOC信息。
查看服务器账户是否正常:在服务器上添加隐藏账户也是持久控制的一种方式。
查看日志是否被清除:判断日志清除时间,尽最大努力还原事件原委。
查看认证日志:一般针对SMB和RDP服务,如果发现某个IP在2秒内登录>3次,基本上是不正常的,一般病毒横向移动时,爆破的行为间隔时间非常短。