注:本篇文章建立在有一定的内网渗透基础前提下,所以翻译时候有些词汇显得比较术语化,建议大家没事可以多了解下内网渗透的知识
保护一个公司或者组织免受当今复杂的攻击并非易事。除了管理保护组织安全的日常职责之外,通常还需要安全团队随时准备响应事件。为了有效管理,安全团队必须具有良好定义的策略和可靠的检测功能。这种功能和策略的实施常常会在蓝队和红队之间引发一场持续的军备竞赛,双方都在寻求越来越复杂的工具和检测能力。然而,安全专业人员通常可以通过预测可能的攻击路径并采取步骤阻止攻击者使用这些路径从而优化他们的工作并获得优势。
如何获取隐藏到域控制器管理员账户?
首先我们得要先知道什么是隐藏的管理员帐户?为什么要关心这个问题?
隐藏的管理员帐户是域帐户,提供对敏感系统(如域控制器、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所示。
图5:侦探犬显示的域控制器组的成员
接下来,左键单击其中一个系统节点(例如:“GOAT-DC”),并在“Local Admins”部分中,左键单击“Derivative Local Admins”旁边的数字,如图6所示。
图6:侦探犬显示的GOAT-DC 派生的本地管理员
现在,我们可以看到有两个帐户具有对域控制器的本地管理员访问权,它们不在“域管理员”组中,甚至没有显示在图4中。。
结论
环境中隐藏的管理员帐户常常被遗忘,或者完全不为人知。它们可以为攻击者提供一种独特的方式来获得域管理员权限并不破坏环境。 侦探犬在识别隐藏的管理员帐户方面非常有效,而且功能强大且易于使用。它可以在几分钟内提供对你的域环境的关系图谱,在你寻找隐藏的域关系时,它是一个很好的工具。我们建议安全公司经常使用像侦探犬这样的免费工具进行威胁探测,并将它们作为定期的、主动的安全评估的一部分。我们在安全方面越主动,就越能更好地预测威胁,为我们的团队做好准备,并提高我们阻止入侵的能力。


北京市 1F
这工具真绝了,上次搞渗透测试全靠它挖出一堆隐藏账户👍
江苏省无锡市 2F
求问这个在Win Server 2016上跑会不会有问题?
吉林省四平市 3F
我之前也遇到过,一个服务账户居然有域控权限,查了好久才发现是ACL搞的鬼
澳大利亚 4F
说的对,很多IT同事根本不注意这些服务账户的安全性
澳大利亚 B1
@ 石榴花 Win Server 2016应该没问题,我们环境里跑着呢,就是PowerShell版本得5.1以上
陕西省宝鸡市 5F
能不能用在非域环境啊,我们这边测试机没加域
日本 6F
图都整这么清楚,一看就是老红队了hhh
浙江省 B1
@ 蜂蜜小鹿 楼上的,数据量大可以拆文件,我们都是按OU拆的,上传没问题
北京市 7F
这玩意儿蓝队也能用吧,反过来查自己漏洞?
云南省昆明市 8F
“侦探犬”名字倒是挺形象,但PowerShell那块配置有点坑
越南 9F
前几天刚用Bloodhound做完一次评估,确实快,几分钟出图
越南 10F
那个Derivative Local Admins功能太关键了,之前踩过这坑
韩国 B1
@ 光年时速 Derivative Local Admins这块确实容易忽略,ACL权限太隐蔽了
江苏省连云港市 11F
这工具真香,蓝队拿来自查也挺顶的
越南 B1
@ 太常少卿 蓝队真该定期跑一遍这工具,别等出事才后悔
韩国 12F
非域环境用不了,它靠AD数据建图的,没域信息根本跑不起来
广东省江门市 13F
感觉一般,我们这用AD Explorer也能看关系,就是慢点
韩国 14F
之前一个项目里,一个备份账户有域控权限,查到头秃,血的教训😭
日本 15F
这图示意图整得跟真猎犬破案似的,倒是挺应景
北京市 B1
@ 至尊狂神 图里那群狗鼻子灵得很,跟Bloodhound挖关系一样准
台湾省 16F
那个CSV导出能不能分批传啊,我们大公司数据量太大一次传不进去
天津市 B1
@ 概率云牧羊人 大公司数据量确实头疼,分批导入功能啥时候能安排上?
湖南省湘潭市 17F
说的有道理,主动用这工具找漏洞比被红队爆了强
上海市 B1
@ SolitudeMoon 主动查漏洞确实比事后擦屁股强多了,血泪教训
韩国 18F
我司上个月就靠它揪出个运维留的后门账户,吓一跳
陕西省西安市 B1
@ 冰封王座 运维留后门这事太常见了,上次我们也是靠Bloodhound挖出来的。
日本 19F
求问导出的CSV能加密吗?传内网有点担心数据泄露
韩国 20F
这玩意儿对AD结构要求高不?我们域控分了好几个林
广东省广州市 21F
感觉还行,就是Neo4j吃内存太狠了,小机子跑不动
日本 22F
之前踩过坑,服务账号加了ACL但没进组,结果被横向打穿
浙江省 23F
非得用PowerShell ingester?有没有Python版的啊🤔
上海市杨浦区 B1
@ 孤夜微光 Python版好像有社区维护的,叫pyingest,不过更新不太勤。
北京市 24F
大公司数据量太大,能不能支持增量导入?每次全量太痛苦了
北京市 25F
这工具对蓝队真挺友好的,自查权限配置太方便了。
日本 26F
一直没搞懂信任关系图怎么个看法
巴基斯坦 27F
我们这边试过用它查服务账户,结果发现一堆没进组但有高权的账号,后背发凉。
北京市 28F
Win Server 2016跑没问题,但得装.NET 4.7以上,不然PowerShell脚本报错。
江苏省淮安市 29F
Neo4j内存吃太多,16G机器跑起来都卡,建议至少32G起步。
韩国 30F
ACL分配权限这块太隐蔽了,普通审计根本扫不到,血的教训。
北京市 31F
非域环境确实没法用,连基本节点都建不起来,别白折腾了。
湖南省长沙市 32F
“侦探犬”这名字起得妙,嗅出隐藏关系跟猎犬追味儿一样准。
印度尼西亚 33F
这玩意儿排查内网后门挺好使。
日本 34F
导出CSV能不能加个脱敏选项?有些字段像主机名直接暴露内网结构了。
韩国 35F
感觉比AD Explorer直观多了,图谱一拉关系全现形。
湖北省武汉市 36F
小公司用着爽,大企业光采集就得跑半天,还老超时。
湖南省娄底市 37F
服务账户权限管理真的得提上日程,不然就是给红队铺路。