Kico-bot/soc-homelab-ms

GitHub: Kico-bot/soc-homelab-ms

基于Azure和微软Defender全栈构建的SOC家庭实验室,通过暴露蜜罐收集真实攻击数据,完整覆盖SIEM、EDR、XDR、NDR和漏洞管理的检测与响应生命周期。

Stars: 0 | Forks: 0

# 基于云的 SOC 家庭实验室 – Microsoft 安全堆栈 ## 项目目标与企业应用价值 本项目在云环境中模拟了一个贴近生产的 SOC(安全运营中心)环境。目标是亲手实践并记录完整的**检测与响应周期** —— 从日志收集、威胁检测到事件分析。 所获得的知识可直接应用于真实的企业环境: - 使用 Microsoft Sentinel 进行 **SIEM 运营**(规则、KQL、工作簿) - 通过 Microsoft Defender for Endpoint 和 Defender XDR 进行 **EDR/XDR 集成** - 通过 Azure 层面的网络分析(NSG Flow Logs, Threat Intelligence)实现 **NDR 概念** ## 架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ AZURE CLOUD │ │ │ │ ┌──────────────────┐ ┌──────────────────────────┐ │ │ │ Windows 10 VM │ │ Microsoft Sentinel │ │ │ │ (Exposed Test) │──────▶ │ (SIEM / SOAR) │ │ │ │ │ Logs │ │ │ │ │ • RDP exponiert │ │ • Analytics Rules │ │ │ │ • Sysmon aktiv │ │ • KQL Queries │ │ │ │ • AMA Agent │ │ • Workbooks / Maps │ │ │ └──────────────────┘ │ • SOAR Playbooks │ │ │ └──────────────────────────┘ │ │ ┌──────────────────┐ ┌──────────────────────────┐ │ │ │ Microsoft │ │ Defender Vulnerability │ │ │ │ Defender XDR │◀──────▶│ Management │ │ │ │ (EDR/XDR) │ │ (CVE-Tracking, Patching)│ │ │ └──────────────────┘ └──────────────────────────┘ │ │ │ │ ┌──────────────────────────────────────────────────────┐ │ │ │ Log Analytics Workspace ← zentrale Datenplattform │ │ │ └──────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ▲ │ Echte Angriffe aus dem Internet │ (Brute-Force, Credential Stuffing, Port Scans) ``` ## 使用的技术与产品 | 类别 | 产品 | 功能 | |---|---|---| | **SIEM** | Microsoft Sentinel | 日志关联、告警、仪表板 | | **EDR** | Microsoft Defender for Endpoint | 端点检测与响应 | | **XDR** | Microsoft Defender XDR | 跨领域攻击检测(电子邮件、身份、端点) | | **NDR** | Azure NSG Flow Logs + Sentinel | 网络流量分析、异常连接 | | **VM** | Microsoft Defender Vulnerability Management | CVE 检测、风险评估、补丁优先级排序 | | **SOAR** | Sentinel Playbooks (Azure Logic Apps) | 自动化事件响应 | | **日志传输** | Azure Monitor Agent (AMA) | 通过 DCR 进行结构化日志转发 | | **语言** | KQL (Kusto Query Language) | 威胁狩猎、规则开发 | | **地理位置富化** | GeoIP Watchlist | 用于攻击者的 IP 到位置映射 | ## 设置与配置 ### 1. Azure 基础设施 - **资源组** `RG-SOCLab` 作为所有资源的逻辑容器 - 具有已定义地址空间和子网划分的**虚拟网络** - **Windows 10 VM** 作为暴露的测试系统(故意暴露,可作为 Honeypot 使用) - **网络安全组**用于模拟开放的攻击面 ### 2. 日志收集与 SIEM 连接 - **Log Analytics Workspace** 作为中央数据存储库 - 在 VM 上安装了 **Azure Monitor Agent (AMA)** - **数据收集规则 (DCR)** 用于结构化转发 Windows 安全事件 - 在工作区之上部署 **Microsoft Sentinel** 作为 SIEM ### 3. EDR – Microsoft Defender for Endpoint - 在暴露的测试系统上激活了 Defender for Endpoint - 配置了**实时保护**、行为分析和自动调查 - 设备已载入到 **Microsoft 365 Defender 门户** - 告警将作为事件自动转发到 Sentinel ### 4. XDR – Microsoft Defender XDR - **Defender XDR** 已设置为跨领域关联层 - 在统一的事件视图中连接来自端点、身份和云的信号 - 激活了 **Automatic Attack Disruption** 以自动遏制主动攻击 - 配置了用于双向事件同步的 Sentinel 连接器 ### 5. NDR – 网络分析 - 激活了 **NSG Flow Logs** 并将其路由到 Log Analytics Workspace - 根据源 IP、端口和协议分析传入连接 - 检测**端口扫描**、**暴力破解攻击波**和**地理异常** - Sentinel 中用于检测来自单个 IP 范围的连接量增加的自定义分析规则 ### 6. 漏洞管理 – Microsoft Defender Vulnerability Management - 在 VM 上激活了 **Defender Vulnerability Management** - 自动扫描已知的 CVE (Common Vulnerabilities and Exposures) - 评估了 **Exposure Score** 和 **Device Risk Score** - 根据 CVSS 评分和可利用性确定补丁建议的优先级 - 结果集成到 Sentinel 仪表板中 ### 7. SOAR – 自动化事件响应 针对高优先级告警的自动化 Playbook: ``` Alert ausgelöst (z.B. 50+ fehlgeschlagene Logins in 5 Min.) │ ▼ Sentinel Analytics Rule greift │ ▼ Logic App Playbook startet automatisch: ├── IP in Watchlist „BlockList" eintragen ├── NSG-Regel automatisch erstellen (IP blockieren) ├── Teams/E-Mail-Benachrichtigung an SOC └── Incident in Sentinel als „In Bearbeitung" markieren ``` ## KQL – 威胁狩猎查询 ### 暴力破解检测(SIEM 核心应用) ``` SecurityEvent | where EventID == 4625 | summarize Versuche = count(), ErsterVersuch = min(TimeGenerated), LetzterVersuch = max(TimeGenerated) by IpAddress, Account, Computer | where Versuche > 10 | order by Versuche desc ``` ### GeoIP 富化与攻击地图 ``` SecurityEvent | where EventID == 4625 | extend AttackerIP = IpAddress | lookup kind=leftouter _GetWatchlist('GeoIP') on $left.AttackerIP == $right.Network | summarize Angriffe = count() by AttackerIP, Country, City, Latitude, Longitude | order by Angriffe desc ``` ### 主要攻击者国家 ``` SecurityEvent | where EventID == 4625 | lookup kind=leftouter _GetWatchlist('GeoIP') on $left.IpAddress == $right.Network | summarize Angriffe = count() by Country | order by Angriffe desc | take 10 | render barchart ``` ### 凭据填充 – 识别攻击目标 ``` SecurityEvent | where EventID == 4625 | summarize Versuche = count() by Account | order by Versuche desc | take 20 ``` ### 异常网络流量(通过 NSG Flow Logs 的 NDR) ``` AzureNetworkAnalytics_CL | where FlowType_s == "ExternalPublic" | summarize Verbindungen = count() by SrcIP_s, DestPort_d, bin(TimeGenerated, 5m) | where Verbindungen > 100 | order by Verbindungen desc ``` ### Defender Vulnerability Management – 严重 CVE ``` DeviceTvmSoftwareVulnerabilities | where VulnerabilitySeverityLevel == "Critical" | summarize Anzahl = count() by DeviceName, CveId, SoftwareName | order by Anzahl desc ``` ### XDR – 跨多个信号源的关联事件 ``` SecurityIncident | where Severity in ("High", "Medium") | extend Tactics = tostring(AdditionalData.tactics) | summarize Incidents = count() by Title, Severity, Tactics | order by Incidents desc ``` ## 结果与发现 ### 观察到的攻击模式 | 模式 | 观察 | |---|---| | **首次攻击的反应时间** | VM 暴露后 < 5 分钟 | | **最常见的 EventID** | 4625(登录失败) | | **主要目标账户** | `administrator`、`admin`、`user`、`test`、`guest` | | **攻击来源** | CN、RU、NL、US(出口节点/VPN)、BR | | **攻击模式** | 系统性的凭据填充、字典攻击 | | **Defender 告警** | 自动生成了多个“可疑远程活动”告警 | ### 漏洞分析(Defender Vulnerability Management) - 在未打补丁的 Windows 系统上检测到 **3 个严重 CVE** - 初始 Exposure Score:**68/100**(高) - 模拟补丁后:分数降低至 **22/100** - 基于 CVSS 的优先级排序实现了有针对性的修复 ## 经验教训与企业价值 - 没有监控的暴露资源会在**几分钟内**遭到攻击。可见性就是一切 - **KQL** 是 Sentinel 运营的核心能力:自定义检测规则比预配置的告警更有价值 - **XDR 关联**可显著减少告警疲劳。单个信号只有在结合在一起时才能呈现出完整的攻击画面 - **漏洞管理**必须优先进行:并非每个 CVE 都同样严重:CVSS + 可利用性是决定因素 - **SOAR 自动化**在紧要关头可节省宝贵时间,并减少事件响应中的人为错误 ## 仓库结构 ``` 📁 soc-homelab-microsoft/ ├── 📄 README.md ← Projektübersicht & Dokumentation ├── 📄 SETUP.md ← Schritt-für-Schritt Installationsanleitung ├── 📄 MITRE-MAPPING.md ← Mapping der Angriffe auf ATT&CK Framework ├── 📁 screenshots/ │ ├── 01_resource-group.png │ ├── 02_virtual-network.png │ ├── 03_vm-created.png │ ├── 04_nsg-rule.png │ ├── 05_firewall-disabled.png │ ├── 06_log-analytics-workspace.png │ ├── 07_sentinel-overview.png │ ├── 08_data-collection-rule.png │ ├── 09_defender-for-cloud.png │ ├── 10_defender-endpoint-device.png │ ├── 11_geoip-watchlist.png │ ├── 12_first-brute-force-logs.png │ ├── 13_attackmap.png │ ├── 14_vulnerability-management.png │ └── 15_soar-playbook.png ├── 📁 kql-queries/ │ ├── KQL SOC Collection.kql └── ``` ## 更多资源 - [Microsoft Sentinel 文档](https://docs.microsoft.com/azure/sentinel/) - [Microsoft Defender XDR](https://docs.microsoft.com/microsoft-365/security/defender/) - [Defender Vulnerability Management](https://docs.microsoft.com/microsoft-365/security/defender-vulnerability-management/) - [KQL 快速参考](https://docs.microsoft.com/azure/data-explorer/kql-quick-reference) - [MITRE ATT&CK 框架](https://attack.mitre.org/)
标签:AMSI绕过, ATT&CK映射, Azure, Cloudflare, Defender XDR, EDR, GPT, Homelab, IP 地址批量处理, KQL, KQL查询, Microsoft Defender, Microsoft Sentinel, MITRE ATT&CK, NDR, NSG流日志, PE 加载器, SOAR, Sysmon, Windows 10, 威胁情报, 威胁检测, 安全架构, 安全运营中心, 实验室, 开发者工具, 微软安全, 攻击模拟, 数据展示, 漏洞管理, 生成式AI安全, 紫队, 红队, 红队行动, 终端检测与响应, 网络安全, 网络安全实验, 网络映射, 网络检测与响应, 脆弱性评估, 虚拟机, 蜜罐, 证书利用, 速率限制处理, 隐私保护, 驱动签名利用