3月3日,绿盟科技研究团队在对网络安全事件舆情监控中发现著名的商业渗透框架CANVAS系统源代码发生泄露,绿盟科技M01N蓝军研究团队第一时间对该事件进行了跟踪,快速分析了CANVAS的攻击框架、所涉及的漏洞和技术细节。

Immunity CANVAS是一套受信任的商业安全评估攻击框架,每月都会发布稳定版本,它允许专业人员进行渗透测试和对手模拟攻击。此次CANVAS的泄露版本为7.26,日期为2020年9月,包含1000+个漏洞利用代码。使用CANVAS成功攻陷系统后,攻击者可以抓取屏幕截图,转储密码凭据,操纵目标文件系统并提升特权,并且可以在目标系统和目标整个网络区域之间隐蔽连接。另外值得注意的是,其中包含Spectre CPU漏洞的可用EXP漏洞利用模块。

CANVAS由Immunity开发,该公司由前NSA黑客Dave Aitel创立,然后于2019年出售给CyxteraTechnologies。

CANVAS的框架及主体功能

CANVAS框架主体及模块均使用python开发,支持跨平台安装使用,包括Windows, Linux和MacOSX等, 提供了GUI和命令行来进行操作使用。框架所有功能模块如下:

CANVAS主要以漏洞利用为主,其功能完整支持攻击链生命周期,包括C&C、权限提升、权限维持、凭证获取、横向移动、防御规避、信息收集、隐蔽隧道及部分域林攻击功能。框架设计以资产节点方式进行攻击过程控制和记录,各节点的远程及本地攻击操作具备完善的攻击日志记录。

远程漏洞利用、横向移动及C&C功能复现:

成功执行DCSync在测试环境获取AD靶机用户的密码Hash:

同时CANVAS作为一款成熟的商业安全评估攻击框架,具有自动化生成安全评估报告的功能,并且报告拥有良好的可阅读性。

漏洞利用模块

1.漏洞利用模块分析

本次泄漏的CANVAS框架源码,除自带漏洞利用模块外还包含两大第三方漏洞利用模块。经统计,含有CVE编号的漏洞共计929个,框架自带漏洞利用库中包括617个漏洞,第三方漏洞利用库包含333个漏洞,官网上针对工控设备的漏洞利用包Gleg在本次泄漏中未涉及。

这些漏洞模块在CANVAS中根据利用目的大致分为四类,分别针对不同的攻击场景与目标。

2.第一个针对Spectre CPU漏洞的可利用EXP

首先我们回顾一下CVE-2017-5715 Spectre CPU漏洞,该漏洞是Intel、AMD和ARM处理器体系结构中的硬件设计缺陷,它允许运行在同一系统上的不良应用程序中的代码破坏不同应用程序的CPU级别之间的隔离,然后从其他应用程序中窃取敏感数据。它和Meltdown漏洞的发现,被认为是现代CPU演进和历史上的里程碑,有效地迫使了CPU供应商重新考虑他们设计处理器的方法,从而明确表明他们不能只专注于性能,而损害了数据安全性。Spectre漏洞从2017年被公开开始,研究人员对外公开的均为无害的POC代码,也一直没有发现有被在野攻击利用的证据。

2021年2月,国外安全研究员Voisin发现VirusTotal上的一份Linux Spectre漏洞EXP代码,可以转储/etc/shadow的内容,而近日在Dave Aitel的一条推文中,前Immunity首席执行官似乎证实了Voisin的发现确实是他的前公司在2018年2月大力宣传的CANVAS Spectre模块。

当然我们也确认了本次泄露的CANVAS版本确实含有Spectre漏洞EXP插件及代码,代码备注该EXP代码实现在2018年3月完成。

其他重要功能模块

1.MOSDEF后门木马

MOSDEF后门木马是CANVAS在命令控制环节的主要模块,其支持主流操作系统,对于一些较冷门的处理器架构亦有较完善的支持。

以防御规避技术研究与攻击检测的视角来看,MOSDEF具有基本的杀软规避功能,支持采用DNS等比较隐蔽的通信方式,具有一定防御规避的能力。其采用的持久化技术等较为常见,所生成的payload类型并不多,但其生成的一些载荷文件在VirusTotal等平台仍具有较好的免杀效果。

根据VirusTotal检测结果,默认生成的Windows x86 版本MOSDEF可执行文件载荷的检出率相对可观。

Powershell版MOSDEF木马具有命令执行、文件上传、执行shellocode等攻击功能,在VisualTotal中具有较低的检出率。

2.RootKit模块

CANVAS自带windows与linux系统的rootkit模块,其中windows系统仅有物理内存dump的功能,而linux系统中的rootkit功能要丰富的多。linux平台的rootkit模块以源码的形式分发,每次使用需要针对目标的内核版本进行重新编译内核模块,支持以下功能:

1. 指定名称的文件隐藏

2. 后门进程及子进程PID隐藏

3. TCP通讯隐藏

4. MOSDEF连接后门

利用CANVAS自带的rootkit模块,攻击者可以实现持久化与攻击行为隐藏,增加防守与溯源难度。

3.VisualSploit可视化代码生成工具

泄漏CANVAS包含名为VisualSploit的可视化编程工具,该工具可以进行图形化的exploit开发,设计程序执行流程,操作payload内存布局,最终一键生成可执行python脚本文件。

4.协同攻击功能

CANVAS Strategic允许在CANVAS的多个实例之间进行实时通信,并与中央实例共享信息(目标信息,攻击操作,获得的权限),该中央指挥实例是从Canvas运行Commander模块的机器。当多人作战时,需要对进度和成果进行协协作时,此功能特别有用。此外,它还可以用作多个实例的中央活动监视和日志记录,也包含一个简单聊天服务器。

警惕CANVAS被暴露及滥用带来的风险

本次CANVAS框架源码泄露事件是继NSA泄露DanderSpritz框架后的又一个完整网络攻击框架泄露事件,其中所涉及的TTPs技术已被高度武器化。截止本文公开时我们还暂未实现对CANVAS中的漏洞EXP、持久化技术、隧道技术等技术的全面深入的分析。

同时可以看到,本次泄露的漏洞EXP包含全网第一个被公开的针对Spectre CPU漏洞的可利用EXP,另外Powershell版MOSDEF木马在VisualTotal中也同样具有较低的检出率,这些工具都可以直接被恶意攻击者滥用,从而导致严重的安全事故,建议各安全厂商协助企业客户积极防御,防患于未然。

绿盟科技M01N蓝军研究团队将继续跟踪深入分析该框架的内容。

· 参考链接 ·

[1]https://www.immunityinc.com/products/canvas/index.html

https://spectreattack.com/

声明:本文来自绿盟科技,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。