一个用PowerShell构建的个人Windows SOC套件——监控网络连接、资源使用、计划任务和电源事件,具有严重性分类和基线检测。
一个在Anwendungsentwicklung再培训项目中从零开始构建的个人安全运营中心(SOC)。该套件监控Windows终端的网络异常、资源峰值、进程执行、注册表更改、安全事件日志活动、计划任务更改、DNS查询和电源事件——将所有内容记录到结构化文件中,以便通过Python引擎进行每周分析和关联。

单页Flask仪表盘。12个采集器+关联引擎全部激活,实时资源监控器,出站连接馈送,采集器事件磁贴,以及流式引擎告警。
作为正式IT再培训的同时构建的实践学习项目,该套件将真实的SOC概念——基线收集、异常检测、严重性分类、日志聚合和跨源关联——应用于个人Windows机器。设计过程从一开始就采用对抗式:每个阶段在构建下一阶段之前都经过红队分析的压力测试,由此发现的48条关联规则推动了Python引擎的架构。
开发进展跟踪在roadmap.md中——当前状态、第9阶段取证引擎计划以及长期加固目标。
仪表盘作为Flask服务器运行,并且需要管理员权限以进行采集器进程检测。克隆后在桌面上创建快捷方式:
将 C:\path\to\SOC 替换为您实际的安装路径。
3. 命名为:SOC Dashboard
4. 右键单击快捷方式 → 属性 → 高级 → 勾选以管理员身份运行
5. 单击确定
该快捷方式会启动 Flask,等待其就绪,然后自动打开浏览器。如果 Flask 已在运行,则会跳过启动直接打开浏览器。如果未以管理员权限运行该快捷方式,状态点将显示灰色。
仪表盘强制执行清晰的启动/停止序列,确保审计器书签(早晨完整性检查,傍晚哈希链验证)始终按顺序运行。

所有收集器心跳均为红色(健康文件缺失或已停止)。“关闭仪表盘”按钮隐藏——在结束日运行之前,仪表盘不允许关闭。

启动日运行晨间审计器书签(SHA256日志验证、归档哈希链验证),并启动所有12个收集器及关联引擎。每个收集器报告后,心跳变为绿色。

结束日按顺序停止所有收集器并运行傍晚审计器书签。序列运行期间收集器点保持绿色;状态行显示正在运行审计器傍晚…

傍晚审计完成后,所有收集器点变为红色,状态行显示傍晚审计完成。可安全关闭。,“关闭仪表盘”按钮出现——单击它将干净地终止Flask进程。

浏览器标签页需手动关闭(浏览器未向外部进程暴露关闭API)。
收集器事件磁贴显示每个源最近按严重性标记的事件。引擎告警流实时推送Python引擎的关联发现结果,包含规则编号、置信度分数、完整证据链和SHA256证据哈希。

示例:规则35(原始磁盘读取)在 powershell.exe 打开指向 \Device\HarddiskVolume3 的原始句柄时触发,规则31(DLL加载异常)标记从用户可写路径加载Defender DLL。两者均包含完整的进程来源和文件哈希。
该套件采用三层架构:
采集层 — PowerShell收集器在后台持续运行,每个收集器监控特定数据源,写入结构化、带严重性标签的日志条目。所有收集器都需要管理员权限。
分析层 — PowerShell分析脚本解析收集的日志并生成每周摘要报告。以普通用户身份运行。
关联引擎(阶段7 — 已完成) — Python引擎摄入所有收集器日志,将事件标准化为通用模式,并在所有数据流上运行基于规则和风险评分的关联。三个程序:
| 程序 | 阶段 | 角色 |
|---|---|---|
| 关联引擎 | 7 — 已完成 | 摄入、标准化、关联、告警(SQLite操作存储) |
| SOC仪表盘 | 8 — 已完成 | 实时可见性 — 收集器健康、告警、证据链(Flask) |
| 取证引擎 | 9 — 已规划 | 事后调查 — 超级时间线、进程谱系、信标分析、持久性审计、仅追加证据数据库 |
| 取证仪表盘 | 9 — 已规划 | 汇总取证结论 — 颜色编码状态、报告生成、证据导航 |
| 阶段 | 脚本 | 昵称 | 功能 |
|---|---|---|---|
| 1 | Sentinel.ps1 | 网络守卫 | 出站TCP连接(含地理位置)、进程路径验证和累积传输跟踪 |
| 1 | Bulwark.ps1 | 夜巡者 | 入站监听端口 — 基线差异检测、新建/关闭端口检测、地理位置异常 |
| 1 | Steward.ps1 | 军需官 | 使用Windows性能计数器按进程监控CPU、内存和磁盘I/O,支持8种语言自动检测 |
| 1 | CityGuard.ps1 | 城卫 | 计划任务添加、删除和修改 — 操作和触发器变更检测 |
| 1 | Watchman.ps1 | 守望者 | 电源事件 — 启动、睡眠、唤醒、意外关机及非工作时间活动 |
| 2A | Registry_Warden.ps1 | — | 注册表运行键、RunOnce、服务基线差异检测,SAM RID完整性检查 |
| 2B | Harbinger.ps1 | — | WMI/CIM事件驱动进程创建监控 — 高风险路径检测、父进程跟踪 |
| 3 | Bloodhound.ps1 | — | DNS查询监控 — 通过香农熵检测DGA、TXT记录标记、ICMP流量突增检测 |
| 4 | Warden.ps1 | — | 套件看门狗 — SHA256脚本FIM、日志大小回归、收集器健康、维护标志、自监视计划任务 |
| 5 | SecEventLog.ps1 | — | Windows安全事件日志 — 登录异常、账户操作、权限提升、服务安装、暴力破解检测 |
| 6 | DoH_Detector.ps1 | — | DNS-over-HTTPS绕过检测器 — 来自非白名单进程到28个已知DoH解析器IP的TCP连接 |
| 7 | SysmonWatcher.ps1 | — | Sysmon内核级事件监控 — 进程注入、LSASS访问、原始磁盘读取、未签名驱动加载、WMI持久化、浏览器调试器附加(22个事件ID) |
| 脚本 | 昵称 | 功能 |
|---|---|---|
| Investigator.ps1 | 审计报告员 | 每周分析Sentinel出站连接日志 |
| Crow.ps1 | 总司令 | 每周分析Bulwark入站端口日志 |
| Ledger.ps1 | 学士 | 每周分析Steward资源日志(含内存趋势检测) |
| Castellan.ps1 | 城堡总管 | 每周分析CityGuard计划任务日志 |
| Auditor.ps1 | — | 晨间/傍晚书签完整性审计 — SHA256日志验证、归档哈希链验证 |
通过多轮红队分析定义(参见文档)。在阶段7实施。
| # | 规则 | 严重性 | 来源 |
|---|---|---|---|
| 1 | 疑似数据泄露 | 高 | Steward + Sentinel |
| 2 | 疑似C2信标 | 高 | Sentinel + Bulwark |
| 3 | 持久化+C2回呼 | 严重 | CityGuard + Sentinel |
| 4 | 非工作时间入侵 | 严重 | Watchman + Sentinel |
| 5 | 数据暂存 | 高 | Bulwark + Steward |
| 6 | LOLBin网络活动 | 严重 | Sentinel |
| 7 | 疑似进程挖空 | 严重 | Harbinger + Sentinel |
| 8 | 疑似DoH绕过 | 严重 | DoH_Detector |
| 9 | 疑似WMI持久化 | 高 | Harbinger + CityGuard |
| 10 | 账户篡改 | 严重 | SecEventLog |
| 11 | 突发泄露模式 | 高 | Sentinel |
| 12 | 欠阈值持续进程 | 可疑 | Sentinel + Steward |
| 13 | 疑似初始访问 | 严重 | Harbinger + Sentinel |
| 14 | 可信二进制异常 | 可疑→严重 | Sentinel |
| 15 | 统计抖动检测器 | 高 | Sentinel |
| 16 | 上下文完整性违反 | 严重 | Harbinger + Sentinel |
| 17 | 身份/RID劫持 | 严重 | Registry_Warden + SecEventLog |
| 18 | 关联引擎健康 | 中 | Python Core |
| 19 | 自我保护/脚本FIM | 严重 | Warden |
| 20 | 统计时间漂移 | 中 | Steward + Sentinel |
| 21 | 解释器锁定/BYOI | 高 | Harbinger |
| 22 | 云API异常 | 高 | Sentinel |
| 23 | HID注入检测器 | 严重 | WMI设备事件 |
| 24 | 邪恶双子/WiFi幽灵 | 严重 | 网络监控 |
| 25 | 焦点窃取/窗口劫持 | 高 | Win32 API |
| 26 | 访问完整性检查 | 高 | 所有收集器 |
| 27 | 延迟初始访问 | 严重 | Harbinger + Sentinel (SQLite监视列表) |
| 28 | 浏览器调试器附加 | 严重 | SysmonWatcher (事件ID 10) |
| 29 | 内核进程注入 | 严重 | SysmonWatcher (事件ID 8) |
| 30 | 未签名驱动加载 | 严重 | SysmonWatcher (事件ID 6) |
| 31 | 可疑镜像加载 | 可疑 | SysmonWatcher (事件ID 7) |
| 32 | WMI订阅绑定 | 严重 | SysmonWatcher (事件ID 19/20/21) |
| 33 | 疑似LSASS访问 | 严重 | SysmonWatcher (事件ID 10) |
| 34 | 原始磁盘读取 | 严重 | SysmonWatcher (事件ID 9) |
| 35 | 创建可执行文件 | 可疑 | SysmonWatcher (事件ID 11) |
| 36 | AMSI提供程序篡改 | 严重 | SysmonWatcher (事件ID 12) |
| 37 | 命名管道可疑 | 可疑 | SysmonWatcher (事件ID 17/18) |
| 38 | 已下载可执行文件 | 高 | SysmonWatcher (事件ID 15) |
| 39 | 进程挖空确认 | 严重 | SysmonWatcher (事件ID 25) |
| 40 | 持续欠阈值CPU负载 | 可疑 | Steward + Sentinel |
| 41 | 盲窗口利用 | 高/严重 | Python引擎(收集器DOWN+并发事件) |
| 42 | 协调收集器抑制 | 严重 | Python引擎(≥2个收集器同时DOWN) |
| 43 | 意外脚本引擎生成 | 可疑 | Harbinger(已知恶意父进程→脚本引擎) |
| 44 | 来自高风险路径的脚本 | 高 | Harbinger(43 + 引擎二进制位于用户可写路径) |
| 45 | 脚本引擎网络回调 | 严重 | Harbinger + Sentinel(43 + 出站连接) |
| 46 | 完整供应链执行链 | 严重 | Harbinger + Sentinel(恶意父进程+释放+回调) |
| 47 | 混淆/编码执行 | 高 | Harbinger(-EncodedCommand / Hidden+Bypass组合) |
| 48 | 已知恶意父子对 | 严重 | Harbinger(特定高置信度配对,零合法用途) |
所有收集器使用一致的四级严重性系统:
| 级别 | 颜色 | 含义 |
|---|---|---|
| 正常 | 绿色 | 匹配已知基线,无需操作 |
| 未知 | 黄色 | 尚未建立基线,监控模式 |
| 可疑 | 暗黄色 | 检测到异常,请调查 |
| 严重 | 红色 | 阈值被突破,立即审查 |