SwanQ's Blue SKY

TO LIVE IS TO RISK IT ALL

0%

域渗透

翻译和复现Attack Methods for Gaining Domain Admin Rights in Active Directory

攻击者有很多方法可以获得活动目录中的域管理权限。本篇文章旨在介绍一些目前比较流行的方法。这里描述的 “assume breach”建立在攻击者已经在内部系统上有了立足点,并获得了域用户凭证(即后渗透阶段)。
不幸的是,对于大多数企业来说,攻击者从域用户到域管理员往往不需要很长时间。防御者心中的问题是 “这种情况是如何发生的?”。
攻击通常从向用户发送鱼叉式钓鱼电子邮件开始,使攻击者能够在目标网络内的计算机上运行代码。一旦攻击者让他们的代码在企业内部运行,第一步就是进行侦察,发现可用资源,从而提升权限,坚持下去,当然还有收集关键信息(通常是一个组织的 “皇冠上的珠宝”)。
While the overall process detail varies, the overall theme remains:
虽然流程细节各不相同,但总的主题仍然是:
恶意软件注入(鱼叉式钓鱼、web漏洞等)
内部侦察
窃取凭证
利用及提权
数据访问及过滤
后门维持
攻击者首先得在企业内部有一个立足点。此外,攻击者通常从攻击者的用户权限提升到本地管理员权限并不是很难。提权利用可以通过利用系统上未打补丁的权限升级漏洞来实现,更为常见的是在SYSVOL(如组策略首选项)中找到本地管理员密码。
在2015年举办的BSides, Shakacon, Black Hat, DEF CON, 和 DerbyCon这五个安全会议中,我谈到了本文中的大部分技术。
我也在 “The Most Common Active Directory Security Issues and What You Can Do to Fix Them “一文中介绍了其中的一些问题。

从域用户到域管理员的攻击技术:
1.SYSVOL和组策略首选项中的密码
这种方法是最简单的,不需要特殊的 “黑客 “工具。攻击者所要做的就是打开Windows资源管理器,搜索域SYSVOL DFS共享中的XML文件。大多数情况下,groups.xml、scheduletasks.xml、Services.xml等XML文件会包含凭证。

SYSVOL是Active Directory中的域范围共享,AD中所有经过认证的用户都可以读取访问。SYSVOL包含登录脚本、组策略数据和其他需要在有域控制器的任何地方提供的域范围内的数据(因为SYSVOL在所有域控制器之间自动同步和共享)。所有域组策略都存储在这里/DOMAIN> /SYSVOL/
/Policies/

当创建一个新的GPP时,会在SYSVOL中创建一个相关的XML文件,里面有相关的配置数据,如果有提供密码,则是AES-256加密、。

除了在2012年之前,微软在MSDN上公布了AES加密密钥(共享秘密),可以用来解密密码。由于经过认证的用户(任何域用户或受信任域中的用户)都有对SYSVOL的读取权限,因此域中的任何人都可以在SYSVOL共享中搜索包含 “cpassword “的XML文件,该文件是包含AES加密密码的值。

通过访问这个XML文件,攻击者可以使用AES私钥来解密GPP密码。PowerSploit函数Get-GPPPassword对于组策略优先级的利用最为有用。以上截图显示了一个类似的PowerShell函数,从SYSVOL中找到的XML文件中加密GPP密码。

其他文件类型也可能有内嵌的密码(通常是明文的),如vbs和bat。

我们会认为,随着补丁的发布,管理员应该不会再在组策略首选项中放置凭证,但是我在评估客户安全时,仍然会在SYSVOL中发现凭证。

解决方法:

  • 在每台用于管理GPO的计算机上安装KB2962486,它可以防止新的凭证被放在组策略首选项中。
  • 删除SYSVOL中包含密码的现有GPP xml文件。
  • 不要把密码放在所有经过认证的用户都能访问的文件中。
    关于这种攻击方法的更多信息在帖子中介绍。Finding Passwords in SYSVOL & Exploiting Group Policy Preferences.