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安全, 威胁检测, 安全监测, 知识库安全, 逆向工具