聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

法国安全研究员 Julien Voisin 发现,上个月有人在VirusTotal上上传了 Spectre CPU 漏洞 (CVE-2017-5753) 的完全武器化 exploit,成为首个公开出现的可造成实际损害的 exploit。

Spectre漏洞最初现身于2018年1月,是一个硬件设计缺陷,存在于 Intel、AMD 和 ARM 处理器中,可允许运行在恶意 app 中的代码打破不同应用在 CPU 级别的隔离,之后从运行在同样系统上的其它 app 窃取敏感数据。该漏洞还获得“2018年 Pwnie Award”,成为当年最佳安全漏洞之一,也成为现代 CPU 演进和历史上的里程碑时刻。Spectre 和 Meltdown 漏洞可使 CPU 厂商重新思考设计处理器的方式,不能以数据安全为代价只注重性能。虽然当时已发布补丁,但这两个漏洞迫使 Intel 公司重新思考未来设计 CPU 的整体方式。

最初 Spectre PoC 均非恶意

当时,Meltdown 和 Spectre 的漏洞研究团队均以研究报告的形式发布了自己的研究成果,有些还附上了 PoC 证实攻击的存在。两个漏洞披露后不久,AV-TEST、Fortinet 和 Minerva Labs 公司的专家就发现这两个 CPU 漏洞在 VirusTotal 上的上传数量骤升。虽然最初担心恶意软件作者可能利用这两个漏洞窃取目标系统的数据,但这些 exploit 被判定为非恶意,且无证据表明出现在野攻击活动。

但今天 Voisin 表示发现了新的 Spectre exploit (Windows 和 Linux 版本),与以往版本不同。Voisin 表示发现 Linux Spectre exploit 能够转储 /etc/shadow(在操作系统用户账户上存储详情的 Linux 文件)的内容。这一行为显然是恶意的;然而,并未有证据表明该exploit 已被“在野“利用,因为它也可能是由渗透测试工程师上传的。

详细分析

快速分析一下。

该二进制的 –h 选项被删除,很可能位于 #define 之后以逃避检测,不过其参数显而易见,如指定泄漏哪些文件或内核基地址。作者并未检查(或并不关心)日志记录函数是否被完全优化,只剩下一堆字符串用于反向进程。

该 exploit 分四步运作:

1、找到 superblock

2、找到文件的inode 以转储

3、找到相应的页面地址

4、转储文件的内容

在 /etc/shadow 中,在默认选项下,通过在后台运行如下命令将文件内容推入内存中:

return system("echo \"whatever\n\" | su - 2> /dev/null")

在实验室中,在易受攻击的 Fedora 上,该 exploit 成功地在几分钟内将 /etc/shadow 转储。有意思的是,它会检测是否存在 SMAP,如存在则中止。想不懂的是,该 exploit 为何未出现?

该漏洞的症结所在是 0x4092f0,使用 cupid 作为序列化指令,rdtsc 进行定时,将 mfence/Ifence 作为障碍。它还使用某些技巧最大程度地减少读取量如 type-specific  函数,例如一个内核地址具有特定格式。实际上该工具可能是位于 FLOASYNC ioctl 中的 get_user(),已于2018年修复。

通过查看 Fedora 上的 /proc/kallsysm 或使用 Gruss 等人提出的预提取侧信道攻击,即可绕过 RASLR。值得注意的是,这种方法仍然适用于最新版的 Linux 系统,这再次证明 KASLR 充其量是无用的。对于无法访问 /proc/kallsym 文件的系统而言,该 exploit 依赖于硬编码的偏移量,虽然目前仅支持 Fedora、ArchLinux 和 Ubuntu,也可通过相关函数检查 Debian 和 CentOS 的情况。2021年了,竟然还能在任意读取 exploit 中看到硬编码的偏移量。

和 Immunity 公司CANVAS 工具有关的exploit

Voisin 在博客最后暗示,自己可能发现了这个新型 Spectre exploit 的幕后黑手,“归属问题不难,作业就留给读者吧”。

虽然 Voisin 并未说明该 exploit 的作者,但安全专家和媒体 HackerNews 很酷发现这个新的 Spectre exploit 可能是 Immunity 公司开发的一款渗透测试工具 CANVAS 的一个模块。

HackerNews 的一名用户指出,VirusTotal 的付费用户可获悉样本的文件”父母“。这名用户发现从包含该文件的几个 ZIP 文件来看,其文件名称都是 Immunity Canvas 或类似名称。而 Canvas 是一款发布 exploit 的渗透测试工具,因此很可能源自 Immunity 公司。目前,Immunity 公司尚未置评。不过该公司的前 CEO Dave Aitel 在推特证实称,Voisin 发现的新 exploit 确实是 CANVAS Spectre 模块。

另外,一名匿名消息来源人士也表示,一家地下黑客论坛上出现了 Immunity CANVAS v7.26 渗透测试工具的破解版,以及 White Phosphorus 和 D2(CANVAS 扩展包,包含多个漏洞的不同 exploit)的破解版本。同时这些漏洞中还包括 Sepctre 漏洞 (CVE-2017-5715) 的 exploit。

而 Recorded Future 公司的网络威胁情报专家 Dmitry Smilyanets 表示,该渗透测试工具集的破解版本实际上至少从2020年10月份就开始在私密 Telegram 频道流传。

这些信息表明,这些 CANVAS 破解版本很可能是在2月3日上传到 VirusTotal 的 CANVAS Spectre 模块。

对于网络安全行业专家而言,Immunity 公司拥有完全起作用且完全武器化的 Spectre exploit 并不令人惊讶,因为该公司曾在2019年发布 BlueKeep 漏洞的完全武器化 exploit,并公开宣传,以宣传 CANVAS 高超的渗透测试功能。

最后一次警告

当前该 Spectre exploit 的副本已在网络安全研究员的 Discord 和 Telegram 频道上流传,它出现在 GitHub 并被所有人获取只是一个时间问题。

而 Voisin 的这个发现无疑是敲响攻击即将发生的午夜钟声。

推荐阅读

研究人员披露 Meltdown 和 Spectre 攻击的7种新变体

Spectre 攻击升级了!NetSpectre 通过网络连接窃取 CPU 秘密

原文链接

https://therecord.media/first-fully-weaponized-spectre-exploit-discovered-online/

https://dustri.org/b/spectre-exploits-in-the-wild.html

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

 觉得不错,就点个 “在看” 或 "赞” 吧~

首个完全武器化的 Spectre Exploit 现身相关推荐

  1. .net byte转java byte_CVE20200688的武器化与.net反序列化漏洞那些事

    0x00 前言CVE-2020-0688是Exchange一个由于默认加密密钥造成的反序列化漏洞,该漏洞存在于Exchange Control Panel(ecp)中,不涉及Exchange的工作逻辑 ...

  2. 攻击者可武器化防火墙和中间系统,执行 DDoS 放大攻击

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 中间系统和审查基础设施中的 TCP 协议实现中存在多个弱点,可被武器化为攻击向量,针对任意目标发动反射性拒绝服务放大攻击,超过迄今为止很多现有的 ...

  3. TryHackMe-红队-07_武器化

    Weaponization 了解并探索常见的红队武器化技术.您将学习如何使用业内常见的方法来构建自定义有效负载,以获得初始访问权限. 什么是武器化 武器化是网络杀伤链模式的第二阶段.在此阶段,攻击者使 ...

  4. 谷歌终于拒绝 AI 武器化了!

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 谷歌:我们拒绝 AI 武器化,但仍会坚持和军方的 AI 合作. 本周一的时候,我们曾报道过, ...

  5. 信息武器化——认知安全的必要性

    信息武器化--认知安全的必要性 传统威胁 俄罗斯的威胁 应对俄罗斯威胁的战略 前面的路 结论 本文翻译自兰德公司报告The Weaponization of Information. 俄罗斯国有控股企 ...

  6. SolRazr在Solana上打造首个去中心化开发者生态系统

    SolRazr在Solana上打造首个去中心化开发者生态系统 什么是SolRazr 网址https://solrazr.com https://twitter.com/Solrazr_App SolR ...

  7. m 文件 dll matlab 中调用_利用USO服务将特权文件写入武器化

    James Forshaw发现的DiagHub DLL loading技术已经非常有名了.每当你在Windows或一些第三方软件中发现SYSTEM权限的任意文件写漏洞时,你就可以用这一招来造成任意代码 ...

  8. 利用LAPS武器化CVE-2019-0841

    4月9日,Nabeel Ahmed公布了CVE-2019-0841漏洞的细节.它可让低权限用户完全控制NT AUTHORITY\SYSTEM所属的文件,易引发权限提升攻击.Nabeel发布了一篇博客文 ...

  9. 谷歌发布基于浏览器的 Spectre 攻击的 PoC exploit

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 上周,谷歌发布旨在利用臭名昭著的 Spectre 漏洞并从 web 浏览器泄露信息的 PoC 代码. Spectre 漏洞最初在201 ...

最新文章

  1. 中国安全态势越来越好,专访山石网科CSO蒋东毅 | 拟合
  2. 高并发:RocketMQ 削峰实战!
  3. SAP MM 采购订单含税价实现方式
  4. using的几种用法 C#
  5. 【Go语言】【4】GO语言类型和为类型增加方法
  6. roads 构筑极致用户体验_长安马自达「悦马星空」计划上线,为用户带来极致服务体验...
  7. Java2精要_java知识精要(一)
  8. Mac安装redis与后台启动
  9. oracle+st_geometry
  10. 02-07 Python库-pytest
  11. 如何在SQL Server中使用数据质量服务清除主数据服务数据
  12. 解决:安装Widget插件提醒已安装却不见界面
  13. 实际应用中installshield的事件处理
  14. 微信支付中证书的存放目录及其路径写法
  15. java环境手机版_Java环境搭建
  16. 如何清除Edge浏览器的360导航、谷歌上123导航
  17. 【C语言】数组排序法(升序)
  18. 14种鼻型图解_十种鼻型分类图解
  19. react-native 报错 Text strings must be rendered within a <Text> component.
  20. 财富管理技术服务商NewBanker完成千万级美元 Pre-C 轮融资...

热门文章

  1. 架构设计师—你在哪层楼?
  2. sed原理及p参数的运用的分析
  3. 如何将SQL Profiler Trace读入到SQL的表中?
  4. Data Structures[翻译]
  5. 图神经网络将成AI下一拐点!MIT斯坦福一文综述GNN到底有多强
  6. 洛谷P5050 【模板】多项式多点求值
  7. MySQL事务及隔离级别详解
  8. Cocos2d-x3.2 EditBox的使用
  9. Verilog作业(一)
  10. 英特尔公司面向 Android 软件开发套件(SDK)4.3 的 x86 Android* 系统映像的内部评估许可协议...