回归最本质的信息安全

组合利用Empire和Death Star:一键获取域管理员权限

2017年9月20日发布

37,280
0
0

导语:自从有了Empire和BloodHound以来,渗透 Active Directory已经变得非常简单直接,约95%的内网环境我都可以搞定。

自从有了EmpireBloodHound以来,渗透 Active Directory已经变得非常简单直接,约95%的内网环境我都可以搞定。

我发现自己在一遍又一遍地做着同样的事情,当这种情况发生时,可能是需要自动化渗透的时候了!毕竟,自动获得Domain Admin权限的渗透脚本一直不就是个梦想吗?

幸运的是,对我现在要做的事情来说,已经有很多其他令人敬畏的人(见下面的“致谢”部分)已经做了所有的努力。此外,Empire之前提供了一个RESTful API,它创建了与之互动的第三方脚本。

在我继续实现自动化获取权限的想法之前,我借此机会说一下:域管理员不应该成为你渗透测试的唯一范围。你应该专注于后期的渗透和漏洞利用,试图找到敏感的权限,文件等。任何可以清楚地证明是个“管理”的东西,无论它可能会对组织有多大的影响,尤其是你在做一个真实的世界的入侵时。但是,使用域管理员访问权限确实可以使生活更轻松;),为客户提供额外的价值,并且往往会对Blue Team留下深刻的印象。

项目目标和实现

最初,我想要的东西只是使用BloodHounds的输出结果,然后进行解析,再输入到Empire并使其遵循攻击“链”。然而,BloodHound并没有考虑到(至少在我的知识中)账户路径,可以用于域进行权限升级,例如SYSVOL中的GPP密码(我个人发现几乎在每一次渗透测试中)都可以实现。

所以我想要一个更“活跃”的带有 “蠕虫”行为的BloodHound版本。此外,Empire拥有BloodHound的大部分核心功能, 涵盖了所有的模块和Empire目前没有一个模块可以轻易地实现一个BloodHound所拥有的智能的功能的任何东西,(例如,ACL攻击路径更新,这是一个疯狂的渗透方式)。

我决定坚持使用Empire,并使用其RESTful API自动化所有内容。这也将使我自由地解析模块的输出,因为我认为这样比较合适,并且对整体逻辑和用户反馈有更多的控制。

在引擎罩下都做了什么?

下面的流程图非常详细的说明了(我个人认为)DeathStar做得要比我在博文中所做的解释更好。

1505806412592904.png

如果你最近已经尝试过渗透Active Directory,那么你应该熟悉该图中的所有内容。如果没有,请随时找我,我很乐意回答任何问题。

配置

编辑于08/28/2017 – Empire2.1发布,更改合并,所以你现在可以使用主要的Empire仓库与DeathStar:)

克隆Empire,进行安装,然后运行以下:

pythonEmpire--rest --username用户名 --password密码

这将启动Empire的控制台和RESTful API服务器。

接下来,要让DeathStar开始运行:

git clone https://github.com/byt3bl33d3r/DeathStar#

 死亡之星是用Python 3编写的

pip3 install -r requirements.txt

#提供你启动的用户名和密码给Empire的RESTful API

./DeathStar.py -u用户名-p密码

如果一切顺利,死亡之星将创建一个http监听器,你应该看到一个“Polling for Agents”的状态:这意味着你已经通过Empire的RESTful API进行了身份验证,而DeathStar正在等待第一个代理。

所有你现在需要的是在一个域上加入机器的代理,你的做法超出了本博文的所讲述的内容的范围。我建议使用CrackMapExec,但我有个人偏见。

它在行动中是什么样子?

一旦你获得了第一个代理,DeathStar将进行接管并且魔法即将开启。

以下是两个不同场景中DeathStar获取域管理权限的几个视频。

在第一个视频中,它使用SYSVOL漏洞中的GPP密码来提升域权限,将GPO应用于使用解密的凭据的机器进行横向扩展,并最终登陆到具有域管理员登录的机器上,然后枚举运行的进程并且使用PSInject注入一个进程(默认情况下是explorer.exe),运行在Domain Admin帐户中,之后在该安全上下文中运行我们的代理:

https://youtu.be/PTpg_9IgxB0

在第二个视频中,它实际上使用了Mimikatz获取域管理员的凭据,并滥用本地管理员关系:

https://youtu.be/1ZCkC8FXSzs

有一件事我想指出:虽然这两个视频以某种方式利用了凭据,但是DeathStar可以通过使用本地管理员关系和PSInject的组合来获取域管理员权限,而无需使用集合的凭据。

我想看到添加的东西

死亡之星还有很多可以做到的事情:可以添加更多的域权限提升技术,更多的横向运动方法,逻辑可以稍微再调整一点,我们可以做一些后期的漏洞利用和SPN 欺骗技巧等。当前的发布绝对是一个比较粗暴的初稿版本。

渗透测试这个游戏的转折点将是SMB命名管道旋转。一旦在Empire中实现,这将会成为一个连 “走路和说话”都像一个真正的蠕虫的工具。

结论

DeathStar演示了在Active Directory环境中使用现有的开源工具集自动获取域管理员权限的明显案例。我期望看到更多的工具在不久的将来会这样做(我个人知道两个人正在使用自己的版本/实现,这是非常棒的,我鼓励更多的人这样做)。

最后一点我想让大家反思一下:我已经发布了有3-4天了。想象一下,比我一堆更聪明的人能做些什么/已经有更多的时间和资源。这是我认为特别有趣的东西。

致谢

没有这些人的令人惊人的研究和艰苦的工作(你应该在任何一个地方都关注这些人),我的这个想法也不可能实现,我想亲自感谢他们不断的支持和鼓励:)

本文翻译自:https://byt3bl33d3r.github.io/automating-the-empire-with-the-death-star-getting-domain-admin-with-a-push-of-a-button.html ,如若转载,请注明来源于嘶吼: http://www.4hou.com/penetration/7716.html

点赞 0
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

丝绸之路

丝绸之路

嘶吼认证-特约作者/译者

发私信

发表评论