欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

内网渗透之域关系探测神器:Bloodhound

来源:本站整理 作者:佚名 时间:2020-03-17 TAG: 我要投稿


保护一个公司或者组织免受当今复杂的攻击并非易事。除了管理保护组织安全的日常职责之外,通常还需要安全团队随时准备响应事件。为了有效管理,安全团队必须具有良好定义的策略和可靠的检测功能。这种功能和策略的实施常常会在蓝队和红队之间引发一场持续的军备竞赛,双方都在寻求越来越复杂的工具和检测能力。然而,安全专业人员通常可以通过预测可能的攻击路径并采取步骤阻止攻击者使用这些路径从而优化他们的工作并获得优势。
如何获取隐藏到域控制器管理员账户?
首先我们得要先知道什么是隐藏的管理员帐户?为什么要关心这个问题?
隐藏的管理员帐户是域帐户,提供对敏感系统(如域控制器、exchange服务器或数据库服务器)的管理员访问。这些帐户可能不属于特权Active Directory (AD)组(即域管理员),但是它们仍然可以访问相同的系统。这些帐户的权限是使用AD对象上的访问控制列表(ACL)直接分配的。
这些隐藏的管理员帐户通常是服务或维护帐户,它们在环境中执行自动化的例行任务。此外,隐藏的管理员帐户通常可以访问环境中的多个系统。值得关注的是,在配置检查或密码管理和监视方面,这些帐户通常不会得到与普通管理员账户相同的关注。
因此,他们经常作为一种弱点项来进行探测,红队利用这些服务帐户进行横向渗透并且访问多个系统。
此外,隐藏的管理员帐户也经常成为自我传播的恶意软件的目标,包括那些用于勒索软件和加密攻击的恶意软件。利用这些管理员特权,恶意软件可以很容易地在整个公司中传播。
如何处理隐藏的管理帐户?
我们这选择是使用侦探犬。不,我说的不是耷拉着眼睛的气味狗——我说的是现在很多红色团队使用的非常流行的内部AD侦察工具。

侦探犬是一个单页JavaScript web应用程序,带有一个由PowerShell脚本提供的Neo4j数据库。侦探犬使用图论方式来揭示AD环境中隐藏的、常常是意想不到的关系图。
它由Will Schroeder (@harmjoy)、Andrew Robbins (@_wald0)和Rohan Vazarkar (@CptJesus)开发。侦探犬可以在几分钟内完成以前需要渗透测试人员和分析人员几周才能完成的工作。尽管该工具在渗透测试社区中非常流行,但是我们仍然发现一些安全性和IT团队没有意识到它对于保护他们的基础设施有多么强大和有益。具体来说,侦探犬可以发现隐藏的关系和管理帐户,如过不进行使用探测这些账户可能会被我们忽略掉。要使用侦探犬,您必须设置Neo4j community edition数据库。然后需要将侦探犬web应用程序连接到Neo4j数据库。有关完整的安装说明,请访问侦探犬Wiki
(https://github.com/BloodHoundAD/BloodHound/wiki/Getting-started)
设置好数据库并登录到侦探犬web应用程序之后,需要使用Bloodhound PowerShell ingestor选项从AD中提取AD数据。
图1显示了一个示例命令,它搜索林(-SearchForest)中的所有域,以及用于保存生成的CSV文件的文件夹位置。

图1:运行侦探犬的Bloodhound PowerShell Ingestor
一旦ingestor完成,您将看到三个CSV文件,它们可以上传到侦探犬中,如图2所示:
A.group_membership.csv
B.local_admins.csv
C.Sessions.csv

图2:侦探犬web应用的上传界面
上传这些文件后,利用侦探犬内部的预构建查询。这些查询是开始获取有关环境的重要信息的好方法。查询包括:
查看所有域管理员; 查看具有最多本地管理员权限的用户; 或查看具有最多管理用户访问权限的计算机。
其中一个查询使我们能够得到域信任关系,如图3所示。

图 3:侦探犬预构建分析查询
在查找隐藏的管理员帐户和信任错误配置时,我们通常使用预先构建的查询“查找拥有最多本地管理权限的前10个用户”和“映射域信任”。
这些查询将提供一些快速的结果,并向我们展示哪些帐户可以访问最多的系统,以及域之间是否存在双向信任,从而允许对环境进行更大程度的访问。找到隐藏的管理员帐户的另一个好方法是直接查看系统、组或用户节点信息。我们只需输入环境中的任何用户、组或系统名称的前几个字符,就可以调查该环境中的任何用户、组或系统名称。
一旦您选择了一个节点,左侧面板中的“node Info”字段就会填充。您还可以右键单击一个节点并选择子选项“Expand”,以查看该节点的成员,如图4所示。

图4:侦探犬用户交互界面
我们能够轻松发现隐藏管理员帐户的另一种方法是搜索敏感的系统,比如域控制器。这可以通过简单地搜索“域控制器”组并左键单击组节点来实现。左边的“Node Info”字段将被填充。接下来,在“群组成员”部分中,左键单击“直接成员”旁边的数字。将看到该组下的所有域控制器系统节点,如图5所示。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载