目录导航
介绍
大家好,我们是 NOP Team
这是一本 Windows 版的应急响应手册,于 2024 年 2 月 3 日晚在 NOP Team 公众号上发布 v1.0 版本
在当前的攻防对抗态势中,防守一侧的情况就和木桶效应一样,尤其是在已经被攻破的系统中,排查持久化控制程序如同大海捞针,这本应急响应手册的意义是希望能够有效发现木桶的短板,给予应急响应人员一个较为明确的指导思想,同时给出经过实践测试的操作方法,保证受害系统经过了一次相对全面的排查,以避免由于应急响应人员知识广度和能力水平问题而造成的二次木桶效应
在 Github 上建立项目是希望集各位安全从业者以及爱好者之长,不断挖掘攻击者持久控制手段,完善排查方法以及手册,让每一位应急响应人员在排查过程中有一份完整清晰的指导手册,进而与不断进步的攻击者进行持久对抗!
目录列表
简介
更新日记
事前准备
0x01 操作系统基本配置
1. 开启显示隐藏文件和文件后缀
0x02 工具准备
1. 排查工具
2. 杀毒工具
3. 漏洞验证工具
4. 编解码与文本对比工具
5. 内网文件传输工具
6. 日常使用小工具
挖矿病毒
0x01 确定 ioc 信息
0x02 获取异常进程的 pid
1. CPU占用
1) 任务管理器
2) Powershell
3) Process Explorer
4) Process Hacker
5) System Informer
2. 内存占用
1) 任务管理器
2) Powershell
3) Process Explorer
4) Process Hacker
5) System Informer
3. 网络占用
1) 资源监视器
2) Process Hacker
3) System Informer
4. 内存搜索关键字
0x03 寻找恶意样本
1. 任务管理器
2. Powershell
3. wmic
4. Process Explorer
5. Process Hacker
6. System Informer
7. OpenArk
0x04 确定进程启动时间
1. Powershell
2. wmic
3. Process Explorer
4. Process Hacker
5. System Informer
6. OpenArk
7. 获取异常文件的时间信息
0x05 处理异常进程
1. 恶意文件样本采样
2. 威胁分析
3. 寻找病毒分析报告
4. 进程查杀
1) 暂停进程
2) 杀死进程
3) 杀死进程树
4) 杀死线程
0x06 删除恶意文件
1. 确定文件占用情况
2. 查询注册表
3. 删除恶意文件
0x07 善后阶段
0x08 常规安全检查阶段
远控后门
0x01 确定 ioc 信息
0x02 主机安全:直接定位文件
0x03 流量检测: 域名、IP、端口
1. netstat
2. Powershell
3. 图形化工具
4. DNS 缓存
1) cmd
2) Powershell
3) wmic
5. 地址诱骗
6. 内存搜索关键字
0x04 寻找恶意样本
1. 任务管理器
2. Powershell
3. wmic
4. Process Explorer
5. Process Hacker
6. System Informer
7. OpenArk
0x05 确定进程启动时间
1. Powershell
2. wmic
3. Process Explorer
4. Process Hacker
5. System Informer
6. OpenArk
7. 获取异常文件的时间信息
0x06 处理异常进程
1. 恶意文件样本采样
2. 威胁分析
3. 寻找病毒分析报告
4. 进程查杀
1) 暂停进程
2) 杀死进程
3) 杀死进程树
4) 杀死线程
0x07 删除恶意文件
1. 确定文件占用情况
2. 查询注册表
3. 删除恶意文件
0x08 善后阶段
0x09 常规安全检查阶段
勒索病毒
0x00 简述
0x01 保护现场
0x02 确定勒索病毒家族
0x03 根据勒索病毒类型寻找解决方法
0x04 寻找加密器
1. 确定加密时间
2. 查找加密开始前的活动
3. 对加密器逆向分析
0x05 解决勒索
0x06 善后阶段
0x07 常规安全检查阶段
暴力破解
0x01 暴力破解类型
0x02 RDP 暴力破解
1. 网络分析
1) netstat
2) Powershell
3) 图形化工具
2. 登录分析
1) 查询可登录系统的账号
2) 查询当前系统登录情况
3) 查看最近登录情况
3. 日志分析
0x03 SMB 暴力破解
1. 网络分析
1) netstat
2) Powershell
3) 图形化工具
2. 登录分析
1) 查询可登录系统的账号
2) 查询当前系统登录情况
3) 查看最近登录情况
3. 日志分析
0x04 SNMP 暴力破解
1. 网络分析
1) netstat
2) Powershell
3) 图形化工具
2. 登录分析
1) 查询可登录系统的账号(团体名)
2) 查询当前系统登录情况
3) 查看最近登录情况
0x05 FTP 暴力破解
1. 网络分析
1) netstat
2) Powershell
3) 图形化工具
2. 登录分析
1) 查询可登录系统的账号
2) 查询当前系统登录情况
3) 查看最近登录情况
3. 日志分析
0x06 MSSQL 暴力破解
1. 网络分析
1) netstat
2) Powershell
3) 图形化工具
2. 登录分析
1) 查询可登录系统的账号
2) 查询当前系统登录情况
3) 查看最近登录情况
3. 日志分析
钓鱼事件
0x01 切断传播途径
0x02 确定钓鱼方式
0x03 梳理受害范围
0x04 隔离或排查受害主机
0x05 分析被钓鱼原因
0x06 加固防御体系
0x07 善后阶段
0x08 常规安全检查阶段
非持续性事件
0x00 简介
0x01 确定目标域名或IP
0x02 修改域名解析记录
0x03 设置监控程序
0x04 等待恶意程序执行
0x05 确定进程启动时间
1. Powershell
2. wmic
3. Process Explorer
4. Process Hacker
5. System Informer
6. 获取异常文件的时间信息
0x06 处理异常进程
1. 恶意文件样本采样
2. 威胁分析
3. 寻找病毒分析报告
4. 进程查杀
1) 暂停进程
2) 杀死进程
3) 杀死进程树
4) 杀死线程
0x07 删除恶意文件
1. 确定文件占用情况
2. 查询注册表
3. 删除恶意文件
0x08 善后阶段
0x09 常规安全检查阶段
隧道事件
0x00 简介
0x01 DNS 隧道
1. 原理
2. 常见工具
3. 常见特征
0x02 ICMP 隧道
1. 原理
2. 常见工具
3. 常见特征
0x03 TCP 隧道
1. 原理
2. 常见工具
3. 常见特征
0x04 UDP 隧道
1. 原理
2. 常见工具
3. 常见特征
0x05 KCP 隧道
1. 原理
2. 常见工具
3. 常见特征
0x06 QUIC 隧道
1. 原理
2. 常用工具
3. 特征
0x07 Web 隧道
1. 原理
2. 常见工具
3. 常见特征
0x08 隧道处置流程
1. MMA
2. Netsh
3. 常规处置
badusb 投毒事件
0x01 简介
0x02 日志分析
Windows Server 2016
Windows 11
获取设备 VID 和 PID
0x03 事件处置
0x04 善后阶段
0x05 常规安全检查阶段
MSSQL 事件排查
0x01 简介
0x02 用户及会话分析
0x03 MSSQL 登录日志分析
0x04 SQL执行日志分析
0x05 存储过程排查
1. 排查系统存储过程
2. 排查扩展存储过程
3. 用户自定义存储过程
0x06 程序集排查
1. 查找当前数据库中的程序集
2. 查找程序集对应的文件
3. 添加恶意程序集日志
4. 删除程序集
0x07 作业 (Job)
1. 获取所有的作业(Job)
2. 新建作业
3. 删除作业
0x08 函数排查
0x09 数据库触发器
0x10 其他内容
善后阶段
0x01 定损
0x02 针对性排查处理
常规安全检查
0x00 杀毒软件
0x01 近期活动
1. LastActivityView
2. 组策略-审核进程创建
3. Amcache
4. ShimCache
5. UserAssist
6. MUICache
7. RunMRU
8. AppCompatFlags Registry Keys
9. Prefetch
10. Application-Experience
11. Jump Lists
12. SRUM
13. LastVisitedMRU
14. 最近打开的文件
0x02 证书排查
1. certmgr.msc
2. Powershell
0x03 账号信息
1. 查看用户
2. 查看用户组
3. 查找隐藏账户
1) lusrmgr.msc 查看隐藏用户
2) 注册表查看隐藏账户
3) wmic查询用户
4) Powershell 查找隐藏账户
5) 安全软件排查
4. 删除隐藏账户
0x04 登录信息
1. 命令行查询本地/远端会话
2. 任务管理器
0x05 启动项
1. msconfig
2. 全局登录自启动目录
3. 用户登录自启动目录
4. 注册表查看启动项
5. 组策略启动脚本
6. 安全工具检查
0x06 计划任务
1. taskschd.msc 任务计划程序
2. schtasks 查看定时任务列表
3. 注册表查看计划任务
1) 计划任务本身的注册表
2) 计划任务中任务的注册表
4. 计划任务目录文件
5. 计划任务日志文件
6. 采用工具排查
7. 隐藏计划任务排查
0x07 网络连接
1. netstat
2. nbtstat
3. PowerShell
4. Get-NetworkConnection
5. System Informer
0x08 IPC 共享
0x09 进程
1. 任务管理器
2. tasklist
1) 查询指定用户权限的进程
2) 查询指定用户正在运行中的进程
3) 根据pid查询进程
4) 查询指定进程使用的模块
3. taskkill
4. Powershell
1) Get-Process
2) Stop-Process
5. wmic
6. query 查看当前用户启动的进程
7. tlist.exe官方调试工具
1) 通过 pid 查询进程信息
2) 查看进程之间的关联关系
3) 查看进程关联的活动服务
4) 其他命令解析
8. Process Explorer
9. System Informer
10. OpenArk
11. 系统信息(msinfo32)
0x10 环境变量
1. GUI 环境变量查询
2. set 命令查询基本信息
3. Powershell 查看环境变量
4. 系统信息(msinfo32)
5. 环境变量 CLR 劫持排查
0x11 系统基本信息及补丁
1. 系统基本信息查询
2. wmic查询补丁信息
3. Windows-Exploit-Suggester
4. WES-NG
0x12 系统日志分析
1. 事件查看器
2. 日志文件
3. wevtutil
4. PowerShell
1) Get-WinEvent
2) Get-EventLog
5. Log Parser
6. LogParser Lizard
7. evtxLogParser
8. sysmon
1) 安装
2) 使用方法
3) sysmon view可视化分析
9. LogonTracer
10. FullEventLogView
0x13 命令历史
1) cmd命令行历史
2) Powershell 历史
0x14 PowerShell 配置文件
0x15 PowerShell 日志
0x16 PowerShell Alias
0x17 服务程序
1. services.msc
1) 服务名称、描述等信息
2) 可执行文件、参数、启动类型
3) 启动失败默认操作
4) 依存关系
2. SC 命令
3. PowerShell
4. wmic
5. 注册表
1) 服务列表
2) Performance
3) ServiceDll
6. System Informer
7. Autoruns
8. 系统信息(msinfo32)
9. 服务相关日志
10. 排查隐藏的服务
11. 进阶性排查
0x18 远程桌面 RDP
1. 注册表查询 RDP 记录
0x19 DLL 检查
1. DLL 劫持
2. DLL 注入
3. KnownDLLs
0x20 WMI 排查
1. wmic
2. Powershell
3. Autoruns
4. 删除 WMI 后门
1) wmic
2) Powershell
3) Autoruns
5. 非常规查询
1. 查询 WMI 命名空间
2. 查询包含 CommandLineEventConsumer 类的命名空间
3. 查询所有 WMI 中存在的过滤器、消费者、绑定
0x21 最近打开的文件
0x22 敏感文件夹检查
1. 临时目录
1) 用户临时目录
2) 系统临时目录
2. 垃圾桶目录
3. 被删除的用户家目录
4. public 目录
5. web 目录
0x23 系统完整性检查
0x24 Bits Job 检查
0x25 浏览器排查
1. 下载记录
2. 访问记录
3. 浏览器插件
0x26 屏幕保护排查
0x27 NetSh 排查
0x28 辅助功能程序
0x29 AppCert DLLs
0x30 AppInit DLL
0x31 Application Shimming
0x32 IFEO Injection 排查
0x33 COM 劫持
1. 排查注册表
2. 验证 COM 组件签名
3. 杀毒程序扫描
0x34 Password Filter
0x35 Network Provider
0x36 Winsock NSP
0x37 Windows Defender 日志
1. 通过 Defender 程序
2. 通过事件查看器
0x38 防火墙配置
1. 防火墙开关
2. 防火墙允许的应用
3. 防火墙出入站策略
小技巧
0x01 查找文件
1. Everything
1) 查找特定类型的文件
2) 根据正则表达式查找文件
3) 根据文件内容查找文件
4) 根据时间筛选文件
5) 根据语法搜索
2. dir
3. forfiles
4. Powershell
0x02 确定系统相关信息
0x03 内存中搜索字符串
0x04 查找文件占用小工具
1. IObit Unlocker
0x05 内网传输文件
知识点附录
0x01 谁可以使用远程桌面服务
0x02 RDP爆破登录的日志情况
0x03 RDP和SMB登录失败日志的区别
0x04 FTP 状态码列表
1. 100 系
2. 200 系
3. 300 系
4. 400 系
5. 500 系
0x05 FTP 命令列表
0x06 CobaltStrike DNS 隧道演示
1. 部署 CobaltStrike 服务器
2. 创建域名解析记录
3. CS上添加监听器
4. 生成 payload
5. 受害主机执行后上线
6. 流量分析
0x07 Pingtunnel ICMP隧道演示
1. 部署Pingtunnel服务端
2. 客户端连接服务端
3. MSF 生成 payload
4. MSF 配置监听
5. 执行 payload
6. 内网环境再次模拟
0x08 Kcptun KCP 隧道演示
1. 部署 kcptun 服务端
2. 生成 MSF payload
3. MSF 配置监听
4. kcptun 客户端连接服务端
5. 执行 payload
6. 流量分析
0x09 Gost QUIC 隧道演示
1. 部署 gost 服务端
2. 生成 MSF payload
3. MSF 配置监听
4. gost 客户端连接服务端
5. 执行 payload
6. 流量分析
0x10 谁决定计划任务的执行结果
1. 简介
2. 修改文件测试
1) 创建计划任务
2) 查看计划任务文件
3) 查看注册表
4) 修改计划任务文件
5) 尝试重启服务器
6) 小结
3. 修改注册表测试
1) 创建计划任务
2) 查看计划任务文件
3) 查看并修改注册表
4) 重启服务器
5) 注册表中将操作清空
6) 小结
4. 修改注册表中字符串值
1) 创建计划任务
2) 修改注册表
3) 重启服务器
4) test2 使用 test3 的 Actions
5) 重启服务器
5. Fuzz Actions 格式
1) 修改注册表 Actions 值
2) 重启服务器
3) 尝试重启计划任务服务
6. 不显示的计划任务会执行吗?
1) 修改注册表
2) 重启计划任务服务
3) 命令行执行计划任务
7. 总结
0x11 PowerShell 配置文件实验
0x12 服务隐藏与排查
1. 创建服务
2. 查询服务权限设置
3. 修改服务权限设置
4. 测试隐藏效果
1) services.msc
2) sc
3) PowerShell
4) wmic
5) System Informer
6) 注册表
5. 思考排查方法
6. 枚举法
7. 高权限法
8. 删除服务
9. 如果删除注册表文件夹会怎么样
1) 创建服务
2) 创建服务
3) MSF 连接木马
4) 观察 MSF 服务情况
5) 通过 SDDL 设置隐藏服务
6) 尝试删除注册表项
10. 思考排查方法
1) 进程角度
2) 日志查询
3) Windows API
4) sc
5) 通过内存获取
11. 删除服务
0x13 如何验证程序签名
1. 文件属性对话框
2. PoweShell
3. Sigcheck
0x14 如何以其他用户执行命令
Runas 命令
0x15 Everything 语法
常见问题的解决方法
1. 文件被隐藏
1) 设置隐藏属性
2) attrib 设置额外权限
2. 恶意文件被删除
1) 根据二进制文件执行记录查找
部分截图
下载地址
INCIDENT_RESPONSE_COOKBOOK_For_Windows_v1.2.pdf
项目地址
GitHub:
https://github.com/Just-Hack-For-Fun/Windows-INCIDENT-RESPONSE-COOKBOOK
转载请注明出处及链接