-
-
[原创][原创]CVE-2021-31956 Ntfs.sys 在野漏洞简析
-
发表于:
2021-8-2 11:45
23212
-
[原创][原创]CVE-2021-31956 Ntfs.sys 在野漏洞简析
CVE-2021-31956 Ntfs.sys 在野漏洞简析
前言
2021年6月份,卡巴斯基捕获在野0day chrome full chain 利用链,其组织为PuzzleMaker[1],该利用链使用了Chrome 1day CVE-2021-21220/CVE-2021-21224 V8 RCE 漏洞实现远程代码执行,并串联了内核信息泄露漏洞CVE-2021-31955,Ntfs.sys 内核提权漏洞CVE-2021-31956 来实现沙盒逃逸。
CVE-2021-31956 为整数下溢漏洞,可导致内核池溢出,可从低完整度提升到system 权限
分析
漏洞发生在ntfs.sys 中NtfsQueryEaUserEaList 函数

通过构造不同的EA query,其中PreEaPadding 长度可以为0,1,2,3

而在使用API NtQueryEaFile时,可以通过控制buffer 长度,在合理设置的情况下进一步使UserBufferLength 为0
为此当UserBufferLength - PrevEaPadding 出现 0 - 1/2/3 的情况时,eax 会为0xffffffff/...

于是突破了“if ( RawEaSize <= UserBufferLength - PrevEaPadding )” 的限制,“memmove(NextFullEa, ThisEa, RawEaSize)” 中NextFullEa 为于内核分页池中,将发生池溢出的情况。
利用
该漏洞利用较为简单,我们可以控制溢出的数据和大小,直接使用SegmentHeap aligned chunk confusion 来构造任意读,之后通过fake eprocess 来构造任意减,从而修改privileges,进一步获取SeDebugPrivileges 权限,通过远程线程注入winlogon 来弹出cmd.
以下视频为21h1 系统上利用
<video id="video" control="" preload="none" poster="">
<source id="mp4" src="1.mp4" type="video/mp4">
</video>
不知道传exp 合法不
链接
- c36K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6K6k6h3y4#2M7X3g2D9K9i4y4@1i4K6u0W2j5$3!0E0i4K6u0r3M7s2g2*7P5X3I4W2L8h3q4C8k6i4u0Q4x3X3c8U0K9s2u0G2L8h3g2Q4x3X3c8*7k6i4u0G2i4K6u0V1k6r3q4&6i4K6u0V1k6i4S2H3L8r3!0A6N6q4)9J5k6r3y4Z5j5h3W2F1i4K6u0r3x3e0l9J5y4K6M7I4i4K6u0r3
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2021-8-2 11:48
被lifeandi编辑
,原因: 图片显示