前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >BlackHat USA 2021 洞察(二):议题技术解读

BlackHat USA 2021 洞察(二):议题技术解读

作者头像
泉哥
发布于 2021-08-20 02:29:00
发布于 2021-08-20 02:29:00
9390
举报
文章被收录于专栏:漏洞战争漏洞战争

发现看议题材料也不容易啊,有些议题挺有技术深度的,而且内容还特长,长就算了,有些ppt其实只讲了不到一半的内容,另一半都得靠作者演讲才能知道,剩下的只能靠自己脑补或搜索资料了,我只能说真的费脑费时间。

1、利用 hAFL1 Fuzzing Hyper-V 挖掘0day漏洞

议题名:hAFL1: Our Journey of Fuzzing Hyper-V and Discovering a 0-Day

开源工具:https://github.com/SB-GC-Labs/hAFL1

ppt都是图,没啥文字说明,也没有paper,所以只能算看个大概,后来找他们官网博客看了下。

  1. https://www.guardicore.com/labs/hafl1-our-journey-of-fuzzing-hyper-v-and-discovering-a-critical-0-day/
  2. https://www.guardicore.com/labs/critical-vulnerability-in-hyper-v-allowed-attackers-to-exploit-azure/

专门去翻了下最新的Hyper-V漏洞奖金,非常可观,难怪最近那么多人盯着Hyper-V去挖洞,这次BlackHat就有2个Hyper-V相关议题,一个个都是上百页ppt,看得真有点费脑。

先来看下Hyper-V的内部架构和通信原理,主机运行在Root Partition,客机运行在Child Partition,为了向Child Partition提供硬件设备接口,Hyper-V提供了半虚拟化设备的扩展使用,主机与客机都可以修改硬件接口,主要是出于性能考虑。作者正是盯上半虚拟化设备vmswitch。每个半虚拟化设备由两部分组成:虚拟服务消费者VSC(netvsc.sys)与虚拟设备提供者VSP(vmswitch.sys),两者基于hypercalls通过VMBus进行内部通讯,VMBus提供收发主客机之间通信数据的收发缓冲区。

编写harness的方法,作者参考MSRC之前分享的文章“Fuzzing para-virtualized devices in Hyper-V”:https://msrc-blog.microsoft.com/2019/01/28/fuzzing-para-virtualized-devices-in-hyper-v/,最后找到vmswitch是使用VmbPacketAllocate和VmbPacketSend通过VMBus Channel(该指针可通过ndis.sys去查找)发送数据,然后编写个harness.sys在客机上运行用于fuzzing。

每个VSP都需要注册回调函数EvtVmbChannelProcessPacket去处理包数据,对应vmswitch回调函数VmsVmNickPvtKmclProcessPacket。vmswitch使用NVSP类型的数据包,它是通过VMBus传输的数据包专有格式。NVSP包类型有多种,有的负责设置VMBus收发缓冲区,有的执行VSP与VSC握手,有的用于发送主客机间的RNDIS消息。作者此次正是Fuzzing RNDIS消息的处理代码,不过作者没有公开hareness源码。

最后重点看下hAFL1的实现吧,hAFL1是基于kAFL开发的,名称中的1是指虚拟化等级,代表Hyper-V Host,由于对方是的Linux上运行,所以实际上此处Hyper-V Host是Linux主机上开启Hyper-V的Windows 10虚拟机,虚拟机里面的Hyper-V虚拟机才是L2(看作者也开源了hAFL2应该就是针对L2的Fuzzer)。

在创建hAFL1过程也遇到不少问题,作者整理了个列表,就不展开细说了:

然后结合libprotobuf-mutator支持protobuffer fuzzing,用于Fuzzing Hyper-V vmswitch半虚拟化设备,挖到vmswitch.sys上的一个驱动漏洞,可用于实现虚拟机逃逸。后面有空可以拿来试用下hAFL1,读读源码学习下。

2、利用PDB解析器进行Windows提权

议题名:Crashing Your Way to Medium-IL: Exploiting the PDB Parser for Privilege Escalation

以前就曾关注过PDB解析器(Dbghelp.dll)这个攻击面,但后来发现有人报漏洞给微软被忽略了,因为缺少实际攻击场景。没想到被来自"平底锅"的哥们"曲线救国"式的找到提权攻击场景了,利用程序崩溃会启动WerFault.exe,而它会使用Dbghelp.dll去解析pdb文件,关键是崩溃程序处于Low Integrity时,仍可启动Medium Integrity的WerFault.exe。所以,整个漏洞挖掘与利用的过程如下:

  1. 作者先参考https://github.com/microsoft/microsoft-pdb上的API示例编写harness,然后用winafl去Fuzz,3天就有209个崩溃,先挖到pdb解析0day出来;
  2. 编写本地程序,将恶意pdb文件写入 %AppData%\LocalLow路径;
  3. 触发本地程序崩溃,启动WerFault.exe;
  4. WerFault.exe加载恶意pdb文件实现漏洞利用,完成从Low到Medium Integrity的提权;

最后作者演示了IE沙盒逃逸的利用场景。

微软对此的修复方案也很暴力,直接禁止WerFault.exe解析pdb文件,连Dbghelp.dll上的解析漏洞都懒得修了。

3、利用Nvidia vGPU实现虚拟机逃逸

议题名:Another Road Leads to the Host: From a Message to VM Escape on Nvidia vGPU

来自Tencent Blade Team的议题,通过上图可以知道主客机消息交互的流程,重点就在nvidia-vgpu-mgr上面,它加载libnvidia-vgpu.so来处理RPC消息:

nvidia.ko(guest) => nvidia-vgpu-vfio => nvidia-vgpu-mgr(root, libnvidia-vgpu.so) => nvidia.ko(host)

主客机的vGPU通讯通过VRPC消息交互,所以它是个fuzzing测试点,看fuzzer代码片段应该是借助libfuzzer写的,构造符合一定数据校验要求的RPC消息再进行变异测试,调用的API是通过逆向获取的,还有其参数构造。在 libnvidia-vgpu.so上面跑出一个nday,在新版中修复了,另外搞到几个nvidia-vgpu-mgr漏洞。最后利用ROP+信息泄露的组合完成利用,逃逸出虚拟机获得主机root权限。据说打算在github开源fuzzer,有兴趣的可以关注下https://github.com/tencentbladeteam。

4、通过漏洞内部细节探索Hyper-V攻击面

议题名:Mobius Band: Explore Hyper-V Attack Interface through Vulnerabilities Internals

关于Hyper-V的架构在前面刚好介绍过,但该议题讲得相对细一点。以Linux客机为例,拿Linux内核源码讲解主客机基于VMBus的通讯原理。然后以历史漏洞为例,介绍Hyper-V利用与传统提权漏洞的区别:基于VMBus通讯的限制,主机ring0不能直接读客机内存,不能直接操作对象分配释放,也没有直接的API提供。

最后介绍了几个Hyper-V漏洞细节,主要是一些调试截图,没有太多文字描述,看着有些零散,如果有paper会好理解一些,自己也没动手调试过,只能看个大概。

重点看下作者总结的Hyper-V攻击面:

  1. 虚拟设备:网络适配器、PCI设备、存储设备、Hvsocket(Hyper-V 套接字面向虚拟器的新地址系列和专用终结点,在Hvsocket上运行时无需使用网络,并且所有数据都保存在相同的物理内存中)
  2. VMBus:负责处理来自guest主机的消息,可能存在消息解析问题
  3. VMWP.exe & vmconnect.exe:集成服务、键盘鼠标、合成视频、动态内存、远程桌面虚拟化等等
  4. HyperCall API接口:通过调用VMCALL指令触发,审计API背后的处理程序也是一个攻击点
  5. Hypervisor Ring-1:MSRs虚拟化、APIC虚拟化、嵌套虚拟化、客机物理地址转换等
  6. Hyper-V更新点:关注Hyper-V的更新,特别是一些组件的新特性可能很容易挖到漏洞

5、Windows Printer Spooler 打印服务提权漏洞分析

议题名:Diving Into Spooler: Discovering LPE and RCE Vulnerabilities in Windows Printer

最初spooler漏洞被用于10年前的Stuxnet攻击,但最近该服务漏洞也被披露了不少漏洞,看下今年的微软公告就知道了。

应用程序可以通过RPC与Spoolsv.exe交互,Spoolsv.exe是System用户权限的,如果存在漏洞就可用于提权。主要介绍了一些spooler服务漏洞成因,以及微软的修复方法,又是被如何绕过补丁刷CVE的过程。然后介绍一些RCE漏洞的利用,包括"PrintNightmare"(首次披露是CVE-2021-675,后来补丁被绕过获得CVE-2021-34527)漏洞,利用漏洞都是为了加载dll以高权限执行,由于是RPC调用,所以也可以算是远程代码执行。关于这两个漏洞的分析,推荐直接看下网上的分析文章:https://paper.seebug.org/1635/,因为这ppt内容太简短了,可能现场听比较容易理解些。最后建议不需要打印服务的,可以直接关闭它。

这些漏洞比较偏逻辑类的,应该是人工挖的,一开始看标题以为是漏洞挖掘,看了才发现是漏洞分析与利用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 漏洞战争 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
云原生|100个虚拟化基础知识问答(上),建议收藏!
答:虚拟化是一种技术,通过在计算机硬件上创建一个抽象层,将单台物理计算机的硬件资源(如处理器、内存、存储等)划分为多个虚拟计算机(虚拟机,VM)。每个虚拟机都可以运行自己的操作系统和应用程序,仿佛它是独立的计算机。这种方式提高了硬件资源的利用率,是云计算的基础技术之一 。
琉璃康康
2025/05/07
2020
云原生|100个虚拟化基础知识问答(上),建议收藏!
BlackHat USA 2021 洞察(三):议题技术解读
CHERI(Capability Hardware Enhanced RISC Instructions,功能硬件增强的RISC指令)利用新的体系结构功能扩展了常规的硬件指令集体系结构(ISA),从而实现了细粒度的内存保护和高度可扩展的软件分区。CHERI内存保护功能允许将历史上内存不安全的编程语言(例如C和C ++)进行修改,以针对许多当前被广泛利用的漏洞提供强大,兼容和有效的保护。它是在2020年11月由剑桥大学联合ARM公司发布的,基于Morello开源硬件平台设计的。
泉哥
2021/09/15
1.3K0
BlackHat USA 2021 洞察(一):议题技术解读
周末抽空学习下BlackHat USA 2021的议题,对自己感兴趣的议题学习下。经常记录下,保持对行业动态的关注,有时突然想起来某个思路在外部会议上见过,可以回头查阅下,好多次遇到这种情况。打算先分析议题,再洞察行业。话不多说,直接进入正题。
泉哥
2021/08/20
1K0
今年的OffensiveCon大会议题质量不错(附资料下载)
年前曾在微博上推荐过OffensiveCon 2019大会议题,议题列表与介绍可参见官网(https://www.offensivecon.org/agenda/),很多专注于漏洞挖掘与利用的干货分享,目前只有部分议题ppt公开,通过点击文末的“阅读原文”可打包下载(包含8个议题),包括ppt、paper和code。
泉哥
2019/07/18
1.2K0
今年的OffensiveCon大会议题质量不错(附资料下载)
MOSEC-2020参会小记
昨天去参加了mosec2020的安全会议,这也是我第一次参加mosec,议题质量比预料中的要高,因此在这记录一下其中几个有意思的议题。
evilpan
2023/02/12
4890
MOSEC-2020参会小记
Rust China Conf 2021 首批议题确定
10 月16日-17日,Rust China Conf 2021 将在上海举办,本次大会主题为“Rust the World”。在这一主题下,大会广泛接受海内外 Rust 开发者高质量的 CFP 申请,总共涵盖库或框架、系统编程、WebAssembly、数据库、游戏开发、区块链、嵌入式开发、安全、 Rust 语言贡献、Rust 学术、Rust 生产环境使用经验等十几个领域。
MikeLoveRust
2021/09/29
1.1K0
学习下 BlackHat Asia 2021 大会议题
BlackHat Asia 2021会议已经结束,相关议题资料也放出,刚好这两天周末抽空学习下,共39个议题,覆盖范围还是比较广的,虽然议题质量不如USA主会场,但多少还是有一些值得学习的内容,我只挑了一些感兴趣的议题做些介绍,更多内容可以上官方下载(https://www.blackhat.com/asia-21/briefings/schedule/index.html)。
泉哥
2021/05/20
1.6K0
HITB AMS 2021 议题分析与学习,感叹华人真多
最近也看到一些微博或公众号提到HITB会议的一些议题,就是分享链接,但还没人聊过里面的议题,今天我又批量下载议题pdf学习下。老规矩,聊聊一些自己感兴趣的话题。
泉哥
2021/07/05
1.2K0
漏洞预警:“毒液(VENOM)”漏洞影响全球数百万虚拟机安全(附POC)
CrowdStrike公司安全研究员称,一个名为“毒液(VENOM)”的QEMU漏洞使数以百万计的虚拟机处于网络攻击风险之中,该漏洞可以造成虚机逃逸,威胁到全球各大云服务提供商的数据安全。QEMU是一个指令级模拟器的自由软件实现,被广泛用于各大GNU/Linux发行版。 漏洞原理 这个名为毒液(VENOM,编号CVE-2015-3456)的安全漏洞威胁到了整个安全行业,可以造成虚拟机逃逸。QEMU是一个指令级模拟器的自由软件实现,被广泛用于各大GNU/Linux发行版(包括Debian, Gentoo,
FB客服
2018/02/06
1.5K0
漏洞预警:“毒液(VENOM)”漏洞影响全球数百万虚拟机安全(附POC)
【云原生攻防研究】容器逃逸技术概览
近年来,容器技术持续升温,全球范围内各行各业都在这一轻量级虚拟化方案上进行着积极而富有成效的探索,使其能够迅速落地并赋能产业,大大提高了资源利用效率和生产力。随着容器化的重要甚至核心业务越来越多,容器安全的重要性也在不断提高。作为一项依然处于发展阶段的新技术,容器的安全性在不断地提高,也在不断地受到挑战。与其他虚拟化技术类似,在其面临的所有安全问题当中,「逃逸问题」最为严重——它直接影响到了承载容器的底层基础设施的保密性、完整性和可用性。
绿盟科技研究通讯
2020/02/25
3.3K0
【云原生攻防研究】容器逃逸技术概览
网安大事记 | 2021年度漏洞利用事件汇总
网络时代,万物互联,人们在享受数字生活带来的福利时,背后隐藏的安全漏洞也正时刻构成威胁,只要技术是一把双刃剑,漏洞就将伴随信息技术的不断发展,与之相对应的,一些网络黑客对漏洞的利用技术也在提升,攻击事件变得越发频繁。
雨笋教育
2022/01/25
2.2K0
网安大事记 | 2021年度漏洞利用事件汇总
【安全更新】微软1月安全更新多个产品高危漏洞通告
北京时间1月13日,微软发布1月安全更新补丁,修复了83个安全问题,涉及Microsoft Windows、Microsoft Office、Microsoft SQL Server、Visual Studio、Microsoft Defender等广泛使用的产品,其中包括远程代码执行和权限提升等高危漏洞类型。
绿盟科技安全情报
2021/01/18
1.4K0
人工智能安全来袭?2016 SyScan360大会最全记录
前言 2016年11月24日,SyScan360国际前瞻信息安全会议在上海召开,该安全会议为期两天时间(24日至25日)。 SyScan360由奇虎360公司举办,会议中涉及众多技术干货,包括但不限于
FB客服
2018/02/09
1.7K0
人工智能安全来袭?2016 SyScan360大会最全记录
BlackHat 2018 | 55款大会软件工具盘点
汇聚了全球信息安全业界精英的年度盛事”Black Hat”上周在美国拉斯维加斯落下帷幕,大佬们也带来了很多有趣的软件工具,其中有一些托管在GitHub上开放下载。
FB客服
2018/09/21
1.5K0
BlackHat 2018 | 55款大会软件工具盘点
2016年人工智能技术进展大盘点
如果说2015年大家还在质疑深度学习、人工智能,认为这是又一轮泡沫的开始,那么2016年可以说是人工智能全面影响人们生活的一年。从AlphaGo到无人驾驶,从美国大选到量子计算机,从小Ai预测“我是歌手”到马斯克的太空计划,每个焦点事件背后都与人工智能有联系。纵览2016年的人工智能技术,笔者的印象是实用化、智能化、芯片化、生态化,让所有人都触手可及。下面我们以时间为坐标,盘点这一年的技术进展。
用户1737318
2018/06/06
9860
2016年人工智能技术进展大盘点
Linux阅码场 - Linux内核月报(2020年07月)
Linux阅码场内核月报栏目,是汇总当月Linux内核社区最重要的一线开发动态,方便读者们更容易跟踪Linux内核的最前沿发展动向。
Linux阅码场
2020/08/13
1.6K0
后 OpenStack 时代,以容器为代表的虚拟化技术将有怎样的演进?| Q推荐
作者 | 鲁冬雪   进入 21 世纪后,虚拟机技术进入相对成熟阶段,由于虚拟机的“笨重”,开发者们开始追求一种更加轻便的虚拟化技术。2010 年,由 NASA 和 Rackspace 联合开发的开源平台 OpenStack 诞生,帮助服务商和企业实现云基础架构服务。它将开源、开放的思想带到了云原生领域,并为云原生发展掀开了新篇章。 2020 年,OpenStack 基金会更名为开放基础设施基金会 OIF,OpenStack 从“云”拓展到了“开放基础设施”。 紧接着,OpenStack 从最初的虚拟化管理
深度学习与Python
2023/03/29
4590
后 OpenStack 时代,以容器为代表的虚拟化技术将有怎样的演进?| Q推荐
【云端风云:云计算全局解密】一篇文章读懂云计算技术及其未来发展趋势
在当今数字化浪潮中,云计算如一颗闪烁的科技明珠,为企业和个人带来了前所未有的灵活性、效率和创新力。本文将带领读者深入探索云计算的核心概念、关键服务模型以及未来发展趋势。云计算不仅是数字化时代的基石,更是推动创新和变革的引擎。站在云端风云之巅,我们将解析云计算的奥秘,揭晓数字化未来的蓬勃蔓延。通过这场科技奇迹的探索,我们将共同领略云计算为全球带来的变革,见证科技与未来的奇妙融合。
奥耶可乐冰
2023/11/24
1.5K0
【云端风云:云计算全局解密】一篇文章读懂云计算技术及其未来发展趋势
[AI安全论文] 21.S&P21 Survivalism经典离地攻击(Living-Off-The-Land)恶意软件系统分析
前一篇是RAID 2019的Android数据泄露分析的译文,是对真实移动设备用户网络流量的实证评估,预测用户兴趣点(POI)的位置。这篇文章将带来S&P21的离地攻击(Living-Off-The-Land)系统分析,这是一篇非常经典的论文,并且系统性分析文章是另一种讲故事的方式。一方面自己英文太差,只能通过最土的办法慢慢提升,另一方面是自己的个人学习笔记,并分享出来希望大家批评和指正。希望这篇文章对您有所帮助,这些大佬是真的值得我们去学习,献上小弟的膝盖~fighting!
Eastmount
2022/08/31
6980
S7CommPlus_TLS协议模糊测试技术概述
笔者在Black Hat EU 2022会议上发表了题为《Fuzzing and Breaking Security Functions of SIMATIC PLCs》的演讲,该议题主要对西门子增强设计的安全协议、访问保护功能做了详细分析,并针对安全协议做了进一步分析和模糊测试技术讲解,提出了SIMATIC PLC自动化模糊测试平台方案用以批量化发现设备的漏洞。最后给出了相应的防护措施和该议题后续的研究方向。
FB客服
2023/02/10
1.8K0
S7CommPlus_TLS协议模糊测试技术概述
推荐阅读
相关推荐
云原生|100个虚拟化基础知识问答(上),建议收藏!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档