发布时间:2026/7/22 13:19:09
Windows 主机应急排查工具:基于 PowerShell 的只读安全初筛与处置建议生成器 Windows 主机应急排查工具基于 PowerShell 的只读安全初筛与处置建议生成器作者ddmd123在 Windows 主机出现异常进程、弹窗、网络连接、远程登录或安全软件告警时现场技术人员通常需要快速回答几个问题当前是否存在可疑进程或持久化对象哪些服务、计划任务或启动项需要重点核实是否存在异常 RDP 登录或外部连接Defender 是否被关闭或配置了危险排除项如何保留证据避免误删业务文件客户电脑没有 Python 环境时能否直接运行排查工具针对这些场景我整理并开源了一个基于Windows PowerShell 5.1的只读安全初筛工具Windows IR TriageGitHubGitHub - dmd777/windows-ir-triage: Read-only Windows security triage, persistence evidence collection, and remediation guidance. Public Beta. · GitHub当前版本v4.1.1-beta Public Beta / 公开测试版一、为什么使用 PowerShell这个项目没有使用 Python也没有使用 Bash 或 Shell而是选择 Windows PowerShell主要原因是它更适合 Windows 主机现场排查。标准 Windows 10/11 通常已经内置 Windows PowerShell 5.1客户不需要额外安装Python pip Node.js Git Bash 数据库 第三方运行库PowerShell 可以直接调用 Windows 原生管理接口例如Get-CimInstance Get-ScheduledTask Get-WinEvent Get-NetTCPConnection Get-MpPreference Get-LocalGroupMember Get-BitsTransfer Get-AuthenticodeSignature这些接口可以直接访问进程 服务 计划任务 注册表 Windows 事件日志 Defender WMI/CIM 网络连接 本地用户和高权限组 组策略 BITS NTFS ADS如果使用 Python通常还需要确认客户电脑是否安装 Python、pip 和依赖包。使用 Shell则不适合直接访问 Windows 注册表、Defender、计划任务和事件日志。因此这个项目的部署方式比较简单复制 PowerShell 脚本 以管理员身份运行 生成扫描报告 交给技术人员分析二、项目定位Windows IR Triage 是一个Windows 主机只读安全初筛工具 持久化线索采集工具 证据文件生成工具 人工处置建议生成工具它不是杀毒软件 EDR 自动清除工具 恶意软件最终判定工具 主机安全证明工具扫描结果中的PASS只表示当前规则没有命中不代表主机绝对安全。如果检查受权限、模块或系统策略影响报告会记录INCOMPLETE LIMITED UNSUPPORTED这些状态必须由技术人员单独查看不能解释为“没有风险”。三、扫描范围当前版本主要检查以下内容运行进程 系统服务 计划任务 注册表 Run/RunOnce 启动目录 IFEO 映像劫持 Hosts 文件 用户代理和 WinHTTP 代理 TCP 网络连接 WMI 事件订阅 Web 目录脚本 Temp 目录时间线 BITS 任务 Defender 配置和排除项 Winlogon 自动登录 高级注册表持久化 NTFS 备用数据流 ADS RDP 外部连接和登录事件 组策略脚本 组策略注册表参数 本地账户和高权限组重点关注的典型线索包括系统程序名称伪装 用户可写目录中的可执行文件 LocalSystem 服务指向 Temp/AppData 编码 PowerShell 计划任务 异常 rundll32 DLL 参数 WMI 命令行或脚本消费者 Defender 危险排除项 外部 RDP 成功登录 IFEO Debugger 或 VerifierDlls 异常组策略脚本 启用的异常本地高权限账户四、如何运行下载仓库后使用 Windows PowerShell 5.1以管理员身份进入项目目录cd .\windows-ir-triage运行主扫描器Set-ExecutionPolicy -Scope Process Bypass -Force .\scripts\Invoke-WindowsIRTriage.ps1也可以直接运行中文文件名版本.\scripts\一键全盘深度扫描排查v4.1.1.ps1扫描结果默认保存到C:\temp\IR_Scan_YYYYMMDD_HHMMSS\主要报告文件包括high_risk_findings.csv scan_check_status.csv process_risk.csv service_risk.csv all_scheduled_tasks.csv scheduled_task_risk.csv network_connections.csv rdp_activity.csv rdp_logon_events.csv defender_preferences.txt group_policy_scripts.csv local_users.csv local_group_members.csv scan_transcript.txt context.json五、如何生成处置建议扫描完成后可以使用处置建议生成器.\scripts\New-WindowsIRRemediation.ps1 -ScanReportDir C:\temp\IR_Scan_YYYYMMDD_HHMMSS会生成Remediation\ ├─ 客户处置说明.txt ├─ 证据采集命令.ps1 ├─ 确认后处置命令.ps1 └─ 处置对象清单.csv其中客户处置说明.txt面向客户或一线技术人员说明发现对象、风险等级和处理步骤。证据采集命令.ps1用于采集哈希、签名、服务配置、任务 XML、事件日志、注册表和其他证据。确认后处置命令.ps1用于输出人工确认后的处置建议。重要的是处置命令默认全部注释例如# Stop-Process ... # Remove-Item ... # sc.exe stop ... # sc.exe delete ... # Disable-ScheduledTask ... # Unregister-ScheduledTask ... # Set-MpPreference ... # Remove-MpPreference ... # logoff SessionId生成器不会执行这些命令。只有技术人员核对证据、确认业务影响并确认对象确实恶意或未授权后才可以按流程手工取消注释。六、证据采集的安全设计证据命令使用以下形式保存查询结果 { 查询命令 } 21 | Out-String -Stream | Out-File ...这样可以同时保留正常输出 错误输出 权限不足信息 命令不存在信息 查询失败信息查询失败不能被当成空结果也不能被解释为“没有风险”。例如 IFEO 对象会额外采集IFEO 实时注册表值 GlobalFlag Debugger VerifierDlls Verifier DLL 文件属性 Verifier DLL SHA-256 Verifier DLL 数字签名这比单纯读取扫描 CSV 更适合现场复核。七、测试和质量控制项目包含 PowerShell 回归测试.\tests\Invoke-ScannerContractRegression.ps1 .\tests\Invoke-RemediationRegression.ps1 -Root $env:TEMP\IR_Remediation_Regression通过时输出SCANNER CONTRACT: PASS REGRESSION: PASS测试覆盖计划任务风险分类 编码 PowerShell 参数识别 ClipRenew.exe -e 系统任务降噪 同名计划任务路径匹配 32/64 位 IFEO 路径匹配 RDP Review 和 High 分级 进程与网络对象合并 核心 CSV 损坏处理 组策略注册表路径转换 Defender 空排除项 处置命令默认注释 恶意报告字段换行注入防护GitHub Actions 会在代码推送或 Pull Request 时自动执行PowerShell 语法检查 扫描器契约测试 处置生成器回归 运行报告产物检查当前 CI 已经通过。八、当前版本的已知限制这是一个规则型安全初筛工具仍然存在以下限制可能产生误报可能漏报未知持久化方式不替代杀毒软件或 EDR不替代完整内存取证不替代磁盘镜像分析不替代域控和集中式日志分析Web 目录和 ADS 检查有资源上限RDP 判断依赖安全日志是否可读取企业代理、Hosts、组策略、Office IFEO 和安全软件配置需要结合业务基线GitHub Actions 不能替代真实 Windows 10 主机验收。当前主要验证目标是Windows 10 22H2 Windows PowerShell 5.1兼容目标包括Windows 11 Windows Server 2016 Windows Server 2019 Windows Server 2022 Windows Server 2025九、隐私注意事项扫描报告可能包含主机名 用户名 域名 IP 地址 文件路径 文件哈希 本地账户 进程命令行 事件日志内容 注册表信息因此绝对不要把以下内容上传到公开 GitHub IssueIR_Scan_* 原始报告 RemediationEvidence scan_transcript.txt context.json EVTX/ETL 日志 注册表导出 内存转储 恶意样本 客户内部 IP 客户主机名和用户名如果需要提交 Bug应使用合成数据和文档地址192.0.2.0/24 198.51.100.0/24 203.0.113.0/24不要直接把客户真实报告发到公共平台。十、项目下载GitHub 仓库https://github.com/dmd777/windows-ir-triage当前公开测试版本Release Windows IR Triage v4.1.1 Public Beta · dmd777/windows-ir-triage · GitHubRelease 附件包括Invoke-WindowsIRTriage.ps1 New-WindowsIRRemediation.ps1 SHA256SUMS.txt下载后建议校验 SHA-256Get-FileHash .\Invoke-WindowsIRTriage.ps1 -Algorithm SHA256 Get-FileHash .\New-WindowsIRRemediation.ps1 -Algorithm SHA256然后与SHA256SUMS.txt中的值比对。十一、总结如果客户主机主要是 Windows 10而现场电脑不一定安装 Python那么 PowerShell 是更合适的技术选择。这个项目的特点是无需安装 Python 无需安装 Node.js 无需安装第三方运行库 基于 Windows PowerShell 5.1 适合 Windows 现场排查 只读扫描 证据可保存 处置命令默认注释 支持回归测试和 GitHub Actions它的目标不是替代专业安全平台而是让 Windows 主机现场能够更快地完成初步发现 证据保留 风险分级 人工复核 处置建议生成欢迎在 GitHub 提交合成数据复现的问题和改进建议。发布时建议使用以下标签Windows PowerShell Incident Response DFIR Cybersecurity Threat Hunting Endpoint Security文章末尾最好保留这句免责声明本工具用于安全初筛和证据采集不构成主机安全或无感染证明。任何删除、停止、禁用、注销和配置修改操作都必须由具备相应权限和经验的技术人员在保存证据、确认业务影响后执行。

相关新闻

2026/7/22 13:19:09

跨境电商BI最佳实践FAQ:客户最常问的10个落地问题与答案

导语 在跨境电商领域,很多企业对BI的认知还停留在“BI就是做固定报表”的阶段,这其实是一个典型的认知误区。不少跨境卖家初期引入BI,只是为了把分散在亚马逊、速卖通、独立站等多平台的订单、库存、广告数据整合起来,自动生成日周…

2026/7/22 13:19:09

tchMaterial-parser电子教材解析工具技术解析与深度指南

tchMaterial-parser电子教材解析工具技术解析与深度指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载,让您更方便地获取课本内容。 项目地址: https:/…

2026/7/22 13:19:09

Nginx启动流程与进程通信机制深度解析

1. Nginx启动流程全景解析 Nginx作为高性能Web服务器的代表,其启动过程的设计直接影响着服务的稳定性和性能表现。通过分析源码我们可以发现,Nginx的启动过程主要分为配置解析、模块初始化和进程管理三个阶段。整个启动流程围绕着ngx_cycle_t这个核心数据…

2026/7/22 14:24:13

【Linux网络·加餐】HTTPS协议安全

🎬 个人主页:艾莉丝努力练剑❄专栏传送门:《C语言》《数据结构与算法》《C/C干货分享&学习过程记录》 《Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享》⭐️为天地立心,为生民立命…

2026/7/22 14:24:13

FastAPI vs Spring Boot:6个月生产环境实战对比与选型指南

前言:别再争论框架了! 在技术选型时,FastAPI 与 Spring Boot 的争论从未停止。Python 阵营推崇 FastAPI 的现代与高效,Java 阵营则坚信 Spring Boot 的稳健与生态。然而,脱离生产环境的纸上谈兵往往缺乏说服力。 本文…

2026/7/22 14:24:13

越擎科技专访 | iRobotCAM机器人离线编程软件如何破解大尺寸机器人3D打印落地难题,让复杂制造走向智能化

从机器人“会运动”到“会制造”,工业软件成为机器人3D打印产业化关键近年来,3D打印技术正在从消费级产品制造,快速向工业制造领域纵深发展。如果说桌面级3D打印解决的是“小尺寸、快速成型”的需求,那么机器人3D打印正在探索的是…

2026/7/22 14:24:13

基于MATLAB的睡眠呼吸暂停信号分析与辅助检测系统的设计与实现

摘要:睡眠呼吸暂停综合征(Sleep Apnea Syndrome, SAS)是一种常见的睡眠障碍疾病,患者在睡眠过程中会出现反复呼吸暂停或低通气现象,长期可能导致心血管疾病、认知功能下降等严重健康问题。传统睡眠监测方法通常依赖专业…

2026/7/22 14:24:13

无线麦克风一开多就断信号?

很多音响从业者和演出团队都遇到过这个典型问题:单支无线麦克风单独测试时信号稳定、音质清晰,但同时开启多支话筒后,就会随机出现个别麦克风无信号、断频、串音甚至完全无声的情况。这并非设备质量问题,而是典型的无线麦克风串频…

2026/7/22 14:19:13

2D动画制作全流程指南:从工具选择到技术实践

这次来看一个名为《莫比乌斯号的船医》的2D动画项目,发布日期标注为20260518。从标题和日期来看,这应该是一个未来发布的动画作品,但目前网络上可查到的具体信息非常有限。作为技术博客,我们需要从动画制作的技术角度来探讨这类2D…

2026/7/22 9:29:13

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/22 0:02:17

抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具

抓包代理链路下的 TLS 指纹变化分析:为什么调试环境会影响访问结果 摘要 在网页调试、接口联调、自动化巡检和授权采集排查中,抓包是常见手段。但很多开发者会遇到一个现象:正常访问页面时没有问题,一进入抓包或代理调试环境&…

2026/7/22 0:02:17

微信QQ聊天记录误删恢复与备份方案全指南

1. 聊天记录误删的常见场景与恢复思路作为一名长期关注数据安全的技术博主,我处理过上百起聊天记录误删的求助案例。手机误操作、系统升级失败、设备损坏是三大常见诱因。上周就遇到用户更新微信时断电,导致近两年的工作群聊记录全部消失的极端案例。不同…

2026/7/22 0:02:17

2026最新8款个人AI编程免费工具深度实测

作为一名全栈独立开发者,我最近半年一直在折腾副业项目,每个月在AI编程工具上的订阅费算下来其实也不算便宜。作为个人开发者,我们追求的就是用最少的成本获得最高效的开发体验。TRAE 基础版免费,字节跳动出品的国内首款 AI 原生 …

2026/7/21 20:02:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…