Bikash-Raya/Azure-Honeynet-Live-Attack-Detection-NSG-SQL-Microsoft-Sentinel

GitHub: Bikash-Raya/Azure-Honeynet-Live-Attack-Detection-NSG-SQL-Microsoft-Sentinel

该项目通过在 Azure 上构建故意暴露的蜜罐环境,结合 Microsoft Sentinel SIEM 实现对 RDP、SSH、SQL 暴力破解等真实攻击的日志采集与威胁检测。

Stars: 0 | Forks: 0

# 🍯 Azure 蜜网 - 使用 NSG、SQL 和 Microsoft Sentinel 进行实时攻击检测 ![Domain](https://img.shields.io/badge/SIEM-Microsoft%20Sentinel-blue?style=for-the-badge) ![Infrastructure](https://img.shields.io/badge/Infrastructure-Azure%20Honeynet-red?style=for-the-badge) ![Platform](https://img.shields.io/badge/Platform-Microsoft%20Azure-0078D4?style=for-the-badge) **编写者:** Bikash Raya **项目类型:** 蜜网 · 实时攻击模拟 · SOC 监控
## 📁 仓库结构 | 文件 | 描述 | | --- | --- | | [HoneyNet_Project.pdf](./HoneyNet_Project.pdf) | 包含截图的完整项目文档 | | README.md | 项目概述 | ## 📋 概述 本仓库记录了一个实时 Azure 蜜网的设计与实施——这是一个故意配置为易受攻击的云环境,旨在吸引现实世界中的网络攻击者,捕获其活动,并使用 Microsoft Sentinel 作为 SIEM 来检测威胁。 该实验通过以下方式模拟真实的攻击场景: * 🪟 **Windows 11 VM** — 暴露于 RDP 暴力破解和 SQL 攻击的蜜罐 * 🐧 **Linux VM** — 暴露于 SSH 暴力破解攻击的蜜罐 * 💥 **攻击者 VM** — 独立的 Azure VM(日本东部),用于模拟外部威胁行为者 * 🔓 **开放的 NSG** — 允许所有入站流量以最大化攻击面 * 🗄️ **SQL Server 2019** — 安装并配置审计日志,以捕获失败/成功的登录 * 📊 **Microsoft Sentinel** — 用于日志提取、丰富和检测的中央 SIEM * 🌍 **GeoIP 监视列表** — 对攻击者 IP 地址进行地理丰富 ## 🛠️ 使用的技术 * Microsoft Azure * Microsoft Sentinel * Azure 网络安全组 (NSG) * NSG 流日志 * Log Analytics Workspace (LAW) * 数据收集规则 (DCR) * Azure Monitor Agent (AMA) * Microsoft Defender for Cloud * SQL Server 2019 + SSMS 20.1 * Azure Key Vault * Azure 存储账户 * Microsoft Entra ID * KQL (Kusto Query Language) * Windows 事件查看器 * Linux auth.log / Syslog ## 🧪 实验组件 | 资源 | 角色 | 位置 | | --- | --- | --- | | Windows-VM | Windows 蜜罐 — RDP 和 SQL 攻击目标 | 澳大利亚东部 | | Linux-VM | Linux 蜜罐 — SSH 攻击目标 | 澳大利亚东部 | | Attacker-VM | 外部威胁行为者模拟 | 日本东部(独立 VNet) | | LAW-RG-soc-honeynet-Lab | Log Analytics Workspace | 澳大利亚东部 | | Microsoft Sentinel | SIEM 平台 | 澳大利亚东部 | | Windows-VM-nsg / Linux-VM-nsg | 故意开放的 NSG | 澳大利亚东部 | | labstorageac123 | 用于 NSG 流日志的存储账户 | 澳大利亚东部 | | testkeyv aultbikash | Azure Key Vault | 澳大利亚东部 | | RG-SOC-Honeynet-Lab | 主资源组 | 澳大利亚东部 | | RG-Attacker | 攻击者资源组 | 日本东部 | ## 🌐 解决方案架构 ``` [Internet / Real-World Attackers] ↓ [Open NSGs — Any/Any inbound rules] ↓ [Windows-VM] [Linux-VM] RDP Port 3389 SSH Port 22 SQL Server 1433 auth.log Windows Event Viewer ↓ [NSG Flow Logs → Storage Account] ↓ [Data Collection Rule (DCR) + AMA] ↓ [Log Analytics Workspace (LAW)] ↓ [Microsoft Sentinel] ↓ [GeoIP Watchlist Enrichment] ↓ [KQL Detection Queries → Alerts → Incidents] ``` ## 🔓 阶段 1 — 基础设施与故意暴露 * 创建了资源组:**RG-SOC-Honeynet-Lab**(澳大利亚东部) * 在 **lab-vnet** 内部署了 **Windows-VM** 和 **Linux-VM** * 编辑了两个 NSG 以允许 **任何源 / 任何目标 / 任何端口 / 任何协议** 的入站流量 * 在 Windows-VM 上禁用了跨域、专用和公用网络配置文件的 **Windows Defender 防火墙** * 这使得两台 VM 成为对整个互联网可见的实时蜜罐 ## 🗄️ 阶段 2 — SQL Server 安装与审计日志记录 * 在 Windows-VM 上安装了带有混合模式身份验证的 **SQL Server 2019 评估版** * 安装了 **SQL Server Management Studio (SSMS) 20.1** * 配置了 SQL 审计日志记录到 **Windows 安全日志**,通过以下方式实现: * `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security` 的注册表权限 * 使用 `auditpol` 命令启用应用程序生成的事件: ``` auditpol /set /subcategory:"application generated" /success:enable /failure:enable ``` * 设置 SSMS 服务器属性 → 登录审核 → **失败和成功的登录** * 验证了 SQL 登录失败在 Windows 事件查看器中显示为 **EventID 18456** ## 💥 阶段 3 — 攻击模拟 在 **日本东部** 部署了一个独立的 **Attacker-VM**,并使用其自己隔离的 VNet 来模拟外部威胁行为者。 ### 模拟的攻击 | 攻击类型 | 目标 | 方法 | | --- | --- | --- | | RDP 暴力破解 | Windows-VM | 使用错误凭据进行远程桌面登录 | | SQL 暴力破解 | Windows-VM SQL Server | 使用错误凭据进行 SSMS 连接 | | SSH 暴力破解 | Linux-VM | 使用无效用户名的 PowerShell SSH 登录 | ### 确认的日志 * **Windows 事件查看器 → 安全日志** — EventID 4625(RDP 登录失败),工作站:Attacker-VM * **Windows 事件查看器 → 应用程序日志** — EventID 18456(SQL 登录失败),客户端 IP:Attacker-VM * **Linux auth.log** — 数百次来自互联网 IP 的真实 SSH 暴力破解尝试,通过以下方式确认: ``` cat /var/log/auth.log | grep password ``` ## 📊 阶段 4 — SIEM:Log Analytics 与 Microsoft Sentinel * 部署了 **Log Analytics Workspace**:MicrosoftLogAnalyticsOMS * 将 **Microsoft Sentinel** 添加到工作区 * 上传了 **GeoIP CSV 监视列表**(命名为:network)— 将 IP 范围映射到国家/城市以进行告警丰富 * 启用了 **Microsoft Defender for Cloud** — 启用了服务器计划,数据收集设置为 **所有事件** * 配置了 **连续导出**,将 Defender 警报流式传输到 Log Analytics * 创建了**存储账户**:labstorageac123,用于存储 NSG 流日志 * 为 Windows-VM-nsg 和 Linux-VM-nsg 部署了 **NSG 流日志** * 部署了包含两个数据源的**数据收集规则 (DCR)**: * Windows 事件日志 * Linux Syslog * 安装了 Sentinel **内容中心**连接器:通过 AMA 获取的 Windows 安全事件、Microsoft Entra ID、Azure Activity * 配置了转发到 LAW 的**存储账户诊断日志** * 创建了 **Azure Key Vault**:testkeyv aultbikash * 将测试用户添加到 **Entra ID 全局管理员** 角色以生成审计日志事件 ## 🔍 阶段 5 — KQL 威胁检测 ### 心跳 — 确认两台 VM 均已报告 ``` Heartbeat | summarize LastSeen=max(TimeGenerated) by Computer | order by LastSeen desc ``` ✅ 已确认 Linux-VM 和 Windows-VM 均已向 LAW 报告 ### Linux 失败的 SSH 登录 ``` Syslog | where SyslogMessage contains "Failed password" | project TimeGenerated, Computer, ProcessName, SyslogMessage | order by TimeGenerated desc ``` ✅ 已确认真实的 SSH 暴力破解尝试正在流式传输到 Sentinel ### Windows Defender 恶意软件检测 ``` Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1116 or EventID=1117)]] ``` ### Windows 防火墙篡改检测 ``` Microsoft-Windows-Windows Firewall With Advanced Security/Firewall!*[System[(EventID=2003)]] ``` ## 🎯 展示的技能 * Azure 基础设施配置(VM、VNet、NSG、存储、Key Vault) * 网络安全组规则管理和流日志配置 * SQL Server 安装和安全审计日志配置 * Linux 管理和日志分析(auth.log、grep、Syslog) * 蜜网设计 — 故意暴露攻击面 * 跨 RDP、SSH 和 SQL 攻击向量的攻击模拟 * Microsoft Sentinel 部署和连接器配置 * 使用 Azure Monitor Agent (AMA) 设置数据收集规则 (DCR) * 使用 KQL (Kusto Query Language) 进行威胁狩猎和日志分析 * Microsoft Defender for Cloud 配置和连续导出 * 通过 Sentinel 监视列表进行 GeoIP 丰富 * Microsoft Entra ID 审计日志收集 * Azure Key Vault 部署和监控 ## 🎯 关键要点
标签:AMSI绕过, Azure, PE 加载器, 威胁检测, 红队行动, 网络安全, 蜜罐系统, 隐私保护