Windows安全:使用BloodHound进行Active Directory环境侦察
在本文中,我们将深入探讨BloodHound工具——“Six Degrees of Domain Admin”。该应用程序使用JavaScript开发,基于Electron平台构建。图形可视化使用Neo4j数据库。
在实验中,我们将使用Windows工作站和Windows Server站(两者均为Microsoft Azure上的虚拟机)以及任何Windows计算机。为了便于读者区分图中所示的不同机器,使用了以下标识:
- 图示表示:Windows工作站
- 图示表示:Windows Server
- 图示表示:任何计算机(运行Windows)
- 图示表示:Windows工作站或Windows Server
具体标识请参见图注。
BloodHound软件概述
BloodHound利用图论揭示Active Directory和Azure环境中难以发现且通常非预期的关系。攻击者和防御者都可以使用该工具轻松识别复杂的攻击路径以及可能存储有价值资源或包含高权限用户帐户的设备。
<“Active Directory"图>
BloodHound工具用于数据分析。要收集数据集,只需在Active Directory环境中的域连接系统或非域连接系统上运行SharpHound或AzureHound(如下所述)。BloodHound的Windows版本包含两个主要组件:
- 信息收集程序,如名为AzureHound.ps1的PowerShell脚本和名为SharpHound.exe的.NET平台应用程序
- BloodHound.exe程序,用于以图形形式可视化收集的数据
还有适用于Linux系统的BloodHound工具版本,但这不是本文的主题。
值得一提的是,Dirk-jan Mollema创建了一个BloodHound.py脚本,允许从Linux、macOS和Windows系统收集信息,但需要安装Python 3语言支持。注意:该脚本不受BloodHound开发人员的官方支持,根据GitHub上的描述,可与BloodHound 4.1或更高版本配合使用。
在Microsoft Azure平台上准备具有Active Directory的域环境
我们将使用Microsoft Azure云平台构建一个作为实验室的环境。Azure Web应用程序界面允许轻松创建虚拟机(图1)。
图1. 在Microsoft Azure云平台上创建虚拟机(图示表示:任何计算机)
创建将作为域控制器的虚拟机
我们将通过创建Windows Server 2019 Datacenter示例虚拟机来开始构建实验室环境(图2)。实际上,企业中有更多计算机充当域控制器,例如为了更高的可用性和可靠性。
图2. 创建带有Windows Server 2019的虚拟机(图示表示:任何计算机)
图3显示了虚拟机基本配置的屏幕。为简化测试,建议在单个网络上设置测试VM的创建。
图3. 创建的Windows Server虚拟机的网络设置(图示表示:任何计算机)
虚拟机创建向导的最后一步如图4和图5所示。
图4. Windows Server虚拟机创建向导的最后一步(图示表示:任何计算机) 图5. Windows Server虚拟机成功部署的信息(图示表示:任何计算机)
您可以使用远程桌面(RDP)、SSH或Azure Bastion连接到创建的虚拟机(图6)。出于实验目的,简单的远程桌面就足够了。该机器被命名为DC,作为域控制器的缩写。
图6. 显示连接到Windows Server虚拟机所需的数据(图示表示:任何计算机)
为了通过远程桌面连接到虚拟机,您需要诸如公共IP地址(图7)、用户名和密码(之前在向导中设置)等数据。
图7. 复制Windows Server虚拟机的公共IP地址(图示表示:任何计算机)
如果您想使用更容易记住的域名(而不是IP地址),可以使用自己的Internet域并通过DNS区域中的A类型条目将其绑定到IP地址。这适用于IP版本4地址。对于IPv6地址,记录类型为AAAA。
图8. Internet域提供商处的DNS区域条目(图示表示:任何计算机)
要连接到远程计算机,请输入其公共IP地址(或域名)、用户名和密码。如图9所示。
图9. 通过远程桌面连接到Windows Server虚拟机(图示表示:任何计算机)
成功连接远程桌面后,应出现用于管理Windows服务器的Server Manager工具的图形界面(图10)。
图10. 用于管理Windows服务器的Windows Server Manager工具(图示表示:Windows Server)
要创建域环境,请通过单击"添加角色和功能"安装Active Directory域服务角色(图10和11)。
图11. 通过Server Manager工具安装Active Directory域服务角色(图示表示:Windows Server)
在Windows Server上完成新角色的安装后,需要重新启动虚拟机(图12)。
图12. 将虚拟机设置为域控制器(图示表示:Windows Server)
要将选定的VM设置为域控制器,请选择"将此服务器提升为域控制器”(图13和14)。
图13. 在Windows Server上完成域控制器配置的提示(图示表示:Windows Server) 图14. 将Windows Server虚拟机设置为域控制器(图示表示:Windows Server)
出于实验目的,您可以使用先前拥有的Internet域创建新林(图15、16和17)。
图15. 创建具有根域的新林(图示表示:Windows Server) 图16. 设置DSRM恢复功能级别和密码(图示表示:Windows Server) 图17. 已满足先决条件,可以开始安装(图示表示:Windows Server)
网络配置注意事项
此实验室中的每台计算机都有一个公共IP地址(也称为外部IP地址),这使得它们理论上可以从Internet看到和访问。理论上如此,因为到虚拟机的流量由称为防火墙的软件过滤。因此,需要允许所需服务的网络流量(图18),即在创建的Windows Server的情况下,这些将是LDAP和DNS(图19)。
图18. 在Microsoft Azure平台上添加网络流量的安全规则(图示表示:任何计算机) 图19. Microsoft Azure平台上的网络流量入站端口规则(图示表示:任何计算机)
作者:Dawid Farbaniec 标签:Active Directory, windows