2021年7月8日, 亚信安(ān)全应急响应中(zhōng)心(CERT)监测Windows Defender遠(yuǎn)程代码执行漏洞(CVE-2021-31985)的POC被公(gōng)开,Google Project Zero也发布了该漏洞的细节信息,攻击者有(yǒu)可(kě)能(néng)据此很(hěn)快开发出EXP。攻击者利用(yòng)该漏洞可(kě)以在非交互状态下,以系统最高权限执行任意恶意代码。由于Windows Defender默认内置于所有(yǒu)常用(yòng)Windows系统中(zhōng),一旦该漏洞被利用(yòng),危害极大。
该漏洞与CVE-2021-1647相类似,漏洞点依然存在于Windows Defender对ASProtect保护的PE文(wén)件的处理(lǐ)过程中(zhōng)。
ASProtect是功能(néng)非常完善的加壳、加密保护工(gōng)具(jù)。能(néng)够在对软件加壳的同时进行各种保护,如:反调试跟踪、自校验及用(yòng)密钥加密保护等;还有(yǒu)多(duō)种限制使用(yòng)措施,如:使用(yòng)天数限制、次数限制及对应的注册提醒信息等。另外,该软件还具(jù)有(yǒu)密钥生成功能(néng)。
ASProtect在加密的过程中(zhōng),会在程序中(zhōng)生成一些字节码,并打包一个自带虚拟机的DLL文(wén)件,当加密后的程序在运行时会调用(yòng)DLL动态解释程序中(zhōng)的字节码。Windows Defender在解密ASProtect加密的PE格式可(kě)执行文(wén)件时,会解密对应的DLL文(wén)件,并将运行时DLL的代码添加到模拟器虚拟文(wén)件系统。
在代码CEmbededDLLDumper::GenerateDLL,重建嵌入文(wén)件的DLL中(zhōng)的IMAGE_SECTION_HEADER结构,并没有(yǒu)校验DLL指定的RelativeVirtualAddress,从而允许ImageBase读取和写入任意偏移量,导致内存结构破坏、引发遠(yuǎn)程代码执行风险。

Windows Defender < 1.1.18200.3
安(ān)装(zhuāng)官方发布的安(ān)全补丁
2021年6月8日,微软官方在6月当月安(ān)全更新(xīn)中(zhōng)发布了补丁,修复了该漏洞,我们建议启动Windows Defender的用(yòng)户应立即更新(xīn)至1.1.18200.3及其之后的版本。打开 Windows 安(ān)全程序。例如,在搜索栏中(zhōng)键入安(ān)全,然后选择 Windows 安(ān)全程序。
在导航窗口中(zhōng),选择病毒和威胁防护。
在主窗口的病毒和威胁防护更新(xīn)下,选择检查更新(xīn)。
再次选择检查更新(xīn)。
在导航窗口中(zhōng),选择设置,然后选择关于。
检查引擎版本号。如果恶意软件防护引擎版本号或签名(míng)包版本号匹配或超过您尝试验证為(wèi)已安(ān)装(zhuāng)的版本号,则更新(xīn)安(ān)装(zhuāng)成功。
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-31985https://packetstormsecurity.com/files/163443/MpEngine-ASProtect-Embedded-Runtime-DLL-Memory-Corruption.html