红队实战:突破应用白名单的惊险故事

本文讲述了红队如何通过定制化恶意软件和物理渗透手段,成功绕过严格的应用白名单策略,在企业环境中建立命令通道的实战经历,展示了技术与运气的完美结合。

红队实战:突破应用白名单的惊险故事

| Joff Thyer
安全分析师、恶意软件研究员、新技术研究布道者

本文最初发表于我们的PROMPT# zine创刊号——《明智选择》。您可以在以下网址找到该期及所有其他期次: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 stick作为备份,以防Bash Bunny因任何原因失败。

Bash Bunny是一个有趣的黑客小工具,上面有一个小的Debian Linux安装,可以呈现为USB存储或人类键盘接口设备,用于快速传递恶意软件负载!

终于,我们冒险的日子到了。Ethan和我紧张地把车停在目标组织场所旁边街道的停车计时器旁。我们俩手里都有所有装备,以及用于与命令通道基础设施通信的蜂窝调制解调器。

在这种情况下,总是有那种紧张的讨论,类似于“好吧,谁将尝试进入场所并完成令人神经紧张的部分工作?”我设法说服Ethan完成演练的那部分,所以他抓起包出发去大厅。结果,这是一个多租户和多楼层的建筑,所以Ethan literally挑选了一个看起来像可能在该组织工作的员工的人,并跟随他们进入电梯。后来,我们发现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 关于我们 | BHIS部落公司 | 隐私政策 | 联系

链接

搜索网站

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