l0cky12/NOMMA-SECUIRTY

GitHub: l0cky12/NOMMA-SECUIRTY

面向单人安全从业者的 Windows 11 + Wazuh + Entra ID + M365 纯检测监控方案,提供 143 条覆盖多攻击面的自定义规则。

Stars: 0 | Forks: 0

# NOMMA-SECURITY 针对 Windows 11 终端的仅检测安全监控方案,结合 Wazuh SIEM、 Sysmon 遥测、Entra ID 和 Microsoft 365。专为单人安全 从业者设计 —— 无 SOC,无 24/7 运营台,无自动化响应。 ## 本项目检测的内容 | 类别 | 覆盖范围 | |----------|----------| | 勒索软件 | 影卷副本删除、备份篡改、批量文件操作、勒索信 | | 恶意软件执行 | 用户可写目录执行、Office 生成 shell、LOLBin 滥用、可疑进程链 | | 可疑 PowerShell | 编码命令、隐藏窗口、下载载体、执行策略绕过 | | 凭据访问 | LSASS 转储、SAM/SECURITY 配置单元访问、DPAPI 访问、密码喷洒 | | 持久化 | 自动运行键、计划任务、服务创建、WMI 订阅、启动文件夹写入 | | 防御规避 | Sysmon/Wazuh 篡改、Defender 禁用、事件日志清除、防火墙更改 | | 横向移动 | PsExec、远程服务创建、WMI 远程、WinRM、RDP 异常、管理共享访问 | | Entra ID | 密码喷洒、不可能的旅行、高风险登录、特权角色更改、应用同意授权 | | Microsoft 365 | 邮箱转发规则、批量下载、管理员角色更改、外部共享 | | 安全工具篡改 | Wazuh/Sysmon 进程终止、配置文件修改、服务中断 | 跨越 **12** 个规则文件的 **143** 条自定义 Wazuh 规则,**156** 个 MITRE ATT&CK 引用,**5** 个自定义解码器,以及 **9** 条跨源关联规则。 ## 仅检测保证 本项目**不**执行自动化响应、隔离、终止 或修复。任何规则、解码器或配置文件中都不存在 `` 或 `` 块。告警仅用于为人工决策提供信息 —— 它们绝不会代为执行。 ## 架构 ``` ┌──────────────────────────────────────────────────────┐ │ Wazuh Manager │ │ ┌─────────────────┐ ┌───────────────────────────┐ │ │ │ Custom Rules │ │ Entra ID / M365 Ingestion │ │ │ │ (143 rules) │ │ (Graph API polling) │ │ │ └────────┬────────┘ └───────────────────────────┘ │ │ │ │ │ ┌────────┴────────┐ │ │ │ Alert Pipeline │ │ │ │ Critical+High → │─── Email / Push notification │ │ │ Medium → Daily │ │ │ └─────────────────┘ │ └──────────────────────┬───────────────────────────────┘ │ Wazuh agent protocol (TCP 1514) │ ┌──────────────┼──────────────┐ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Win 11 │ │ Win 11 │ │ Win 11 │ │ Endpoint│ │ Endpoint│ │ Endpoint│ │ ┌─────┐ │ │ ┌─────┐ │ │ ┌─────┐ │ │ │Sysmon│ │ │ │Sysmon│ │ │ │Sysmon│ │ │ └──┬──┘ │ │ └──┬──┘ │ │ └──┬──┘ │ │ │ │ │ │ │ │ │ │ │ ┌──┴──┐ │ │ ┌──┴──┐ │ │ ┌──┴──┐ │ │ │Wazuh│ │ │ │Wazuh│ │ │ │Wazuh│ │ │ │Agent│ │ │ │Agent│ │ │ │Agent│ │ │ └─────┘ │ │ └─────┘ │ │ └─────┘ │ └─────────┘ └─────────┘ └─────────┘ ▲ ▲ ▲ └──────────────┼──────────────┘ │ ┌──────┴──────┐ │ Intune │ │ (Sysmon + │ │ Wazuh cfg │ │ deployment)│ └─────────────┘ ``` ## 前置条件 ### 必需项 - **Wazuh Manager 4.x** — 已部署且 agent 可访问 - **Windows 11 终端** — 已安装 Wazuh agent(2026 年 2 月版本或 更高版本,以支持内置 Sysmon) - **Microsoft Intune** — 具备 Win32 应用部署的管理员权限 - **Entra ID 应用注册** — 具有 `AuditLog.Read.All` 和 `Directory.Read.All` 权限以访问 Graph API ### 许可 - **Entra ID P1** — 提供登录日志和目录审计日志(最低要求) - **Entra ID P2** — 提供 Identity Protection 风险检测(不可能的 旅行、泄露的凭据、匿名 IP) - **M365 E5 或合规性附加组件** — 为 SharePoint、OneDrive 和 Exchange Online 操作提供统一审计日志 ### Agent 前置条件 - 通过 GPO 或注册表启用 PowerShell Script Block Logging - 通过 GPO 或注册表启用 PowerShell Module Logging - 提供内置 Sysmon 功能(或回退至 Sysinternals 下载) ## 快速开始 请参阅 `docs/installation.md` 获取详细的分步说明。简略 版本如下: 1. **部署 Wazuh agent 配置** — 将 `wazuh/agent-config/ossec-agent-windows.conf` 中的日志收集源推送至所有 Windows agent。 2. **通过 Intune 部署 Sysmon** — 将 `intune/deployment/install-sysmon.ps1` 与 `sysmon/sysmon-config.xml` 打包为 Win32 应用,首先分配给测试组。 详见 `docs/intune-deployment.md`。 3. **加载 Wazuh 规则和解码器** — 将 `wazuh/rules/` 和 `wazuh/decoders/` 中的文件复制到 manager,合并 `wazuh/manager-config/` 中的配置片段,然后重启。详见 `docs/wazuh-setup.md`。 4. **配置 Entra ID / M365 数据接入**(可选)— 填充 `ossec-manager-azure.conf` 中的凭据占位符并合并。需要 Entra ID 应用注册。 5. **基线运行 2-4 周** — 使用详细的 Sysmon 配置运行,并将 通知阈值设置为仅 Critical 以建立正常模式。 详见 `docs/tuning-guide.md`。 6. **启用生产环境检测** — 切换至生产环境 Sysmon 配置, 降低通知阈值,并开始分阶段的告警推送。请参阅 `ARCHITECTURE_PLAN.md` 中的部署计划。 ## 仓库结构 ``` NOMMA-SECUIRTY/ ├── README.md # This file ├── CHANGELOG.md # Version history ├── ARCHITECTURE_PLAN.md # Full architecture and detection plan ├── CODE_REVIEW_REPORT.md # Quality-gate code review findings ├── sysmon/ │ └── sysmon-config.xml # Production Sysmon configuration ├── wazuh/ │ ├── rules/ # 143 custom detection rules (12 files) │ ├── decoders/ # Custom decoders (PowerShell, Entra, Intune) │ ├── agent-config/ # Windows agent log collection snippet │ ├── manager-config/ # Manager ruleset + Azure/Graph API config │ └── allowlists/ # CDB process/network/user allowlists ├── intune/ │ ├── deployment/ # Sysmon install + update scripts │ ├── detection/ # Intune compliance detection script │ └── rollback/ # Safe Sysmon removal script ├── tests/ │ ├── test-matrix.md # Per-rule validation test matrix │ └── validation/ # Python + PowerShell validators └── docs/ ├── installation.md # Full deployment walkthrough ├── intune-deployment.md # Intune Win32 app packaging guide ├── wazuh-setup.md # Wazuh manager + agent configuration ├── sysmon-guide.md # Sysmon event ID reference ├── detection-catalogue.md # Every rule documented ├── mitre-mapping.md # MITRE ATT&CK coverage map ├── triage-guide.md # Alert investigation procedures ├── tuning-guide.md # Noise reduction and calibration ├── maintenance-checklist.md # Ongoing operational tasks ├── deployment-checklist.md # Pre/post deployment verification └── testing-guide.md # Safe testing methodology ``` ## 部署顺序 | 阶段 | 持续时间 | 执行内容 | |-------|----------|--------------| | 1 — 准备阶段 | 第 1 周 | 验证 Wazuh server、agent 连接性、Intune 访问权限、Entra ID 应用注册 | | 2 — 基线阶段 | 第 2-4 周 | 部署 Sysmon(详细配置),收集遥测数据,构建允许列表 | | 3 — 第一波 | 第 5 周 | 在生产环境 Sysmon 配置下启用勒索软件、恶意软件、PowerShell 规则 | | 4 — 第二波 | 第 6 周 | 启用凭据窃取、持久化、防御规避规则 | | 5 — 第三波 | 第 7-8 周 | 启用篡改、横向移动规则 | | 6 — 云端阶段 | 第 9 周+ | 启用 Entra ID 和 M365 规则(需进行云模块设置) | | 7 — 稳态阶段 | 持续进行 | 月度审查、季度审计、版本升级 | ## 告警严重程度 | 级别 | 名称 | 通知方式 | 放行内容 | |-------|------|-------------|-------------------| | 15-16 | Critical | 实时(电子邮件/推送)| 活跃勒索软件、跨源关联命中 | | 12-14 | High | 实时(电子邮件/推送)| 凭据转储、篡改、特权角色更改 | | 8-11 | Medium | 每日摘要 | 可疑 PowerShell、新增持久化、横向移动 | | 5-7 | Low | 仅 Dashboard | 单一异常、上下文事件 | | 0-4 | Info | 静默 | 基线、父规则、实用程序规则 | `log_alert_level` 和 `email_alert_level` 默认为 **12**,因此开箱即用时 只有 Critical 和 High 告警会生成实时通知。 ## 验证状态 所有 143 条规则均已通过静态 XML 验证。规则 ID 唯一。 PowerShell 部署脚本通过 AST 解析。Sysmon XML 通过离线 词汇表和覆盖率检查。 **所有规则均为草稿状态。** 尚未在任何活跃的 Wazuh manager 上部署过任何规则,也未针对真实或合成事件进行过 `wazuh-logtest` 验证。 以下各项仍**未执行**: - Wazuh manager 规则/解码器加载及 `wazuh-logtest` 匹配 - Sysmon 供应商 schema 验证(`Sysmon64.exe -s`) - Windows 11 终端上的实时 Sysmon 安装/更新/回滚 - Intune Win32 应用打包、分配和检测 - Entra ID / M365 云数据接入和字段映射 请参阅 `tests/test-matrix.md` 获取完整的逐规则测试矩阵。 ## 已知问题 在基础设施验证期间发现了四个源缺陷: | 规则 | 问题 | 影响 | |------|-------|--------| | 100090 | 缺失 MITRE 映射 | 验证警告 | | 100360 | 缺失 MITRE 映射 | 验证警告 | | 100530 | 正则表达式选择器格式错误 | 规则可能无法正确匹配 | | 110050 | 缺失 MITRE 映射 | 验证警告 | 此外,代码审查还指出了有关解码器正则表达式模式、 关联规则语义以及云配置兼容性方面的隐患,这些都需要 通过部署环境测试来进行验证。请参阅 `CODE_REVIEW_REPORT.md` 获取 完整结果。 ## 许可证 未经明确授权不予许可。这是一个内部安全项目。 ## 参考 - [Wazuh 规则语法](https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.html) - [Sysmon v15.21 (Microsoft Learn)](https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon) - [Wazuh Microsoft Graph 集成](https://documentation.wazuh.com/current/cloud-security/azure/platform-and-services/graph.html) - [MITRE ATT&CK 企业矩阵](https://attack.mitre.org/matrices/enterprise/)
标签:AI合规, AMSI绕过, Conpot, DNS 反向解析, HTTP工具, Libemu, M365安全, PE 加载器, SIEM规则, Sysmon, Wazuh, Windows安全, 威胁检测, 安全监测, 知识库安全, 逆向工具