imi-tech-lab/imi-guard
GitHub: imi-tech-lab/imi-guard
一款便携式、离线运行的 Windows 终端只读安全审计工具,提供安全评分、CIS 基线检查与事件调查时间线,帮助快速评估终端安全态势。
Stars: 0 | Forks: 0
IMI Guard v2.1(“证据与置信度”版本)
SHA-256:
200B50BA5C9FF9A9E77ACED6954E2F230AA4EEA8A940249CB3FB95B5EDC406FC
在 PowerShell 中验证您的下载:
Get-FileHash .\IMIGuard.exe -Algorithm SHA256
便携式、只读的 Windows endpoint 安全审计工具。单一的自包含可执行文件,
无需安装程序,也不需要互联网连接。可作为图形界面应用运行,或完全以无头模式
进行大规模部署。
v2.1 新特性:针对各项发现的置信度与类型、基于置信度的评分、审计完整性
面板、按区域划分的风险汇总管理器,以及三个新模块 - 易受攻击/停止支持的软件
检测、Windows Event ID 参考以及 LAN 设备智能识别(NIC 供应商 + 设备类型)。
有关完整详情,请参阅 MANUAL.pdf。
# ============================================================
兼容性(需要安装任何东西吗?)
IMI Guard 是一个单一的自包含 .exe 文件,不包含任何第三方库。它仅依赖于两个
属于 Windows 自身的组件:.NET Framework 4.6+ runtime 和 PowerShell 5.1。
- Windows 10、Windows 11、Server 2016/2019/2022:两者均内置。无需安装 -
解压并运行即可。完全离线。
- Windows 8.1 / Server 2012 R2:需先安装 .NET 4.8 和 WMF 5.1(部分收集器受限)。
- Windows 7 SP1 / Server 2008 R2:在安装 .NET 4.8 + WMF 5.1 后可运行,但许多收集器
不可用,且该操作系统已停止支持。不建议使用。
- 早于 Windows 7 SP1 的版本:不支持。
检查任意机器: powershell -ExecutionPolicy Bypass -File .\check_prereqs.ps1
适用于旧系统的离线安装程序:请参阅 prereqs\README.txt(Microsoft 可再发行组件需
下载一次并放置在 prereqs 文件夹中;由于许可原因,它们不能在此处捆绑提供)。
# ============================================================
运行(图形界面)
1. 双击 IMIGuard.exe(它会自动请求管理员权限)。
2. 选择快速、完全或事件模式。
3. 选择可选的证据模块(包括可选的 Active LAN 扫描)。
4. 点击开始审计。使用取消可停止正在运行的扫描。
5. 完成后,使用打开报告 / 打开 PDF / 打开输出文件夹。
# ============================================================
运行(无头 / 大规模部署)
适用于 RMM、SCCM、Intune、GPO 启动脚本或计划任务(以 SYSTEM/提升的权限运行):
IMIGuard.exe --silent --mode Full --out D:\audits
选项:
--mode 审计深度(默认:Full)。
--out 基础输出文件夹(默认:exe 旁边的 audit_results)。
--config 用于品牌标识/ engagement 元数据的 winguard.config.json。
--baseline | --no-baseline 与之前的基线进行比较(默认:开启)。
--lan | --no-lan 被动 LAN 清单(默认:关闭)。
--active-scan 自愿开启的激进扫描:对本地子网
进行 ICMP 扫描 + TCP 探测(默认:关闭;仅限授权网络)。
--no-connections --no-developer --no-browser --no-usb --no-reputation
-h, --help 完整用法。
退出代码(供自动化程序根据风险进行分支处理):
0 极佳 1 良好 2 需要改进 3 高风险 4 严重风险
64 用法错误 65 运行时错误 66 已取消
# ============================================================
审计覆盖范围
- 系统和操作系统身份
- 本地用户、管理员和 RDP 用户
- Windows 防火墙配置文件和入站暴露面
- Microsoft Defender 健康状况、排除项和检测结果
- RDP 状态、监听器、身份验证和失败登录
- TCP/UDP 监听器和选定的已建立连接
- 远程访问工具(AnyDesk、TeamViewer、RustDesk、VNC、Tailscale、RMM、VPN 工具)
- 启动文件夹、Run 键、Winlogon、IFEO、PowerShell 配置文件
- 高级持久化(ASEP):LSA 安全/身份验证/通知包、BootExecute、
打印处理器/监视器、用户级 COM 注册(COM 劫持)以及 Shell 扩展
- 服务和自动启动服务
- 计划任务
- SMB 共享和 SMB 服务器配置
- 已安装软件清单
- Windows Update、补丁和待处理的重启状态
- 事件日志时间线(账户更改、服务安装、Defender、任务创建、登录)
- PowerShell 事件/历史记录排查
- 危险进程/文件位置中的恶意软件指标排查
- WMI 事件持久化
- 代理、DNS、hosts 文件和最近的根证书
- TPM、Secure Boot、BitLocker 和 UAC
- 仅限浏览器扩展清单
- 网络连接历史:已知网络(首次/最后一次连接、网关 MAC)、Wi-Fi 和
VPN/RAS 连接事件、VPN 配置文件/适配器以及蜂窝网络/调制解调器/网络共享适配器
- USB 设备历史:每个设备首次安装、最后一次连接、最后一次移除、会话
持续时间、存在状态和序列号
- WSL、Docker、虚拟机、VPN 和开发者暴露面
- 针对服务/启动项/任务/监听器的数字签名和 SHA256 哈希检查
- 被动 LAN 清单(无扫描),以及在明确同意下的本地子网主动扫描
- 针对新增端口、服务、任务、管理员、Defender 排除项、远程
工具和根证书的基线比较
- 发现项的 MITRE ATT&CK 技术映射(可通过 rulecatalog.json 配置)
- 用于批准的已知安全发现的可编辑 whitelist.json
- 包含检查、修复和验证命令的离线技术人员操作库
重复的发现(例如许多未加引号的服务路径)会被合并为带有实例计数的单行,
从而保证安全评分的合理性并提高报告的可读性。
# ============================================================
配置文件(首次运行时在 exe 旁边创建)
- winguard.config.json 品牌标识/ engagement:组织、客户、engagement id、分析师、
分类横幅、Logo 路径、报告页脚。
- whitelist.json 隐藏已批准的已知安全发现。
- rulecatalog.json 每个规则的 MITRE 技术/参考以及可选的严重性覆盖,
无需重新编译即可编辑。
# ============================================================
输出(位于 audit_results 下带有时间戳的文件夹中)
- report.html 交互式报告:严重性分布图、类别图表、实时搜索、
严重性过滤器、可排序表格、可折叠部分。可直接打印。
- report.pdf 带有品牌标识的 PDF 摘要。
- audit_metadata.json 汇总锚点:schema 版本、资产 id、评分、计数、engagement。
- winguard_run.log 带有各收集器执行时间的工具执行审计追踪。
- findings.json / findings.csv
- technician_action_guide.md
- summary.txt
- baseline_current.json / baseline_diff.html
- whitelist_suppressed_findings.json
- raw_evidence/*.json
- CSV 导出:network_ports、installed_apps、services、scheduled_tasks、file_reputation、
rdp_history、logon_history、network_history、usb_history、active_lan_hosts
每次审计都会链接到一个稳定、不可逆的资产 ID(WGA-...),该 ID 源自机器
身份标识,因此可以对同一 endpoint 的重复扫描进行随时间推移的跟踪和汇总。
# ============================================================
安全与道德
- 只读审计。不进行清理或自动修复;报告中的修复命令仅为
指导参考,绝不会由该工具执行。
- 不进行漏洞利用检查。不收集密码、cookie、已保存的凭据、私人文档、浏览器历史
记录或 token。不上传任何文件。
- 默认为被动 LAN 清单。Active LAN 扫描默认处于关闭状态,需要明确
自愿开启(在 GUI 中通过确认提示,或在 CLI 中使用 --active-scan),仅限于
直接连接的本地子网,并且仅执行 ICMP 发现和 TCP 连接探测
(不进行漏洞利用或凭据测试)。仅在您获得授权测试的网络上使用。
# ============================================================
许可
IMI Guard 使用名为 license.key 的离线许可证文件进行授权。应用程序在本地对其进行检查
(不会向任何服务器发送任何内容),并且该文件经过加密签名,因此无法被
编辑或伪造。
要对此副本进行授权,请将您获得的 license.key 放在与 IMIGuard.exe 相同的文件夹中。
如果没有有效的许可证,该工具仍会运行,但报告会被标记为“UNLICENSED - EVALUATION”,并且
界面会显示横幅。如果您的许可证已过期,请联系您的供应商续订。
要申请或续订许可证,请联系您的 IMI Guard 供应商。
# ============================================================
构建
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1
使用标准 Windows 系统上已有的 Windows .NET Framework C# 编译器;无需
安装任何软件包。构建过程嵌入了应用程序清单(管理员 + DPI 感知)。
代码签名(建议用于企业部署)如果在
构建前通过环境变量提供了证书,则会自动运行:
WG_SIGN_THUMBPRINT 本地存储中代码签名证书的指纹,或者
WG_SIGN_PFX .pfx 文件的路径(+ 可选的 WG_SIGN_PFX_PASSWORD)
如果未提供,构建仍会成功,但可执行文件将是未签名的。
构建过程还会生成 release\ 和 IMIGuard_release.zip。
# ============================================================
测试
规则引擎回归测试(合成证据 -> 预期发现项):
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\tests\run_tests.ps1
退出代码 0 = 所有测试通过。
标签:AI合规, CIS基线, HTTP工具, Libemu, 安全合规, 数据包嗅探, 无线安全, 终端安全, 网络代理