Windows AD 红队实践的肖文迪

小夏 文化 更新 2024-02-02

作者简介:肖文迪,OWASP中国广东分公司负责人,网络安全Plus社区特聘专家,目前是一家外资公司的安全架构师,负责应用安全设计、管理和审查。

众所周知,Windows AD 是攻击者最喜欢的目标,我一直对这个话题很感兴趣,但我还没有机会深入研究**。 最近,我对Windows AD做了一些研究和探索,并在射击场环境中进行了测试,所以我想和大家分享一下我自己的实践。

Microsoft 的 Windows AD 在企业环境中非常重要,尤其是在 Windows 的企业环境中。 Windows AD 简化了企业环境中的设备和用户管理。 比如现在企业有上百台电脑,分布在十个办公室,然后有1000个用户使用这些设备,那么我们就不能手动登录到每台设备进行人工管理,这时候我们需要把这些设备和人员添加到Windows域中,在这个Windows域中,有一个服务器叫做域控制器DC, 然后所有的配置信息都存储在一个名为 AD (Active Directory) 的文件中,也就是 Windows AD,如下图所示:

使用 Windows AD 时,所有凭据都存储在 DC 中,如果用户需要使用域凭据对服务进行身份验证,则该服务将调用 DC 以验证其是否有效。 Windows AD主要使用两种协议进行身份认证:一种是Kerberos,这是默认协议,比较安全; 另一个是 NetNTLM,这是一种出于兼容性目的而保留的旧标识协议,并且该协议不是很安全。 但这两种协议都可以被利用。

以上就是对Windows AD的简单介绍,接下来我们再来看看Windows AD的红队做法。 在这里,我们设置了一个射击场环境。

参考杀伤链模型

与其他红队做法一样,初步侦察和利用漏洞,此处不作详细描述。 这种做法主要集中在建立立足点、提升权限、内网侦察、横向移动和建立牢固连接的过程。 其中,权力升级、内网侦察、横向移动、建立稳固连接是一个循环过程,代表着攻击的不断深化,也意味着攻击是有层次的。

建立立足点

利用漏洞和建立立足点就是使用各种方法来突破 AD 的防御并访问第一个可用的 AD 用户,包括使用开源情报 (OSINT) 和网络钓鱼。 我不会在这里重点介绍它。

在这里,我们介绍另外两种方法:LDAP 回程攻击和 NetNTLM 拦截。

(1) LDAP回程攻击

下图显示了LDAP协议身份验证的过程:

所谓的LDAP回程攻击实际上是伪造的LDAP服务器,用于拦截发送到普通LDAP服务器的消息。

在范围环境中,我们使用 OpenLDAP(一种伪造 LDAP 的工具。 LDAP 需要专门配置,使用最低安全配置,并使用明文密码登录。

我们可以使用 tcpdump 或 wirsharp 等工具在安装了 OpenLDAP 的攻击机器上监听端口 389,并且可以捕获明文密码。

(2) NetNTLM协议拦截

在 Windows 网络中,有大量服务相互通信,SMB 负责管理相关服务,例如网络文件共享。 如果在网络中使用NetNTLM协议进行认证,那么我们可以使用responser(https:)拦截NetNTLM数据包,获取认证中NTLMV2-SSP的哈希值,然后使用hashcat工具进行字典(cracking.

HashCat 支持多种哈希格式,哪种哈希格式使用什么模式,详见 HashCat。

下图是 netntlm 协议拦截的示意图:

Intranet 侦察

建立立足点后,下一步就是基于立足点进行内网侦察,即进行AD枚举。 做AD枚举的方法有很多种,比如使用Windows自带的管理控制台、cmd的net命令、PowerShell脚本等。 这是一个叫做猎犬的工具(

Bloodhound 是一个离线分析工具,它需要和 SharpHound 配合使用(,我们需要先使用 SharpHound 导出所有域信息,这里需要注意的是 SharpHound 有一个参数——excludedCS,用于过滤掉 DC 信息,降低报警风险。 导出的信息是一个 zip 存档,可以导入到 Bloodhound 中进行分析。

Bloodhound 以图形格式显示整个 AD 环境,如下图所示:

使用 Bloodhound,很容易发现一些隐藏的漏洞。 例如,用户 t0 tinusGreen 是 Tier 0 Admins 组的成员,而 Tier 0 Admins 组又是 Domain Admins 组的成员,即用户 T0 TinusGreen拥有域管理员权限,这并不奇怪,非常出乎意料。

很多人会问,攻击者是如何从跳转服务器发起攻击并横向移动的? 这是 Bloodhound 的示意图:

通过分析发现,T1 Henry,Tier 1 的管理员Miller 访问了跳转服务器,并在其中留下了会话信息,即在获取到会话信息后,获得了 Tier 1 的管理员权限,实现了权限的升级。

从上面的分析可以看出,Bloodhound 给了我们一个大局,可以从 AD 网络分析可能的横向移动路径和攻击路径,这简直是攻击者的神器。

横向移动和升级

在 Bloodhound 的指导下,我们可以横向移动并提出权利。 让我们付诸实践。

我们可以横向移动提升权限,最终获得 DC 权限,因为 AD 配置存在漏洞,例如不遵守最小权限原则和错误地委派权限。

错误权限委派的类型有很多种,典型的如下:

ForceChangePassword:我们可以在不知情的情况下设置用户的当前密码。

AddMembers:我们可以将用户(包括我们自己的帐户)、组或计算机添加到目标组。

GenericAll:我们可以完全控制对象,包括更改用户密码、注册 SPN 或将 AD 对象添加到目标组的能力。

genericwrite:我们可以将任何未受保护的参数更新到目标对象。 例如,这允许我们更新 scriptpath 参数,这将导致脚本在用户下次登录时执行。

writeowner:我们可以更新目标对象的所有者。 我们可以让自己成为所有者,从而获得对对象的额外权限。

WriteDACL:我们能够将一个新的 ace 写入目标对象的 DACL。 例如,我们可以编写一个 ace 来授予我们的帐户对目标对象的完全控制权。

AllExtendedRights:我们可以对目标对象执行与扩展 AD 权限相关的任何操作。 例如,这包括强制更改用户密码的能力。

下面是 ForceChangePassword 的简短示例,请参阅 Bloodhound 的分析:

域用户组的用户可以有加入IT支持用户组的权限,然后IT支持用户组的用户可以强行修改T2管理员组中用户的密码,也就是说,我可以通过在跳转机中将普通用户添加到IT支持用户组来修改T2管理员用户的密码, 以便获得 T2 管理员用户帐户。此过程称为升级。

使用此 T2 管理员用户帐户,可以访问 IIS 服务器,然后进行进一步的移动。 如果具有更高级权限的用户在这些服务器上具有会话记录,则可以使用 minikatz 工具破解更高级用户的会话记录并伪造该用户以供进一步访问。 这是一个迭代和逐步深入推进的过程,最终获得DC的许可。 由于 DC 有权控制整个 AD,因此攻击者可以为所欲为。

建立稳固的连接

在横向移动并提升重物后,我们需要建立一个稳固的连接,这个过程称为持久连接。 以下是常见的方法:

凭证或凭证:使用 mimikatz,我们可以生成凭证或凭证。 Mimikatz 创建了一个默认密码,该密码适用于域中的任何帐户。 此默认密码可用于模拟域中的任何帐户。

目录服务还原模式 (DSRM) :d C 有一个称为 DSRM 帐户的内部管理员帐户。 此密码是在服务器升级到 DC 时设置的,很少更改。 此密码用于在紧急情况下恢复 DC。 攻击者可以使用 Mimikatz 提取此密码,并使用此密码获取对环境中 DC 的持久管理访问权限。

恶意安全支持提供程序 (SSP):SSP 接口允许您添加新的 SSP。 我们可以将 mimilib by mimikatz 添加为 ssp,它将所有身份验证尝试的凭据记录到文件中。 我们可以指定一个用于日志记录的网络位置,这将允许 mimilib 在用户向受感染的主机进行身份验证时向我们发送凭据,从而提供持久性。

为特定帐户授予更多权限:我们还可以授予特定计算机帐户对其他计算机的管理访问权限。 这通常是AD的正常行为,因此可能会逃避检测。

整个Windows AD攻击过程广泛而深刻,涉及多种工具,值得进一步思考。 我们正在研究 Windows AD 的红队做法,希望蓝队可以做得更好,这里有一些建议:

1.用户意识培训很重要,用户是最薄弱的环节,不信任用户信任可疑邮件来减少这种攻击面。

2.限制AD服务和应用对外网的暴露,不是所有的东西都要通过内网,通过VPN或零信任保护,暴露面可以很好的减少。

3.蓝队遵循最小权限原则,警惕委托权限操作,还可以使用寻血猎犬对自己的AD进行定期检查,看看是否有任何意外发现。

4.密码,尤其是弱密码,很容易被字典攻击,所以多因素认证非常重要,重要的操作应该使用多因素认证,不要依赖密码。

相似文章

    肖文迪表示,IAM安全来自IAM CTF

    作者简介 肖文迪,OWASP中国广东分公司负责人,网络安全Plus社区杰出专家,现任外企安全架构师,负责应用安全设计 管理和审核。最近,一位外籍同事向我推荐了WIZ发起的名为Big IAM挑战赛的CTF,通过它我可以窥见豹子,深入了解AWS的IAM安全。AWS IAM Identity and Ac...

    网络安全加100论坛张坤 数据安全“打龙十巴掌”。

    作者简介 张坤,Brain Aurora首席信息安全官,OWASP北京分会负责人,网络安全社区特聘专家,西班牙UAB大学硕士 全日制 北京某大学网络空间安全学院研究生导师,网络安全研究生实习基地导师,中国卫生信息与医疗大数据学会第一届会员,参与编纂GB T 医疗保健行业数据安全指南 医疗保健行业标准...

    百家数优化

    百家号优化是百家号平台内容创作 发布和运营的一系列策略,旨在提高百家号文章的排名和率,吸引更多用户阅读和互动,增加流量和关注度。以下是优化百家号的主要方法和技巧 关键词优化 在撰写文章时,要明智地使用关键词,包括标题 摘要和正文中的关键词。同时,您还可以在文章的 和 中使用关键字。关键词的选择和优化...

    100个号码的排名

    百家排名是指在搜索结果中,百家豪的文章按照其浏览量 点赞数 评论数 分享量等指标进行排名,排名越高,文章数量越多,文章的知名度也会相应提高。影响百家排名的主要因素如下 关键词优化 在创建文章时,需要根据所写的内容进行综合分析,选择与标题相关的关键词,并合理地融入到标题 摘要和正文中,这样搜索引擎才能...

    个人号码和企业号码有什么区别

    百家账号 个人账号和企业账号也可以发布内容并被收录。为什么有的人选择做公司账户,有的人选择做个人,企业和个人有什么区别?企业可以通过个数字进行蓝V认证,认证后可挂载公司 联系人 爱心购买店等 个人账号无法通过蓝V验证,无法挂载 到账号首页。企业百家可以发布 或 内容添加转化组件,例如营销通行证 潜在...