红队实战:战壕中的故事
| Joff Thyer
安全分析师、恶意软件研究员、新技术研究布道者
本文最初发表于我们PROMPT#杂志的首期——明智选择。您可以在以下网址找到该期及所有其他期次:https://www.blackhillsinfosec.com/prompt-zine/
我记得有一天,一位客户(现已成为朋友)吹嘘其组织部署的应用白名单策略高度安全、全面且经过严格审查。自然,我询问了他创建这一策略的过程。我的朋友回答说:“我们首先将所有Microsoft Windows操作系统和应用程序视为敌对。一切都被阻止,然后我们从零开始构建。”
我必须说,我被吸引了。有多少组织能够承受这种强化版应用白名单的痛苦——一种阻止一切然后选择性只允许所需内容(包括操作系统本身)的方法?为了提供一些背景,我们与这位朋友已有多年的关系。在我们客户关系的开始,这个人提出了正确的问题。作为回应,我们实际上提出了:“你想吃红药丸还是蓝药丸?”他选择了红色,并开始了一个项目,以构建尽可能强大的防御。
将时间快进几年,我们的关系升级为全面的红队演练,正如我们行业许多人认为合适的那样。进入红队演练,我和我的队友Ethan决定,我们真的想获得对组织的物理访问,并在我们遇到的第一个机器上植入命令通道。我们认真开始准备,并达到了考虑我们想植入什么命令通道的地步。
我们能做什么?在这些系统上运行任何二进制内容、任何Visual Basic脚本、宏、PowerShell和/或命令都是不可能的。我们知道这个项目已经发展了多少,并且已经被严格锁定。为了提供更多背景,我们谈论的是在2017年初运行我们的操作。现在相当广泛发布的许多当前应用白名单绕过方法在当时并不是公开知识。
当我在互联网上研究应用白名单绕过时,我遇到了@subTee的一些Twitter帖子,并且之前遇到过他的材料,开始对主要作为GitHub gist发布的技术感兴趣。吸引我注意的是一个利用REGSVR32.EXE二进制文件的攻击,该文件反过来会加载名为“scrobj.dll”的Windows脚本运行时DLL来执行一段Jscript。这个攻击在同一时期以“SquiblyDoo”的绰号而广为人知。
然而,从我的角度来看,我发现从外部资源获取脚本对象是不必要的,因此我决定修改攻击。我编写了一些代码,后来称为“WEvade”(我不擅长命名),它使用了与SquiblyDoo相同的技术,但实现在一个自定义DLL中,该DLL不尝试解释任何形式的脚本。相反,攻击从文件或Web服务器读取所需的shellcode,并直接执行包含在该文件或URL中的base64编码的shellcode。
在我们测试并确保自定义恶意软件成功绕过防病毒解决方案和应用白名单后,我们开始准备物理入侵!在Ethan和我之间,我们装备了一个Bash Bunny和一个USB棒作为备份,以防Bash Bunny因任何原因失败。
Bash Bunny是一个有趣的黑客小工具,上面有一个小的Debian Linux安装,可以呈现为USB存储或人类键盘接口设备,用于快速传递恶意软件有效载荷!
终于,我们冒险的日子到了。Ethan和我紧张地把车停在目标组织场所旁边街道的停车计时器旁。我们手头都有所有装备,以及用于与命令通道基础设施通信的蜂窝调制解调器。
在这种情况下,总是有那种紧张的讨论,类似于“好吧,谁将尝试进入场所并完成工作中令人紧张的部分?”我设法说服Ethan做那部分演练,所以他抓起包出发去大厅。结果,这是一个多租户和多层的建筑,所以Ethan实际上挑选了一个看起来像可能在该组织工作的员工的人,并跟随他们进入电梯。后来,我们发现Ethan实际上与公司CEO一起搭电梯上楼,一路上闲聊。
Ethan很快发现,在正确的楼层下电梯让他直接进入组织,所以他随意走进门,找到最近的计算机工作站,立即拿出Bash Bunny并插入。然后Ethan发现组织的策略不允许连接人类接口风格的设备,所以他恢复到USB存储方法。他也遇到了这种机制的麻烦,并开始变得非常紧张,因为他是一个陌生面孔,在一个相当开放的办公室环境中摆弄计算机工作站!
然后我们之间的以下SMS交易发生了,Ethan要求我快速部署一个带有有效载荷文件的Web服务器。整个SMS交易中最有趣的部分是当我意识到Ethan不只是想要一个Web服务器,而是一个带有有效载荷文件的Web服务器。过去我被指责“太字面”。这一次,是焦虑驱动的愚蠢。看这里的SMS:
Ethan:[它]给我index.html
Joff:是的,没错。你想要别的东西吗??
Ethan一定认为我要么完全失去了理智,要么在开一个时机非常糟糕的玩笑。
在战斗的热潮中,近乎歇斯底里和快速节奏的红队队员SMS交换
它奏效了!我们获得了一个完全可操作的命令通道,我在楼下租车的驾驶座上做了我习惯的“root舞蹈”。
当我们在当天晚些时候吹嘘我们的成功,庆祝我们击败了应用白名单部署时,我们的联系人和朋友告诉我们,他几乎成功阻止了我们。
当然,我们那时感到相当自负,并问那怎么可能。我的意思是,我们已经赢得了获得立足点的第一个障碍!结果,我们的客户部署了一个有趣的解决方案,检测到任何时候任何USB存储设备连接到他的一个工作站。防御解决方案确实完成了它的工作,并提醒了他办公室的系统管理员,一个未知的USB设备已连接到这个工作站。
由于非常注重安全,被提醒的系统管理员上楼到工作站隔间区域去查明发生了什么。在他去的路上,他需要快速去洗手间,那时Ethan已经成功并迅速离开了办公室!有趣的是,Ethan甚至在出去的路上遇到了系统管理员,快速眼神接触,并试图继续看起来随意地离开现场。
我想这个故事的寓意是,“当你要去的时候,嗯,你只是必须去,对吧?”谁会知道一个渗透测试员(又名威胁行为者)刚刚跑进门,投放了一个恶意软件有效载荷,然后从左边退出,并 somehow 通过幸运的时机完全避免暴露他的目的?!正如后来也发现的,Ethan甚至找到了一个未占用且屏幕未锁定的工作站是幸运的。就这样结束了这个来自红队战壕的故事,通过技能和纯粹运气的结合,我们以秒为单位击败了人员、过程和技术,当然,之后有很多乐趣和笑声。
您可以直接从Joff本人那里通过他的课程了解更多: 正则表达式,您的新生活方式 企业攻击者模拟和C2植入开发 Python简介 提供实时/虚拟和点播!
如何安装和执行Wifiphisher的Wi-Fi攻击
在几分钟内部署Active Directory实验室
回到顶部
Black Hills Information Security, Inc.
890 Lazelle Street, Sturgis, SD 57785-1611 | 701-484-BHIS (2447)
© 2008-2024
关于我们 | BHIS部落公司 | 隐私政策 | 联系
链接
搜索网站