当前位置: 首页 > 科技观察

FixingCommonADSecurityIssueswithBloodHoundFOSS_0

时间:2023-03-16 22:30:42 科技观察

提高AD安全性包括修复允许黑客进入的环境中的安全漏洞-但防御者首先需要确定这些漏洞是什么,AD的内置工具可以很容易地看到是什么用户行为的种类要知道哪些系统和对象获得哪些权限并不容易。如此多的安全问题,其中一些非常危险,只是被忽视了。对于防御者来说幸运的是,一些常见的AD安全问题一旦发现就很容易修复。这些“唾手可得的果实”问题使防御者能够相对轻松地降低其AD环境的暴露风险。以下是AD环境中最常见的三个安全问题,包括它们的影响以及防御者如何找到并修复它们。我将演示如何使用BloodHound,这是一个免费的开源工具(我是它的共同开发者),用于映射MicrosoftActiveDirectory和AzureActiveDirectory,但您可以使用其他工具来执行相同的步骤。具有高级权限的Kerberoastable用户Kerberoast(一种网络密码身份验证授权系统)攻击最早由安全研究员TimMedin于2014年发现。该攻击从AD中提取服务帐户证书的哈希值以进行离线破解,并且可以由任何用户执行,而无需向目标发送数据包。当目标环境中的特权用户受到此类攻击时,受损的帐户凭据哈希将为黑客提供一条轻松获取AD控制权的途径。我和我的同事在我们测试过的每一个真实的AD环境中都看到了这个问题。Kerberoasting上的特权用户的漏洞会带来重大的安全风险,但仅使用AD的内置工具很难识别这些易受攻击的特权用户,因为AD无法凭经验确定任何用户的特权。AD的接口不允许用户“开放”安全组的成员资格,组与组的嵌套使得跟踪具有特定权限级别的单个用户费时、困难,而且容易出现错误和遗漏。在FOSSBloodHound中,过程要简单得多。使用FOSSBloodHound底部的“原始查询”栏显示风险最高的kerberoastable用户。MATCHp=shortestPath((u:User{hasspn:true})-[*1..]->(g:Group))WHEREg.objectidENDSWITH'-512'RETURNpLIMIT100这将返回一个可视界面,显示由这些Kerberoastable特权用户创建的攻击路径。此示例中的每个起始用户节点(屏幕左侧的绿色图标)都是Kerberoastable用户:目标组是右侧的黄色图标。如您所见,该组织有许多可能的攻击路径可供选择以对抗敌对目标。为了关闭这些攻击路径,需要保护每个易受攻击的用户免受Kerberoasting(我建议从最接近零级资产的用户开始)。有两种方法可以做到这一点:确保用户有一个非常复杂的密码(64个随机字符)。从用户中删除SPN,并使用配置关联服务授权计算机帐户。域控制器对象所有权域控制器对象权限应仅由域管理员拥有。但在大多数真实世界的AD环境中,它们并非如此。这个问题很常见(在我审核的大约75%的环境中发现),因为它会导致在AD中创建对象的用户取得域控制器对象的所有权。这是一个高风险的配置,因为拥有域控制器对象的用户可以创建针对这些对象的新攻击路径,并且传统上非域管理员帐户没有得到很好的保护。要确定这是否发生在网络上,请使用FOSSBloodHound底部的“原始查询”栏来查询:MATCH(g:Group)WHEREg.objectidENDSWITH'-516'MATCHp=(n:Base)-[:Owns]->(c:Computer)-[:MemberOf*1..]->(g)RETURNp结果将是一个图表,显示在此AD环境中拥有域控制器计算机对象的各种主体。所有这些随机主体都有通往它们的攻击路径,这意味着它们最终会到达域控制器。要解决此问题,请执行以下步骤:1.打开ActiveDirectory用户和计算机。2.启用高级功能。3.找到每个域控制器对象。4.右击属性-安全-高级,然后更改。5.将每个DC的所有者更改为DomainAdmins组。整个过程不到一个小时,不太可能影响AD中的任何其他关系或权限。可以控制其他对象的域用户、普通用户和授权用户组。域用户、普通用户、具有任意权限的授权用户主体都可以作为攻击路径的切入点。这些组并不真正需要权限-黑客更容易利用它们。通常,管理员会尝试通过授予一揽子特权来解决特定问题,这是另一种危险的配置,但也很容易补救。首先,找到控制另一个主体的域用户组的所有实例。FOSSBloodHound可以通过两种方式展示这一点。选项一:在GUI中找到组并单击“出站对象控制”。选项二:如果您正在运行多个AD域,您可以使用此命令启动所有实例:MATCHp=(g:Group)-[{isacl:true}]->(m)WHEREg.objectidENDSWITH'-513'RETURNp解决这个问题与上一个问题类似。在ActiveDirectory用户和计算机中找到受影响的对象,调出其安全描述符,并删除“域用户”组的违规ACE作为身份参考。识别和修复这三个问题完全在大多数AD或安全团队的能力范围内,即使没有后续工作,它们也会使AD环境更加安全。如果一个组织决定不关注AD安全,管理员可以(并且应该)通过解决这三个问题来有所作为。译者介绍刘涛,社区编辑,某大型国企系统启动检测与管控负责人。主要职责是对系统上线验收的漏扫、渗透测试、基线检查等进行严格审查。拥有多年网络安全管理经验。多年PHP和Web开发与防御经验,Linux使用与管理经验,丰富的代码审计、网络安全测试与威胁挖掘经验。精通KaliSQL审计、SQLMAP自动检测、XSS审计、Metasploit审计、CSRF审计、webshel??l审计、maltego审计等技术。原标题:FixingCommonADSecurityIssuesWithBloodHoundFOSS,作者AndyRobbins