攻击技术研判 | CVE-2022-30190 在野利用研判

渗透技巧 2年前 (2022) admin
780 0 0


攻击技术研判 | CVE-2022-30190 在野利用研判

情报背景

近期安全研究员nao_sec发现了一份由白俄罗斯IP提交到VirusTotal平台的恶意Word文档,该文档利用Windows中的0day漏洞进行攻击,并最终在目标机器上远程执行恶意代码,一时在网络上引起轩然大波。文档中所使用的漏洞被称为Follina,微软在后续分配漏洞编号CVE-2022-30190,并发布了漏洞防护指南,本文将对事件中涉及的在野漏洞利用攻击技术进行研判。


组织名称

未知

战术标签

文档钓鱼

技术标签

CVE-2022-30190、URL Scheme、参数注入

情报来源

https://twitter.com/nao_sec/status/1530196847679401984

https://www.virustotal.com/gui/file/4a24048f81afbe9fb62e7a6a49adbd1faf41f266b5f9feecdceb567aec096784


01 攻击技术分析

漏洞样本滥用了在Microsoft Office将远程HTML页面作为OLE对象插入的功能,文档打开后将访问远程HTML页面并执行其中的代码。攻击者利用js代码将页面重定向,使其访问”ms-msdt:”协议的URL链接,调用本地msdt.exe并传入攻击者构造好的参数,最终执行任意PowerShell代码。

攻击技术研判 | CVE-2022-30190 在野利用研判

图 攻击流程


在原始样本中,PowerShell命令被通过base64编码保存(通过base64编码后可以执行带有空格的命令),分析其攻击流程如下:

1. 通过cmd.exe杀死msdt.exe进程;

2. 跳转到C:userspublic目录,遍历temp目录及其子目录寻找05-2022-0438.rar文件,并将其另存为1.rar到当前目录下;

3. 在1.rar文件寻找“TVNDRgAAA”字符串头(TVNDRg通过base64解码为MSCF,是cab格式的文件头),并将其保存为1.t文件;

4. 对1.t文件进行base64解码为1.c文件,其本质为cab文件,从中提取rgb.exe文件,并最终执行。


然而在本地测试该漏洞样本时并没有发现rar文件,其来源不得而知。可以猜测的是在rar文件中使用了与往篇攻击技术研判中CVE-2021-40444无cab利用链类似的攻击手法,即通过在rar嵌入其它不影响其本身特性的字符,使得恶意代码被隐藏。


亮点:利用ms-msdt协议触发漏洞的远程执行

MSDT全称为Microsoft Support Diagnostic Tool(支持诊断工具),该工具可以在命令行或自动化脚本中调用故障排除包。ms-msdt是一种URL Scheme,通过ms-msdt可以调用msdt.exe并传递其参数,在注册表中可以查看其执行的命令行:

攻击技术研判 | CVE-2022-30190 在野利用研判

图 ms-msdt协议执行命令行


msdt.exe作为具备签名的二进制程序并不是首次被用于攻击,最初作为一种LOLBAS手法被用于代理执行:构造特殊的.xml文件以执行二进制,该方式存在不能执行命令行的局限性。

攻击技术研判 | CVE-2022-30190 在野利用研判

图 msdt.exe命令执行LOLBAS手法


本次攻击事件所构造的攻击链却不存在该限制,攻击者通过构造特定的msdt.exe参数在目标机器执行任意PowerShell命令,分析其执行的过程如下:


攻击者指定msdt.exe运行PCWDiagnostic故障诊断包,该诊断包会调用sdiagnhost.exe执行TS_ProgramCompatibilityWizard.ps1脚本,提取出msdt.exe传递的参数并进行一系列操作,其中较为关键的是IT_BrowseForFile参数:


if(-not($ChoicesAvailable))
{
    $selectedProgram = Get-DiagInput -id IT_BrowseForFile
}
else
{
    $selectedProgram = Get-DiagInput -id IT_SelectProgram -choice $choices

    # If the user chose the option "Not listed" we will ask them to browse for a file
    if($selectedProgram -eq "NotListed")
    {
        $selectedProgram = Get-DiagInput -id IT_BrowseForFile
    }

}
...
Test-Selection($selectedProgram)


可以看到脚本从命令行中提取出IT_BrowseForFile参数,并调用Test-Selection函数进行校验:


function Test-Selection([string]$appPath)
{
    $testresult = $false

    if(($appPath -ne $null) -and -not([String]::IsNullOrEmpty($appPath)))
    {
        $testresult = test-path -literalpath $appPath

        if($testresult)
        {
            if(-not($type::IsFileProtected($appPath)))
            {
                $extension = [System.IO.Path]::GetExtension($appPath)
                $testresult = ($extension -eq ".exe") -or ($extension -eq ".msi")
            }
            else
            {
                $testresult = $false
                Set-Variable -name rebrowseText -value $CompatibilityStrings.Text_FILE_PROTECTED -scope global
            }
        }
    }

    Set-Variable -name appValid -value $testResult -scope global
}



该函数对参数进行了目录的合法性、文件保护以及后缀名的校验,而攻击者通过目录穿越巧妙地绕过了此校验函数。接下来构造的PowerShell命令会作为”TARGETPATH”参数调用Update-DiagRootCause,最后命令得以执行。


02 总结

此次攻击事件的攻击链中,msdt.exe的参数注入使其可以直接在本地执行任意命令,而通过URL Scheme的调用方式使得代码可以被远程执行,Office存在的不安全因素又为其提供了一个“完美”的触发环境。在整条攻击链中暴露的诸多不安全因素使其危害性巨大,近期又发生了几起利用该漏洞进行文档钓鱼的攻击事件,预测未来一段时间会有更多相关的攻击事件发生,值得安全研究者关注并提高警惕。


攻击技术研判 | CVE-2022-30190 在野利用研判

绿盟科技天元实验室专注于新型实战化攻防对抗技术研究。

研究目标包括:漏洞利用技术、防御绕过技术、攻击隐匿技术、攻击持久化技术等蓝军技术,以及攻击技战术、攻击框架的研究。涵盖Web安全、终端安全、AD安全、云安全等多个技术领域的攻击技术研究,以及工业互联网、车联网等业务场景的攻击技术研究。通过研究攻击对抗技术,从攻击视角提供识别风险的方法和手段,为威胁对抗提供决策支撑。


攻击技术研判 | CVE-2022-30190 在野利用研判

M01N Team公众号

聚焦高级攻防对抗热点技术

绿盟科技蓝军技术研究战队

攻击技术研判 | CVE-2022-30190 在野利用研判

官方攻防交流群

网络安全一手资讯

攻防技术答疑解惑


往期推荐

攻击技术研判 | 基于VMware组件的新“白加黑”利用技术

攻击技术研判 | CVE-2022-30190 在野利用研判

攻击技术研判 | 挂钩NT函数劫持LoadLibrary执行恶意载荷

攻击技术研判 | CVE-2022-30190 在野利用研判

攻击技术研判 | 利用Windows日志的新“无文件”技术

攻击技术研判 | CVE-2022-30190 在野利用研判

原文始发于微信公众号(M01N Team):攻击技术研判 | CVE-2022-30190 在野利用研判

版权声明:admin 发表于 2022年6月6日 下午6:01。
转载请注明:攻击技术研判 | CVE-2022-30190 在野利用研判 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...