Skip to main content

windows-incident-response

Windows主机应急响应处置技能(源自 NOP Team《Windows应急响应 Cookbook v1.2》全量内容,全部图形化操作已转化为命令行)。覆盖挖矿病毒、远控后门、勒索病毒、暴力破解(RDP/SMB/SNMP/FTP/MSSQL)、钓鱼、非持续性恶意外连、隧道、BadUSB、MSSQL后门九类事件处置,38项常规安全检查(隐藏账户/启动项/计划任务/服务/WMI事件订阅/COM劫持/IFEO/AppInit/Winsock/屏幕保护等30余种权限维持排查)、善后定损、取证小技巧。远程处置走 Windows 自带 WinRM 通道(控制台工具或 pywinrm 直连),支持 AI 免 RDP 全自动命令行取证。当用户报告或要求处理 Windows 主机被入侵、CPU异常、挖矿、勒索加密、RDP/SMB/FTP/MSSQL爆破、可疑外连、后门、隧道、webshell,或要求应急响应、安全检查、权限维持排查、取证分析时使用。

Quellinformationen

Repository
ProbiusOfficial/windows-ir-skill
Letzte Quellaktivität
6. September 2026 um 05:09
Erkannte Sprache von SKILL.md
Chinesisch
Sterne
36
Forks
4

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
windows-incident-response
description
Windows主机应急响应处置技能(源自 NOP Team《Windows应急响应 Cookbook v1.2》全量内容,全部图形化操作已转化为命令行)。覆盖挖矿病毒、远控后门、勒索病毒、暴力破解(RDP/SMB/SNMP/FTP/MSSQL)、钓鱼、非持续性恶意外连、隧道、BadUSB、MSSQL后门九类事件处置,38项常规安全检查(隐藏账户/启动项/计划任务/服务/WMI事件订阅/COM劫持/IFEO/AppInit/Winsock/屏幕保护等30余种权限维持排查)、善后定损、取证小技巧。远程处置走 Windows 自带 WinRM 通道(控制台工具或 pywinrm 直连),支持 AI 免 RDP 全自动命令行取证。当用户报告或要求处理 Windows 主机被入侵、CPU异常、挖矿、勒索加密、RDP/SMB/FTP/MSSQL爆破、可疑外连、后门、隧道、webshell,或要求应急响应、安全检查、权限维持排查、取证分析时使用。
# Windows 应急响应 本技能是《Windows应急响应 Cookbook v1.2》(NOP Team,830页)的结构化 CLI 化转写版本([原著仓库](https://github.com/Just-Hack-For-Fun/Windows-INCIDENT-RESPONSE-COOKBOOK) · [在线阅读](https://book.noptrace.com/);双层许可:源自原手册的内容遵循 GPL-3.0,本项目 GUI→CLI 转化与新增内容以 MIT 发布,详见 LICENSE),按事件类型拆分为 `references/`,保留原书页码(`pN`)可回溯。**核心改编:原书大量流程依赖 GUI(任务管理器/regedit/事件查看器/lusrmgr 等),本技能已全部转为命令行等价操作**,GUI 工具(Process Explorer/System Informer/OpenArk/Autoruns 等)仅作为交互式人工排查的备选提及。 ## 使用流程 0. **有 WinRM 凭据时优先用控制台工具**:`python scripts/win-ir-console-web.py`(WebUI,浏览器打开 http://127.0.0.1:8527)填目标地址勾选检查项一键排查+标记+查杀,参数化检查项支持路径定向,人工环节工具内提示;无浏览器环境用 `win-ir-console.py`(tkinter);只有命令行通道时按下述流程手动处置。 1. **判断事件类型**,按"场景路由"读取对应参考文件(处置前先读 `references/00-cheatsheet.md` 取命令,参考文件里有完整背景与页码)。 2. 所有事件都遵循**统一处置主线**(下节),场景文件只讲差异部分。 3. 进程与文件处置完成后,**必须**走"善后阶段 + 常规安全检查"——挖矿/远控事件通常伴随多种权限维持后门(隐藏账户、计划任务、WMI订阅、COM劫持等),只删恶意文件不查后门必然复发。 4. 报告结论时给出:事件定性、IOC(IP/域名/文件MD5)、时间线、已处置项、遗留风险、加固建议。 5. **遇到"人工介入点"(见下节)必须停下来提醒用户去操作**,标注清楚谁、在哪、做什么、如何回报;不得跳过、不得假装已由 Agent 完成。 ## 场景路由 | 场景 | 参考文件 | |---|---| | 命令速查(高频命令单行版,先读这个) | `references/00-cheatsheet.md` | | 任何事件开始前(物料/工具准备,CLI 化配置) | `references/01-preparation.md` | | 挖矿病毒(CPU异常、可疑外连矿池) | `references/02-mining.md` | | 远控后门(EDR 告警文件、外连 C&C 的 IP:端口) | `references/03-backdoor.md` | | 挖矿/远控/非持续共用核心流程(找pid→样本→启动时间→查杀→删文件) | `references/04-core-procedures.md` | | 勒索病毒(文件被加密、勒索信) | `references/05-ransomware.md` | | 暴力破解(RDP/SMB/SNMP/FTP/MSSQL 爆破告警) | `references/06-brute-force.md` | | 钓鱼事件 | `references/07-phishing.md` | | 非持续性事件(恶意外连偶尔出现、抓不到进程) | `references/08-non-persistent.md` | | 隧道事件(DNS/ICMP/TCP/UDP/KCP/QUIC/Web 隧道) | `references/09-tunnel.md` | | BadUSB 投毒事件 | `references/10-badusb.md` | | MSSQL 事件排查(xp_cmdshell/程序集/Job/触发器) | `references/11-mssql.md` | | 善后阶段(定损、横向排查、改密) | `references/12-aftermath.md` | | 常规检查① 账号与登录(用户/隐藏账户/会话/RDP记录) | `references/13-checklist-accounts.md` | | 常规检查② 权限维持(启动项/计划任务/服务/WMI事件订阅) | `references/14-checklist-persistence.md` | | 常规检查③ 行为痕迹(近期活动/证书/命令历史/PS配置/敏感目录/浏览器) | `references/15-checklist-artifacts.md` | | 常规检查④ 系统状态(网络/进程/环境变量/补丁/日志/BITS/防火墙/Defender) | `references/16-checklist-system.md` | | 常规检查⑤ 劫持类后门(DLL/AppCert/AppInit/Shimming/IFEO/COM/PasswordFilter/NetworkProvider/Winsock) | `references/17-checklist-hijack.md` | | 取证小技巧(文件查找/时间筛选/内存搜串/内网传输) | `references/18-tips.md` | | 知识点附录(RDP登录权限规则/登录类型表/计划任务机制/服务隐藏对抗/签名验证) | `references/19-appendix.md` | | 常见问题(文件被隐藏/恶意文件被删后如何溯源) | `references/20-troubleshooting.md` | | 远程处置通道(WinRM 直连:目标无直接通道时的命令行取证方案) | `references/21-winrm.md` | 辅助脚本(上传受害机前先审计内容): - `scripts/win-ir-console-web.py` — **★远程应急响应控制台(WebUI,首选)**:`python win-ir-console-web.py [--port 8527 --open]` 后浏览器操作。填目标 IP + WinRM 凭据 → 14 模块 **63 项细粒度检查**(可单独勾选,侧栏 默认/全选/清空 + 底部执行按钮,隐藏服务枚举/全命名空间 WMI 等重项默认关闭);**13 个参数化检查项支持路径定向**(路径/pid/服务名/任务名/IP/注册表键/天数);点选检查项在**底部命令预览 dock** 实时显示将执行的命令(可收起);无论是否有发现均全量落盘 `IR_logs/IR_*.log`,可导出 Markdown 报告;「自定义命令」页内置 **8 个常用命令模板**(最早RDP登录/计划任务动作/按名搜索/读文件/MD5/外连/读flag目录,免手写转义)+ 命令历史 + Ctrl+Enter;发现项可标记(持久化)→ **定向查杀**按类型自动处置(执行前确认);「人工介入指引」页签给出 GUI-only 环节的用户操作步骤;连接参数自动记忆、pywinrm 三层超时对齐 + 瞬断自动重试、中文输出(UTF-8 prelude + wmic UTF-16/GBK 智能解码)。依赖 `pip install pywinrm` - `scripts/win-ir-console.py` — 同功能的 tkinter 桌面版(无浏览器环境时备用) - `scripts/win-triage.ps1` — 一键体检(无 GUI 纯 CLI 采集,输出文本报告;适合通道只有命令行时上传目标机执行) - `scripts/win-monitor-conn.bat` — 地址诱骗/非持续性事件:监控连向指定 IP 的进程并自动落盘取证(netstat + wmic 循环) ## 统一处置主线 挖矿、远控、隧道、非持续性、BadUSB 共用同一条主线,仅"定位 pid"入口不同(完整命令见 `04-core-procedures.md`): ``` 梳理现场(IOC:IP/域名/文件MD5 → 威胁情报研判 → 二次核实 → 问历史事件) ↓ 定位异常进程 pid ←入口因场景而异: 挖矿: Get-Process 按 CPU/内存/网络排序(tasklist/wmic/PS 三选一) 远控: EDR给文件→handle.exe 查占用反查进程;态势给IP:端口→netstat -ano | findstr / Get-NetTCPConnection 隧道: netsh trace 抓包 + etl2pcapng → Packet comments 里带 PID(p243) 非持续性: hosts 重定向恶意域名 → win-monitor-conn.bat 部署监控 → 等待触发 ↓ 查进程详情(名称/路径/命令行/启动时间): wmic process where ProcessId=<pid> get Name,ExecutablePath,CommandLine /format:list (Get-Process -Id <pid>).StartTime;wmic process where ProcessId=<pid> get CreationDate ↓ 采样取证(网络/U盘取样本 → 微步/VT/哈勃等沙箱)→ 处置: 暂停进程 pssuspend <pid> / 恢复 pssuspend -r <pid> 杀进程 taskkill /F /PID <pid> | Stop-Process -Id <pid> -Force | wmic ... call Terminate 杀进程树 taskkill /F /T /PID <pid>(/T 连同子进程) ↓ 删文件前:handle.exe <路径> 查占用(占用进程可能就是恶意进程)→ reg query 全局搜该文件路径关联的持久化 → del / Remove-Item ↓ 善后阶段(12-aftermath.md):定损 → 同密码/同漏洞/同管理员机器横向排查 → 改强密码 ↓ 常规安全检查(跑 scripts/win-triage.ps1 + 对照 13~17 各检查文件):找出隐藏后门,防复发 ``` ### 关键规则 - **杀进程**:先看父子关系——`wmic process where ProcessId=<pid> get ParentProcessId`;`taskkill /T` 杀树;有守护进程的恶意程序先杀守护(否则主程序复活)。线程级注入(附在正常业务进程里的恶意线程)慎杀,易搞崩业务,先与客户确认。 - **删文件**:`del` 删不掉按顺序排查:① `handle.exe <文件>` 查占用进程 ② `attrib <文件>` 查隐藏属性 → `attrib -s -h -r` ③ reg query 搜该文件全路径找持久化引用 ④ 还不行用 `PsExec64 -s` 提 SYSTEM 权限删。搜索到注册表引用**不要急着删**,先与各方确认。 - **hosts 修改**:诱捕/阻断时直接编辑 `C:\Windows\System32\drivers\etc\hosts`(GUI"无法保存"问题:先存桌面再覆盖)。 - **时间基准**:事件日志/WMIC 里时间是 **UTC**(`2022-06-28T12:13:51Z` = 北京时间 20:13:51),对时间线时 +8h,避免误判。 - **命令行工具字符集**:中文系统下 `findstr`/日志文本多为 GBK;PowerShell 输出统一可加 `[Console]::OutputEncoding=[Text.Encoding]::UTF8`。 ## 图形化 → 命令行对照(本技能的核心改编) | 原书 GUI 操作 | 命令行等价 | |---|---| | 任务管理器看 CPU/内存/网络占用排序 | `Get-Process \| Sort CPU -Desc \| Select -First 10 Name,Id,CPU,Path`;网络 `Get-NetTCPConnection -State Established` | | 任务管理器看进程路径/命令行列 | `wmic process get caption,executablepath,commandline /value` | | 资源监视器(resmon) | `netstat -a -n -o -b` / `Get-NetTCPConnection` / `Get-NetUDPEndpoint` | | regedit 全局搜索 | `reg query <键> /s /f "<关键字>"`(HKEY_LOCAL_MACHINE\SAM 需 `PsExec64 -s` 提权) | | 事件查看器筛选 4624/4625/4688 | `wevtutil qe Security /q:"Event/System/EventID=4625" /f:text /rd:false /c:20` 或 `Get-WinEvent -FilterHashtable @{LogName='Security';Id=4625}` | | taskschd.msc 计划任务 | `schtasks /query /fo LIST /v` / `Get-ScheduledTask`;注册表 `reg query HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tasks /s` | | services.msc / msconfig | `sc queryex` / `sc qc <服务名>` / `Get-CimInstance Win32_Service` / 注册表 Run 键 | | lusrmgr.msc 查隐藏账户 | `wmic useraccount get Name,SID,Status` + `reg query HKLM\SAM\SAM\Domains\Account\Users\Names`(SYSTEM 提权) | | msinfo32 / 系统属性 | `systeminfo` / `wmic qfe list` | | Everything 搜文件 | `es.exe "<语法>"`(CLI 版)或 `dir /s /b`、`forfiles`、`Get-ChildItem -Recurse -Filter` | | IObit Unlocker 解占用 | `handle.exe <文件>` 定位占用进程 → 结束进程后删除 | | sigverif 系统文件签名验证 | `Get-AuthenticodeSignature <文件>` / `sigcheck.exe <文件>` | | certmgr.msc 证书排查 | `Get-ChildItem Cert:\LocalMachine\Root, Cert:\LocalMachine\CA, Cert:\LocalMachine\AuthRoot` | | LastActivityView / FullEventLogView | `wevtutil qe` 组合查询 + Prefetch/Amcache 解析器(PECmd / AmcacheParser,输出 csv) | | Log Parser Lizard | Log Parser 命令行(`LogParser.exe -i:EVT -o:DATAGRID "select ..."`) | ## 人工介入点:Agent 必须提醒用户操作的环节 本技能把手册的 GUI 流程尽可能转成了 CLI,但**仍有部分环节命令行无法完成、或属于高风险授权决策**。Agent 走到这些点时,必须停止自动执行,在回复中明确提醒用户操作——根据你接入的 agentic 工具能力选择"代做并验证"还是"转述给用户"。 ### 判断原则(四类必须介入) 1. **物理/带外操作**:插拔 U 盘/USB 设备、机房断网、镜像备份、写保护 U 盘取样——只能人工。 2. **GUI-only 步骤**:目标机无命令行通道(如仅 RDP 交互、深信服僵尸网络查杀工具内存检索、Process Explorer 杀线程等无 CLI 等价的功能)——人工,或由具备 GUI 自动化能力的 Agent 代做。 3. **高风险授权决策**:杀业务进程/线程注入处置、删除注册表引用、删隐藏账户、恢复服务权限、大范围改密——**必须先向用户确认再执行**,给出风险说明。 4. **外部平台交互**:威胁情报查询、沙箱上传、勒索解密工具获取——有浏览器/网络工具可代办,没有则给用户 URL 和操作指引并索要结果。 ### 按处置阶段的介入点清单 | 阶段 | 介入点 | 给用户的提醒内容 | |---|---|---| | **通道建立** | 目标未开启 WinRM(5985/5986 不通) | 请用户经 RDP/本地控制台在目标机管理员 PowerShell 执行 `Enable-PSRemoting -Force`(工作组成员机另需 TrustedHosts,命令见 `21-winrm.md`),完成后回报;Agent 随后探测 5985 连通性确认 | | | 所有远程通道不可达 | 请用户在本地 shell 跑 `scripts/win-triage.ps1` 并把输出整体回传 | | **进程处置** | 判定为线程级注入(恶意线程附在业务进程内) | 无 CLI 杀线程手段且可能搞崩业务:给用户风险说明与三个选项(GUI 杀线程 / 重启业务进程 / 暂保留观察),等用户选择 | | | 确认目标进程是否恶意 | 可 CLI 暂停(pssuspend),但恢复/终止的时机请用户确认业务窗口 | | | 恶意进程占用关键业务文件 | 提醒用户评估停机窗口后再杀 | | **删除清理** | reg query 发现恶意文件被业务配置引用(web.config、启动脚本等) | 删除前列出引用位置,请用户/运维确认哪些可删 | | | SAM 隐藏账户删除、SDDL 隐藏服务恢复 | 需 SYSTEM 权限且误删业务账户后果严重:先请用户确认账户归属(人名/用途)再动 | | **勒索** | 解密工具运行 | **必须提醒用户先备份加密文件**(二次加密不可逆);ID Ransomware 网页识别给链接请用户上传或由 Agent 代做 | | | 是否交赎金 | 用户/管理层决策,Agent 只给技术评估 | | **BadUSB** | UUID 比对 / 设备分析 | 请用户保管恶意设备并交专业机构;同系统重复插拔比对需人工操作 | | **样本/情报** | 上传沙箱(微步/VT/哈勃)、情报平台查询 | 无浏览器工具时:给出 URL + 上传物说明(文件 hash/样本),请用户操作并回报结论 | | **善后** | 改密范围、横向机器清单 | 需用户提供资产台账(同密码/同管理员/同漏洞机器列表),Agent 不猜 | ### 提醒模板(直接用于回复,不得含糊) ``` ⚠ 需要你人工操作(原因:GUI 步骤 / 物理操作 / 高风险确认) 1.【谁】在【哪台机器/哪个界面】执行【具体步骤或命令】 - 操作路径/命令:<完整给出> - 预期结果:<…> - 完成后请回报:<截图 / 命令输出 / 是否成功> 2. …… 我已自动完成:…;收到你的回报后我将继续:… ``` ### 能力适配(按你接入的工具选择执行方式) - **具备 GUI 自动化**(computer-use 类工具且目标桌面可达):GUI 步骤可代做,完成后截图验证并把结果同步给用户;高风险决策(第 3 类)仍须用户点头。 - **仅 CLI / 远程通道**(WinRM 客户端 / ssh / 云终端):所有 GUI 步骤按提醒模板转述给用户,并给出点击路径(参考原书对应页码的 GUI 章节)。 - **用户离线/批处理**:把全部人工介入点汇总成一份"待人工操作清单"一次性输出,不要执行到一半反复阻塞等待。 ## 远程处置通道(无法直接到目标 shell 时) Windows 取证全部依赖命令行,拿到命令执行通道是第一步。统一走 **Windows 自带 WinRM(TCP 5985/5986)**,无需任何第三方工具(详见 `21-winrm.md`): 1. **目标开放 WinRM** → 直连(首选零落地):有 WinRM 凭据时用 `scripts/win-ir-console-web.py` 控制台一键排查,或用 pywinrm 等任意 WinRM 客户端逐条执行 references 里的命令。 2. **目标未开 WinRM** → **人工介入点**:按提醒模板请用户经 RDP/本地控制台执行 `Enable-PSRemoting -Force`(及 TrustedHosts 配置),开启后走直连。 3. **能直接开 CMD/PowerShell**(本地控制台/云终端/已有跳板)→ 直接跑 references 里的命令。 ## 检查时的注意事项 - **隐藏账户**:`net user` 看不到以 `$` 结尾账户和克隆账户,必须 `wmic useraccount` + SAM 注册表(PsExec -s)交叉比对;删除时 Names 键和对应 000003EA 十六进制键都要删(`13-checklist-accounts.md`)。 - **计划任务机制**(p737 实验):执行由注册表 TaskCache 决定而非 Tasks 目录文件;注册表修改需重启 Schedule 服务生效;`schtasks` 看不到的隐藏任务用注册表 + 日志排查(`14-checklist-persistence.md`)。 - **服务隐藏**:SDDL 权限隐藏的服务 `sc query` 报"拒绝访问",枚举法(reg 遍历 + sc query 交叉)可揪出;杀软/工具枚举同样失效(`19-appendix.md` §0x12)。 - **RDP 爆破日志特征**:4625 + 登录类型 3 + **源端口 0**(SMB 爆破源端口非 0,这是区分点);RDP 成功登录才有类型 10(`06-brute-force.md`)。 - **MSSQL**:登录失败默认不记成功;`xp_cmdshell` 启用会留配置变更日志;扩展存储过程/程序集按 modify_date 排序排查(`11-mssql.md`)。 - **Defender 排除项**:`Get-MpPreference` 查 ExclusionPath/ExclusionProcess——挖矿木马常给自己加白,处置时 `Remove-MpPreference` 解除。 - **威协情报/沙箱**:微步在线、Virustotal、360/安恒/绿盟/腾讯/安天情报中心;沙箱:微步云沙箱、哈勃、奇安信情报沙箱、魔盾、360沙箱云。勒索解密:No More Ransom、ID Ransomware、各厂商解密工具——解密前**先备份**防二次加密。
Auf GitHub ansehen