at0m-b0mb/Windows-Info-Gatherer

GitHub: at0m-b0mb/Windows-Info-Gatherer

一款基于 PyQt6 的 Windows 主机信息收集与安全审计工具,通过只读方式全面采集系统状态并生成可导出的结构化报告。

Stars: 2 | Forks: 0

WinRecon — Windows Information Gatherer

WinRecon — Windows 信息收集工具

一个现代的、跨平台的 PyQt6 GUI,它几乎收集了关于 Windows 主机所有值得了解的信息——包括系统、硬件、用户、网络、软件、进程以及内置的安全审计——并将其导出为简洁的 HTML、JSON 或文本报告。

Python PyQt6 Platform Cross License

## ✨ 概述 最初的项目只是一个单文件 `.bat` 脚本。**WinRecon v2** 将其重构为一个完整的桌面应用程序,专为网络安全评估和道德黑客实验室设计。 它将侦察级别的情报收集到一个精致的深色主题界面中,标记出重要的配置错误,并一键生成可共享的报告。 该工具的所有操作都是**只读的**。它从不更改设置、安装任何内容,也不会触碰其他主机的网络——它只读取防御者(或已经获取了主机控制权的攻击者)会首先查看的状态信息。 ## 🚀 功能 | 类别 | 收集的内容 | |----------|------------------| | 🖥️ **系统** | 操作系统名称/版本/构建号、安装日期、启动时间和运行时间、制造商、型号、BIOS、域、注册所有者、当前会话 | | 🧩 **硬件** | CPU(核心/线程/频率/缓存)、内存模块(插槽/速度/部件号)、物理磁盘、带有可用空间的卷、GPU 及驱动程序 | | 👤 **用户与安全** | 本地账户(启用/管理员/上次登录)、本地组、Administrators 成员身份、密码和锁定策略 | | 🌐 **网络** | 网络适配器(IPv4/子网掩码/网关/MAC/DHCP)、DNS、**监听端口及 PID**、SMB 共享,以及**已保存的 Wi-Fi 配置文件及恢复的密钥** | | 📦 **软件** | 已安装的程序(来自注册表)、补丁/KB、关键环境变量 | | ⚙️ **进程与服务** | 运行中的进程、服务(状态/启动模式)、启动/自启动项、非 Microsoft 的计划任务 | | 🛡️ **安全审计** | 防御态势(UAC、Defender、Tamper Protection、防火墙、BitLocker、RDP、SMBv1)以及按优先级排序的**提权与加固建议** | 此外: - 📊 **仪表盘**带有实时统计磁贴,可一目了然地查看顶级安全发现。 - 🔎 **逐页实时搜索**,可即时过滤任何表或字段。 - 🧵 **多线程扫描**,确保 UI 在收集数据时不会卡顿。 - ⤓ **一键导出**为独立的 **HTML** 报告、**JSON** 或 **TXT**。 - 🖥️ **无头 CLI 模式**(`--cli`),适用于服务器和自动化。 ## 📸 截图

Dashboard Security Audit

Network Hardware

More screenshots (System · Users · Software · Processes)

System Users & Security

Software Processes & Services

## 📦 安装 ``` # Clone git clone https://github.com/at0m-b0mb/Windows-Info-Gatherer.git cd Windows-Info-Gatherer # (推荐)创建 virtual environment python -m venv .venv # Windows: .venv\Scripts\activate # macOS/Linux: source .venv/bin/activate # 安装依赖 pip install -r requirements.txt ``` 需要 **Python 3.9+**。唯一的运行时依赖是 **PyQt6**;其他所有功能均使用标准库。 ## 🕹️ 用法 ### GUI ``` python winrecon.py # live scan on Windows, demo data elsewhere python winrecon.py --demo # force the demo dataset (great for demos/screenshots) ``` 使用侧边栏切换类别,使用搜索框过滤当前页面,点击 **↻ Rescan** 刷新,点击 **⤓ Export Report** 保存 HTML/JSON/TXT 文件。 ### CLI / 无头模式 ``` python winrecon.py --cli # print a text report to stdout python winrecon.py --cli --html report.html # write a styled HTML report python winrecon.py --cli --json report.json # machine-readable output python winrecon.py --cli --txt report.txt ``` 为了在 Windows 上获得最完整的结果,请在**提权(管理员)**提示符下运行——某些数据(例如已保存的 Wi-Fi 密钥、完整服务列表)需要此权限。 ## 🧠 工作原理 ``` winrecon.py → entry point (GUI / CLI / --demo) wig/ ├─ collectors/ → one module per category; real Windows commands │ (systeminfo, PowerShell/CIM, netsh, netstat, net, sc, reg…) │ with graceful fallback + demo data ├─ model.py → shared Category/Section/Finding data model ├─ report.py → HTML / JSON / TXT exporters ├─ demo_data.py → realistic demo dataset used off-Windows └─ gui/ → PyQt6 theme, widgets, dashboard and main window ``` 每个收集器都返回相同的结构化模型,因此 GUI 和每种导出格式都从单一事实来源进行渲染。任何不可用的命令(例如较新 Windows 11 上的 `wmic`)只会优雅降级,而不会导致扫描崩溃。 ## ⚖️ 法律与道德使用规范 ## 🗺️ 路线图 - [ ] 通过 WinRM / PsExec 进行远程收集 - [ ] 完整的未加引号服务路径和弱 ACL 提权扫描器 - [ ] 在安全审计页面上进行 CIS 基准评分 - [ ] PDF 导出和两次扫描之间的报告差异对比 欢迎贡献和提出想法——请提交 issue 或 pull request。 ## 📄 许可证 MIT © [at0m-b0mb](https://github.com/at0m-b0mb) — 参见 [LICENSE](LICENSE)。
标签:AI合规, PyQt6, 无线安全, 桌面应用, 系统信息收集, 逆向工具