RastaLabs渗透测试实战:从零到域控的完整攻防体验

作者详细记录了在RastaLabs渗透测试实验环境中的完整经历,包括初始访问、横向移动、权限提升和域控获取等关键技术环节,涵盖了AV绕过、Mimikatz使用、ROP攻击等实战内容,总计投入200-250小时。

Jump ESP, jump!: The RastaLabs体验

引言

那是11月20日,我开始思考接下来一个月要做什么。我已经离开了上一份工作,新工作要等到1月才开始。对某些人来说整月玩PS4可能听起来很有趣,但我知道我很快就会感到无聊。

尽管我有些有限的红队经验,但我一直想再次体验获取域管理员权限的兴奋感。我在˜2010年使用pass-the-hash获得了第一个DA,但那是很久以前的事了,事情变化很快。

在阅读众多Slack聊天室的历史记录时,我注意到某些聊天室在称赞RastaLabs。看了实验描述后,我觉得"就是它了,这正是我需要的"。能有多难呢?我有一整个月的时间,肯定能在圣诞节前完成。天哪,我错了。

启动实验室的一次性费用是90英镑,包含第一个月,之后每个月20英镑。我感觉像是在从Rastamouse和Hackthebox那里偷钱…怎么会这么便宜?有时候便宜意味着低质量,但这次不是。

我的经验

关于我之前的经验,我已经参加了OSCP、OSCE、SLAE(Securitytube Linux Assembly Expert)和PSP(Powershell for Pentesters),所有这些在实验室中都对我有很大帮助。我还有一些有限的红队经验。我在AV绕过方面有超过平均水平的经验,并且已经有使用新后期利用框架如Covenant和Powershell Empire的经验。至于编写漏洞利用,我知道缓冲区溢出或格式化字符串攻击的工作原理,但在绕过ASLR和NX方面缺乏实践。我在Windows 10上使用Mimikatz基本上零经验。我在2012年使用过Mimikatz,但可能从那以后就没用过。我也有很多关于如何做X和Y的知识,了解有用的工具和热门技术,但缺乏最近的使用经验。最后,在黑客攻击速度方面我通常是最后一名,但我总是用毅力来平衡速度的不足。

RastaLabs倒计时3,2,1…

所以我支付了初始入场费,获得了VPN连接包,连接到实验室,并在…4天后获得了我的第一个flag。总共有17个。这是我第一次开始担心。我做了所有让自己走错路的事情,比如假设错误的实验室网络地址、扫描太少的机器、通过OSINT找到错误的面包屑、尝试利用已修补的Web服务(就像大多数OSCP参与者会做的那样)等愚蠢的事情。我还不断与使用的工具斗争,因为我从不知道它们是出错了,还是我误用了它们,或者这不是获取flag的方法。我相信有运气和经验的人可以在2-3小时内完成这个阶段,但嘿,我是来获取经验的。

在实验室期间,每当我被同一个问题卡住超过30-40小时且挫败感高涨时,我就会在https://mm.netsecfocus.com/上的官方RastaLabs支持频道上ping Rastamouse。我通常这样接近他:“嗨,我尝试了X、Y和Z,但没成功”,然后他回复"是的,更努力地尝试Y"。这类信息通常就是我需要的,2-3小时后我又回到正轨。他的帮助总是足够,但从不至于破坏乐趣。Rastamouse的可用性和专业性都是10/10。庞大的数十亿美元公司未能提供足够好的支持,而这一个人总是在那里提供帮助。太神奇了。我强烈建议加入Mattermost频道 - 它会帮助你看到你不是唯一一个被问题卡住的人。但如果你没有更努力尝试,请不要给他或频道发私信。

实验室中真正可爱的是,你可以期待真实世界的场景,有"RastaLabs员工"在他们的计算机上工作、阅读电子邮件、浏览网页等。我相信在这里不算剧透的是,在某个时间点,你必须提供能够规避机器上MS Defender AV的恶意软件。是的,机器上有真正工作的Defender,虽然有点过时,但它可能很快捕获你的默认payload。正如我之前提到的,幸运的是我最近有AV绕过的经验,所以这部分对我来说并不新鲜。我强烈建议设置你自己的Win10并更新最新的Defender,首先在上面测试你的payload。如果在那里工作,它将在实验室工作。这部分可能特别令人沮丧,因为你从实验室得到的唯一反馈是什么都没有发生,并且无法调试它。首先在本地测试你的解决方案。

Powershell Empire对我来说是一个极好的解决方案,它唯一缺乏的功能是端口转发。但你可以放置其他工具来有效地完成这项工作。

一点帮助:即使你成功交付了payload并且有一个工作的C&C,也不意味着你与AV绕过的任务结束了。Defender很可能会阻止你的后期利用代码。要绕过这个,请阅读Rastamouse所有关于AMSI绕过的博客文章。这很重要。

横向移动

当你最终获得第一个shell时…

一个全新的世界开始了。从现在开始,你将花费大量时间在密码破解、横向移动、持久性和弄清楚Windows AD如何工作上。

过去,我玩了很多CTF,时不时会有这种感觉"是的,即使这个挑战很有趣,它也不现实"。在RastaLabs期间这从未发生。所有的挑战和解决方案都是100%现实的,正如RastaLabs的"Ars poetica"所述:

“…这是如此真实。没有一个任务涉及任何CVE的利用。你需要为这个实验室不同的心态。你需要考虑错误配置、可破解的密码、权限滥用和类似问题。但我相信这个实验室仍然比90%的组织更难攻破。唯一的帮助是没有蓝队成员杀死我们的shell。

关于实验室的架构:当使用VPN连接到实验室时,你基本上发现自己在一个可以标记为"互联网"的网络中,你的目标网络在防火墙后面,就像适当的公司网络应该的那样。

有一堆工作站 - 只有Win10,和一些服务器,如文件服务器、exchange、DC、SQL服务器等。大多数服务器是Windows Server 2016,还有一台Linux服务器。两个站点充分分离并有防火墙。

随着时间推移,我获得了越来越多的flag,我开始感受到力量。然后过山车体验开始了。我毫无用处,我什么都不知道。获得flag时,我是神。一小时后,我毫无用处。

例如,我花了大量时间尝试获取工作站的GUI访问权限。最后,我成功获得了,却发现我并没有用它实现任何目标。由于未知原因,我尝试的框架都没有可工作的VNC,所以我设置了自己的,这很痛苦。

12月18日,我终于获得了域管理员权限。所以我"完成实验室"的估计在一个月内并不算太离谱。除了我远未完成它,因为我仍然需要找到我缺少的另外五个flag。你可能会问"你已经有DA了,找到剩下的五个能有多难?"。剧透警告,很难。或者更准确地说,不难,只是具有挑战性且耗时。这也是Mattermost RastaLabs频道上的连接对我有很大帮助的时候。像"flag X在机器Y上"这样的提示帮助我保持动力,但并没有破坏乐趣。没有这样的提示,我不会写这篇文章,而是会被多个flag卡住。

关于漏洞利用

还有那个臭名昭著的挑战,“ROP the night away。“这与其他的16个完全不同。我相信这张图片说明了一切:

如果你不熟悉GDB,那么你会有一段艰难的时间。如果你没有像我一样有很多绕过NX的实践经验 - 也就是ROP - 你会觉得这个挑战很难。OSCP和OSCE考试期间的二进制漏洞利用挑战远没有这个复杂。如果你有OSEE,你会没事的。对于这个挑战,我使用了GDB-Peda和Python pwntools - 如果你不熟悉它们,请查看。对我来说,解决这个挑战花了大约40小时。有经验的CTF人可能可以在4小时或更短时间内解决它。

结论

我不建议完全初学者*参加这个实验室。如果你每天只有有限的时间,我也不建议做这个实验室,如果你在家用计算机上工作尤其如此。如果我为这个实验室在云中设置了专用服务器,我可能会节省数小时甚至数天的时间。问题是实验室工作站每天重启,这意味着我总是丢失我的shell。“持久性FTW”,你可能会说,但如果工作站重启时你的C&C关闭,你就完蛋了。“计划任务FTW”,你可能会说,但除非你严格规定何时启动计算机,否则你最终会有一堆计划任务,只为了在你启动计算机时恢复shell。日复一日,我花了第一个小时回到前一天的位置。直到实验室结束时我才弄清楚为什么我的一些计划任务不工作…

我真的很想知道我花了多少时间连接到实验室。可能总共大约200-250小时,我相信这比我花在OSCP和OSCE上的总和还要多。但这完全值得。我学到了这么多有用的东西,现在真的感受到了力量。

但如果你考虑一个月实验室的价格是20英镑,这仍然是练习技能的非常便宜的选择。

  • 如果你从初学者开始,用6个月完成实验室完全没问题。那仍然只是190英镑的实验室访问月费,在这段时间里你会获得很多经验。你可能很难达到有一个工作shell的程度,但没关系。你可以在Google上找到所有信息,你只需要时间、耐心和意愿到达那里。

无论如何,不"获取所有flag"仍然是一个选项。即使只获得前两个flag,你也会在"获得立足点"方面获得重要经验。但对我来说,不获取所有flag从来不是一个选项。

如果你仍然不相信,查看这些其他博客文章:

https://jmpesp.me/a-rastalabs-story/ https://www.gerrenmurphy.com/rastalabs-review/

或者看看其他人对RastaLabs的评价。

脚注

如果你开始实验室,请,拜托,遵守规则,不要破坏他人的乐趣。不要到处留下你的工具,不要保持共享驱动器打开,不要到处留下FLAG。保持机器原样。如果你必须上传文件,把它放在其他人不容易找到的文件夹中。这是真实世界红队行动的必要心态。当你或其他人获得新flag时,不要忘记在聊天中放一个派对鹦鹉。不要忘记:

OSCP在这里没有力量。哭 harder!

我可能会保持对实验室的订阅并尝试新事物,新的后期利用框架。我要感谢@_rastamouse提供这次伟大的体验,@superkojiman提供ROP挑战。Hackthebox以出色的正常运行时间托管实验室。

至于@gentilkiwi和@harmj0y,这两个人可能比所有其他人加起来更多地推进了红队行动。来自@gallopsled的pwntools也真的很有帮助。我将永远感激财务部的Bradley,每当我的shell丢失时,他总是提供持续支持。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计