域控利器:AD Explorer渗透测试实战指南

本文详细介绍了如何使用Sysinternals的AD Explorer工具进行Active Directory域渗透测试,包括域枚举、敏感信息提取、权限提升技巧以及结合Shodan进行外部测试的方法,为安全人员提供实用的内网渗透技术指南。

域控利器:如何爱上AD Explorer

Sally Vandeven //

或者说如何使用AD Explorer进行渗透测试!

Mark Russinovich的Sysinternals工具(微软)并不新鲜。多年来,它们一直是系统管理员的最爱。可能不太为人所知的是,它们对渗透测试人员也超级有用!我最喜欢的工具之一是AD Explorer。我的同事Dave Fletcher(曾担任过多个角色,包括出色的系统管理员)在一次任务中提醒了我这个工具,从那时起我就一直忠实地在内部评估中使用它。当然,对于在互联网上暴露域控制器的组织来说,这在外网测试中也很有用(继续阅读了解更多关于使用Shodan的信息)。

你只需要一个域账户——任何域账户——就可以与域控制器通信,并要求它为你枚举域。它将展示OU结构、用户账户、计算机账户。它可能有助于找到有价值的目标,如特权用户和数据库服务器。

像所有Sysinternals工具一样,它们是独立的可执行文件,无需安装。因此,只要你有写入权限,就可以从http://live.sysinternals.com下载它。

但如果你没有写入权限或不允许下载可执行文件怎么办?别担心,你也可以直接从运行框或资源管理器窗口给出以下UNC路径,并在不将文件下载到磁盘的情况下执行它。

1
\\live.sysinternals.com\tools\ADExplorer.exe

点击可执行文件直接从微软网站加载到内存中

让我们看几个例子,看看这个工具有多棒。首先,你可能会发现元数据为你提供关于对象的线索,如下面的截图所示。看起来我们找到了CIO的笔记本电脑。我不知道你怎么想,但如果我得知CIO的计算机名,我就忍不住想找到登录那里的方法并从内存中获取他们的凭据。那通常也是一个相当特权的账户。

可能还有其他属性包含有趣的信息,例如“info”属性。在下面的例子中,我们展示了一个真实测试中的AD记录。数据被编辑过,但可以说那里的数据非常敏感,并提供了一些出色的社会工程机会(想想密码重置)!

如果你需要找到高价值的目标服务器,那么组织的命名约定通常会帮助你。服务器通常根据其功能命名,例如名称中包含“SQL”或“Sharepoint”。

AD Explorer中的搜索功能也非常出色,帮助你在海量数据中筛选出你需要的内容。例如,你需要识别禁用的账户吗?只需选择userAccountControl属性并搜索值为514。(实际上,userAccountControl属性是一个代表多个标志的值,其中之一是“禁用”标志,因此这里可能有多个值代表禁用账户,但最常见的是514。)

如果你有足够高的权限,你还可以添加和修改对象和属性。它不允许你像Active Directory用户和计算机那样做很多事情,但这个功能在渗透测试中仍然可能有用。作为演示,我在测试域中为用户Grace添加了“Comment”属性。

该工具还为你提供了保存快照的绝佳选项……

……你可以将其复制到任何地方,并在AD Explorer中重新打开它以供查看。

查看快照不会让你进行任何更改,但对于侦察活动非常出色。

AD Explorer还可以对两个快照进行“差异”比较。这在渗透测试中可能有什么用?当你获得域访问权限时立即拍摄快照。然后,在你进行一些黑客攻击和破解之后,人们开始更改密码或禁用账户,你可以拍摄另一个快照,看看谁更改了密码或哪些账户被禁用。据我所知,AD Explorer不允许你修改密码或将状态从禁用更改为启用(即使是DA),但至少你可以检查并避免使用禁用账户,使用这种方法保持更隐蔽。

现在,关于外部测试……如果你在Shodan上搜索暴露在互联网上的DC,并以这种方式登录其中一个会怎样?当然,如果你想使用AD Explorer连接到服务器,你需要想出一个域账户。下面的搜索是针对两个常见的LDAP端口和包含字母“DC”的主机名。令人惊讶的是,有很多可以从互联网访问。

或者更进一步,添加端口445以查找可能容易受到Shadow Brokers最近泄露的SMB漏洞攻击的域控制器。(注意:并非所有这些命中都打开了所有三个端口。)

这些服务器中的一台被入侵可能代表整个域的入侵。哎呀。确保你的组织不在此列表中!

!!2018年5月新增提示和技巧!!

使用AD Explorer协助网络钓鱼诡计

如果你想从外部电子邮件地址向特定组发送有针对性的网络钓鱼电子邮件,你可以查询AD以查找允许来自外部来源邮件的分发组。属性msExchRequireAuthToSendTo揭示了这一点。当该属性为False时,任何人都可以向该组发送邮件。

你还可以从搜索结果中双击一个组,然后检查该组的member属性以获取成员列表。可以以这种方式提取单个电子邮件地址,但这样更繁琐。向组发送邮件的能力更快,并且可能使电子邮件对收件人更可信。

从命令行创建快照

AD Explorer是一个GUI工具,但如你所知,GUI访问通常不可用。但从shell访问,你也可以创建快照(谢谢Fletch!)。将可执行文件上传到你有shell访问权限的主机,并使用以下命令:

1
adexplorer.exe -snapshot "" mysnap.dat

或者使用此命令先不上传运行它:

1
\\live.sysinternals.com\tools\adexplorer.exe -snapshot "" snap.dat

你可以通过在命令提示符下键入“adexplorer /?”来查看所需的语法:

寻找特权账户

此外,如果你正在寻找特权账户,不要忘记检查Builtin Administrators组。这可能包含不一定是域管理员但可能对域控制器具有本地管理员访问权限的账户FTW!

寻找密码

有3-4个字段在大多数AD模式中似乎很常见,UserPassword、UnixUserPassword、unicodePwd和msSFU30Password。在相当多的测试中,我们发现其中一个或多个字段填充了实际密码。它们有时通过转换为ASCII十进制等效值来混淆,但这不是“man ascii”不能帮助你的。

这是我们最近拍摄的快照中的一个例子。

这两个都有相同的密码,解码为A B C D ! e f g h 1 2 3 4 5 $ 6 7 8 9 0。

如果你知道使用AD Explorer的任何其他提示或技巧,请告诉我们,我们将添加它们。谢谢!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计