第9章 两分钟的操练——从零变成英雄

0900

随着时间的推移,这是测试的最后一天,您从外部开展突破,没有取得太多进展。您感到压力越来越大,因为您需要进入公司内部,了解公司的布局,获取敏感文件/代码,横向渗透到不同的用户和网络,并最终获取网络空间猫公司的秘密计划。您的任务是“窃取”新的火箭秘密,绝对不能失败。现在是进行两分钟演习的时候。剩下的时间不多了,您需要从10码线开始,突破所有的防守机制,清除障碍,移动到90码区域。

您回顾所有行动记录,尝试找出可能遗漏的内容。其中一个网页屏幕截图进入您的视线。这是CSK公司的论坛网站。您无法在应用程序中找到任何漏洞,但请注意,员工和公共用户都在CSK公司的论坛发布有关其太空计划的问题、评论和其他信息。

您在网站上搜索了所有用户,查找看起来是公司员工的账户。然后,您选用可靠的密码字典。您使用常用的密码和变换规则,对所有这些账户进行暴力破解。然后,您看到Python脚本运行失败……失败……失败……密码找到了!当看到其中一个用户Chris Catfield使用密码“Summer2018!”时,您笑了。这对您来说太容易了。接下来,您以Chris身份登录论坛,阅读他所有的私人消息和帖子,找出最佳的方法,获取最初的立足点。您看到Chris经常与论坛上的另一名内部员工Neil Pawstrong谈论太空计划。看起来他们不是现实中的朋友,但是有良好的工作关系。这很好,因为接下来的网络钓鱼攻击将是一个好的起点。使用Chris的账户,我们已经在两个用户之间建立了良好的关系,并且成功的可能性非常大。

您在考虑是否向Neil发送定制的恶意静荷,因为这可能太明显了。于是,您发送一个包含猫照片的网页链接,同时发送消息:“嘿,尼尔,我知道你喜欢猫!看一看我做的这个页面!”,如图9.1所示。

0901

图9.1

几分钟后,您在论坛网站上收到Neil的一条回复消息说:“哈哈,我喜欢太空猫!”Neil没有意识到,他访问的网页有一个定制的JavaScript静荷,扫描CSK内部网络,并突破没有设置身份鉴权的Jenkins和Tomcat网络服务器。几秒内,Empire静荷回连,大功告成。

当您感觉兴奋时,您知道蓝队使用防火墙/ DNS /主机实施拦截,只是一个时间问题,因此必须快速行动。幸运的是,您已经设置了自动化脚本,完成大量的重复操作工作。突破的主机信标被激活,开始运行Bloodhound工具,查找本地密码,设置注册表项,捕获mimikatz LSASS密码,运行SPN并转储所有Kerberos票证,当然,还要在计划任务中设置持久性参数。

您知道需要快速离开这个初始突破设备。您获取所有Kerberos票证,将其转储成hashcat格式,并开始破解。您发现使用额外的Bug赏金购买的几个1080Ti GPU非常棒。当GPU开始破解时,您破解一些服务账户密码,但是您没有时间进一步了解。您查看了Bloodhound的输出,并了解到初始突破的设备属于Neil Pawstrong,他的域账户可以访问Buzz Clawdrin设备,如图9.2所示。使用WMI,您可以在远程Buzz Clawdrin设备上运行另一个静荷,然后迁移到Buzz所在的进程中。

0902

图9.2

幸运的是,您同样是Buzz设备的本地管理员,这意味着这两个设备一定有很多关联。基于Bloodhound的输出,您遍历网络,发现了CSK公司实验室的设备,但要意识到您在这个系统上没有本地管理账户。不用担心,您加载PowerUp PowerShell脚本,查找该系统上的错误配置,这可能允许您访问本地管理员账户。正如您所想,系统服务的二进制文件有大量未引用的路径,您可以在这些路径编写自己的静荷。您可以快速创建一个新的恶意二进制文件,这些文件现在可以由本地系统服务触发执行。

您在第二个命令和控制设备上,获得了新的Cobalt Strike静荷连接,即使蓝队发现了行动中的蛛丝马迹,您也可以保持访问权限。当前连接具有系统权限,您搜索设备,在文本文件、浏览器和WinSCP配置文件中找到大量的凭证。这个共享设备是一个“金矿”,连接到多个服务器和数据库。您注意到此计算机位于不同的VLAN上。看起来这个系统可以访问Neil以前无法访问的多个系统。您再次运行命令,通过Bloodhound查看系统连接关系。您注意到,网络中很多系统无法访问Internet,因此您无法运行HTTP信标。但是,由于使用的是Cobalt Strike,因此您知道Cobalt Strike平台的一个特点是可以通过突破主机的命名管道(SMB)实现隧道传输。

这意味着在实验室VLAN网络中,已突破的系统可以通过CSK公司实验室的设备路由到互联网。此外,运行systeminfo命令,获取Windows Patch级别,您发现这些部分隔离的设备没有打补丁。看起来客户端计算机运行Windows 7操作系统,并且没有针对EternalBlue漏洞打补丁。

通过CSK公司的实验室设备,您可以使用修改后的EternalBlue漏洞在实验室网络中的众多Windows 7系统上生成SMB信标静荷。使用所有新Shell,您开始获取大量信息。您注意到其中一个系统与名为Restricted的远程Microsoft SQL服务器具有活动连接。您可以尝试实验室网络上的所有账户,但这些用户名和密码都不适用于此数据库。您回过头来查看所有笔记并意识到……您忘记了Kerberos“门票”!您可以通过SSH连接到破解设备,查看输出,查找链接到Restricted数据库的故障单。您找到了该服务账户的密码!

您登录Restricted 数据库并转储整个数据库。您很想在现场阅读,但知道时间有限。您使用一些PowerShell -fu压缩和加密转储,然后在不同的突破系统之间慢慢渗透,最后将其从网络移到命令和控制服务器。

您告诉自己做到了,但是当慢慢冷静下来后,发现仍有很多工作要做。您重新查看Bloodhound的输出结果,发现了Purri Gagarin的机器,它是帮助工作台组的成员。太棒了!我们可以使用这台主机,远程连接到域管理员的设备,或者通过Windows ACE,然后将域管理员的密码重置为我们选择的密码。我们继续前进,重置域管理员和Elon Muskkat的密码,生成具有域管理员权限的静荷!

我们需要做的最后一件事是转储域控制器的所有散列值,设置备份后门,然后离开现场。建议您运行mimikatz的DCSync获取所有用户的散列值和krbtgt票证,而不要采用网络流量较大(Shadow Volume Copy)的方法获取所有域散列值。我们现在有了“金钥匙”!如果我们决定再次访问网络,那么可以创建自己的Kerberos票证,直接获取域管理员权限。

在部署多个后门时,我们在不同的设备上应用多种技术。我们在其中一个用户系统上设置了粘滞键后门;使用Backdoor Factory技术,在另一个系统的常见二进制文件中隐藏恶意软件;设置计划任务,每周运行一次,回连我们的一个子域;在一个隔离的实验室设备上,用dnscat二进制代替一个无用的运行服务;并在不同系统启动文件夹,放置多个静荷。

幸运的是(但对于蓝队是不幸的),我们还没有被发现。但是,请记住,红队评估的目的是了解蓝队发现恶意攻击的速度有多快(他们没有这些活动),以及蓝队开展应急响应/取证和阻止攻击的时间。因此,最后您要通知蓝队,运行脚本https://github.com/EmpireProject/Empire/blob/master/data/ module_source/trollsploit/Get-RickAstley.ps1,关闭计算机。任务完成。