对于大多数企业而言,不安全的现实是,攻击者从域名用户转到域名管理员通常不会花很长时间。捍卫者心中的问题是“这是怎么发生的?”。
攻击通常始于向一个或多个用户发送鱼叉式网络钓鱼邮件,攻击者使攻击者的代码可以在目标网络内部的计算机上运行。一旦攻击者的代码在企业内部运行,第一步就是执行侦查,以发现有用的资源,以提升权限,持久化以及掠夺信息
管总体流程细节各不相同,但总体主题仍然:
-
恶意软件注入(鱼叉式网络钓鱼,网络利用等)
-
侦察(内部)
-
凭证盗窃
-
开发和特权升级
-
数据访问与渗透
-
持续性(保留访问权限)
我们从攻击者在企业内部立足开始,因为在现代网络中这通常并不困难。此外,对于攻击者而言,从工作站上的用户权限升级为具有本地管理员权限通常也不难。可以通过利用系统上未打补丁的特权升级漏洞或更频繁地在SYSVOL中查找本地管理员密码(例如组策略首选项)来进行这种升级。
从域用户变为域管理员的攻击技巧:
1. SYSVOL和组策略首选项中的密码
此方法最简单,因为不需要特殊的“黑客”工具。攻击者所需要做的就是打开Windows资源管理器,并在SYSVOL DFS共享域中搜索XML文件。大多数情况下,以下XML文件将包含凭据:groups.xml,chedchedtasks.xml和Services.xml。
SYSVOL是Active Directory中的整个域范围的共享,所有经过身份验证的用户都可以对其进行读取访问。SYSVOL包含登录脚本,组策略数据和其他域范围的数据,这些数据必须在存在域控制器的任何地方都可用(因为SYSVOL是自动同步并在所有域控制器之间共享的)。所有域组策略都存储在这里:\ <DOMAIN> SYSVOL <DOMAIN> Policies
创建新的GPP时,将在SYSVOL中创建一个带有相关配置数据的关联XML文件,并且如果提供了密码,则它是AES-256位加密的,应该足够好了……
除2012年之前的某个时刻外,Microsoft在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文件。
-
不要将密码放在所有经过身份验证的用户都可以访问的文件中。
本文始发于微信公众号(飓风网络安全):内网渗透之Active Directory中获得域管理员权限的攻击方法(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论