整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          深入剖析CVE-2021-40444-Cabless利用鏈

          CVE-2021-40444為微軟MHTML遠(yuǎn)程命令執(zhí)行漏洞,攻擊者可通過傳播Microsoft Office文檔,誘導(dǎo)目標(biāo)點擊文檔從而在目標(biāo)機器上執(zhí)行任意代碼。該漏洞最初的利用思路是使用下載cab并釋放、加載inf文件的形式執(zhí)行惡意代碼。獨立安全研究員Eduardo B.在github公開了一種新的“無CAB”的漏洞利用方法及其POC。公眾號之前發(fā)布的研判文章中已對在野利用中出現(xiàn)的新的Cabless利用鏈以及RAR文件隱藏載荷的巧妙方法進(jìn)行了分析。本篇將進(jìn)一步探究該利用鏈的技術(shù)本質(zhì),并在復(fù)現(xiàn)攻擊場景的前提下嘗試對利用鏈進(jìn)行改進(jìn)。

          基于URL Scheme的Cabless利用鏈

          與基于cab的攻擊方式一樣,新攻擊鏈依然需要在Office文檔中插入惡意htmlfile OLE對象,當(dāng)目標(biāo)用戶點擊文檔后會請求訪問遠(yuǎn)程html頁面,而html頁面中通過ActiveX控件調(diào)用".wsf:../" URL Scheme鏈接,最終調(diào)用wcript.exe執(zhí)行RAR中嵌入的wsf腳本。

          '.wsf:../../../Downloads/?.wsf'

          URL Scheme也叫URL protocol,它的作用是通過鏈接啟動對應(yīng)的本地程序,格式為[scheme]://[host]/[path]?[query]。文件后綴名可同樣用作scheme,調(diào)用相關(guān)文件類型綁定的程序。’?[query]’的存在則可利用URL Scheme與程序在處理路徑時不同的行為,達(dá)到忽略真實后綴名,繞過擴展名校驗的目的。在之前的攻擊鏈中曾使用”.cpl”鏈接調(diào)用系統(tǒng)rundll32.exe程序?qū)nf文件作為cpl文件加載執(zhí)行。

          目前公開的配合RAR的Cabless利用鏈的POC有兩個利用條件,一是猜測到WINRAR的存儲位置,默認(rèn)其位于用戶目錄的Downloads文件夾下,否則無法獲取wsf腳本位置;二是明確wscript.exe運行的當(dāng)前路徑(例如Documents目錄),否則無法構(gòu)造正確的路徑。下面將從不同的利用場景考慮,思考更靈活的URL Scheme構(gòu)造方式。

          基于不同利用場景的利用鏈改進(jìn)

          配合RAR的Cabless利用鏈在實際執(zhí)行時有兩種可能,用戶直接在WinRAR中打開DOCX文件,以及先解壓再打開,對這兩條攻擊路徑進(jìn)行分別的探究。

          直接在WINRAR中打開DOCX文件

          當(dāng)用戶直接在WINRAR中打開壓縮包中的DOCX文件時的進(jìn)程樹如下:

          WinRAR的當(dāng)前路徑為RAR文件所在文件夾。

          Word的當(dāng)前路徑為C:\Users\user\Documents,RAR中的DOCX文件被釋放到%TEMP%臨時文件夾中。

          wscript.exe被觸發(fā)執(zhí)行后的當(dāng)前路徑為WinRAR的路徑(也就是壓縮包所在的文件夾)。

          ".wsf:"被用于Url Scheme喚起wscript.exe,而在被喚起后又被當(dāng)作普通目錄名去解析。’.wsf:’后的兩個’.’可替換為其他內(nèi)容,不影響執(zhí)行,但是如果去掉這兩個字符會在參數(shù)傳遞給wscript.exe時吞掉一個“../”導(dǎo)致找不到文件。這是因為wscript.exe解析路徑的時候會將“.wsf:aa”整體當(dāng)作一個host看待,后面拼接“../”就抵消了這層目錄關(guān)系,相當(dāng)于當(dāng)前目錄。

          基于以上測試可知,當(dāng)DOCX文件在WinRAR中直接執(zhí)行時雖然DOCX文件釋放于臨時目錄,但wscript.exe的當(dāng)前目錄即是RAR文件所在的目錄。由此我們可以構(gòu)造此情況下100%可用的URL Scheme(直接從當(dāng)前路徑讀取RAR文件):

          '.wsf:aa/../exp.rar1?.wsf'

          先解壓DOCX文件再打開

          這種情況其實更復(fù)雜,也是公開的POC針對的場景,對應(yīng)進(jìn)程樹:

          直接點擊解壓后的DOCX文件打開時,Word的當(dāng)前路徑為DOCX文件所在路徑,wscript.exe的路徑也將保持一致。

          值得注意的是,在一些情況下Word會將當(dāng)前路徑設(shè)置為C:\Users\Document,這可能是公開POC中構(gòu)造路徑的依據(jù)。但無論當(dāng)前路徑是什么,攻擊者都必須成功獲取(猜測)到RAR所在的文件夾。

          漏洞修復(fù)

          微軟在9月的補丁中已將MHTML中使用URL Scheme的問題修復(fù),在ieframe.dll中加入了一個新的校驗函數(shù)IsValidSchemeName:

          該函數(shù)將對URL Scheme進(jìn)行校驗,諸如”.cpl”、“.wsf”這種以文件擴展名啟動應(yīng)用程序的方式由于以字符“.”開頭無法通過該校驗函數(shù)的判斷。

          總結(jié)

          本文主要分析了CVE-2021-40444的Cabless利用鏈中存在的路徑問題以及對之前技術(shù)研判內(nèi)容進(jìn)行補充。通過分析CVE-2021-40444新利用鏈,可以看到該漏洞的根本原因是Office文檔可以通過MHTML協(xié)議請求訪問遠(yuǎn)程HTML頁面從而執(zhí)行JavaScript代碼,并最終通過Url Scheme啟動本地應(yīng)用程序執(zhí)行投遞的惡意代碼,而中間投遞惡意代碼的方式是可以替換的。同時也給了作為初學(xué)者的筆者很多啟發(fā),在分析漏洞時需加入對根本問題的思考:在攻擊鏈中哪些部分是必不可少的,哪些是可以替換的。必不可少的部分作為漏洞根本問題要更深入地分析,而可以替換的部分要嘗試去挖掘可替換的新利用鏈。而對于防守方,把握漏洞本質(zhì)與漏洞利用必經(jīng)之路,方能以不變應(yīng)萬變徹底控制各種漏洞利用變體。

          了解更多

          了解討論網(wǎng)絡(luò)安全和領(lǐng)取網(wǎng)絡(luò)安全的學(xué)習(xí)資料“關(guān)注”并私信“資料”免費領(lǐng)取


          2022年5月27日,我們發(fā)現(xiàn)有安全研究人員公開了一個新的Office漏洞,稱為Follina,由白俄羅斯的一個IP地址上傳。該漏洞的原理是利用Microsoft Office將遠(yuǎn)程HTML頁面作為OLE對象插入的功能,文檔打開后將訪問遠(yuǎn)程HTML頁面并執(zhí)行其中的代碼,攻擊者利用js代碼將頁面重定向,使其通過"ms-msdt:"協(xié)議訪問URL鏈接,調(diào)用本地msdt.exe并傳入攻擊者構(gòu)造好的參數(shù),最終執(zhí)行任意PowerShell代碼。值得注意的是,該漏洞在宏被禁用的情況下仍可被利用,具有較大的安全隱患。

          6月初,研究人員公開了一個針對烏克蘭的攻擊樣本(7908d7095ed1cde36b7fd8f45966fc56f0b72ca131121fdb3f8397c0710100e1),發(fā)現(xiàn)有組織使用Cobalt Strike Beacon惡意軟件并利用該漏洞CVE-2022-30190對烏克蘭國家組織進(jìn)行了網(wǎng)絡(luò)攻擊。下面將對該漏洞的利用和此樣本產(chǎn)生的流量進(jìn)行分析。

          二、Follina漏洞利用

          1.使用網(wǎng)上已公開的poc

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

          2.在當(dāng)前目錄下生成clickme.docx和www下exploit.html,并啟動監(jiān)聽

          python follina.py -t docx -m binary -b windowssystem32calc.exe -H 127.0.0.1 -P 8080

          3.在word啟動時可以看到“正在打開http://localhost:8080/exploit[ . ]html”,說明word和服務(wù)端建立連接成功,彈出calc.exe,漏洞利用成功

          三、TLS加密流量分析

          1.捕獲的流量中檢測到nod-update[ . ]it可疑域名,每隔一段時間,Beacon會對nod-update[ . ]it發(fā)出A記錄dns查詢

          2. 下圖為樣本通信時的流量,使用TLS加密

          3.服務(wù)器已經(jīng)不存活,主機無法上線,TCP建立握手連接失敗

          4.從流量導(dǎo)出的證書,頒發(fā)者是CN = R3 O = Let's Encrypt C = US ,指紋是85fbc86f7a5411e6472b167c8016723a51cc090a,R3的頒發(fā)機構(gòu)為ISRG Root X1,是一個免費的證書頒發(fā)機構(gòu),由于免費證書申請不會經(jīng)過嚴(yán)格的使用者身份驗證,較容易獲取,因此,經(jīng)常被黑客或惡意程序使用。

          5.觀成瞰云(ENS)-加密威脅智能檢測系統(tǒng)針對本次測試產(chǎn)生的加密流量進(jìn)行檢出,從握手檢測、域名檢測、證書檢測進(jìn)行多模型分析,綜合評分為0.76。

          四、總結(jié)

          隨著Follina漏洞的出現(xiàn),改變了以前要“釣魚”就要想辦法繞過office宏禁止機制的攻擊方法,取得了新的突破,網(wǎng)絡(luò)攻擊的手段變得越來越多樣化,通信方式也變得隱蔽化和加密化,這一趨勢給流量檢測帶來了更高挑戰(zhàn)。

          頭條創(chuàng)作挑戰(zhàn)賽# 在Excel VBA中,HTMLObjectElement對象表示HTML文檔中的<object>元素。它允許您通過VBA代碼訪問和操作HTML文檔中的<object>元素,例如Flash、Java Applets、嵌入式視頻等。使用HTMLObjectElement對象,您可以在VBA中設(shè)置<object>元素的屬性,例如高度、寬度、數(shù)據(jù)等,以及執(zhí)行與<object>元素相關(guān)的操作。

          以下是6個代碼實例來解釋說明HTMLObjectElement對象的用法:

          1、獲取HTMLObjectElement對象

          Dim obj As HTMLObjectElement
          Set obj = ActiveDocument.getElementById("myObject")

          2、設(shè)置HTMLObjectElement對象的高度和寬度

          obj.Height = 100
          obj.Width = 200

          3、獲取HTMLObjectElement對象的數(shù)據(jù)屬性

          Dim data As String
          data = obj.Data

          4、設(shè)置HTMLObjectElement對象的數(shù)據(jù)屬性

          obj.Data = "http://example.com/myvideo.mp4"

          5、獲取HTMLObjectElement對象的classid屬性

          Dim classid As String
          classid = obj.classid

          6、設(shè)置HTMLObjectElement對象的classid屬性

          obj.classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"

          下面是兩個Excel案例代碼來解釋HTMLObjectElement對象的使用:

          1、在Excel中插入Flash動畫

          Sub InsertFlash()
              Dim obj As HTMLObjectElement
              Set obj = ActiveSheet.OLEObjects.Add(ClassType:="ShockwaveFlash.ShockwaveFlash", _
                  Link:=False, DisplayAsIcon:=False, Left:=10, Top:=10, Width:=200, Height:=100).Object
              obj.Movie = "http://example.com/myflash.swf"
          End Sub

          2、在Excel中插入嵌入式視頻

          Sub InsertVideo()
              Dim obj As HTMLObjectElement
              Set obj = ActiveSheet.OLEObjects.Add(ClassType:="MediaPlayer.MediaPlayer", _
                  Link:=False, DisplayAsIcon:=False, Left:=10, Top:=10, Width:=200, Height:=100).Object
              obj.URL = "http://example.com/myvideo.mp4"
          End Sub

          在這些代碼中,我們使用HTMLObjectElement對象來訪問和操作插入到Excel工作表中的<object>元素。我們可以設(shè)置<object>元素的高度、寬度、數(shù)據(jù)、classid等屬性,以及執(zhí)行與<object>元素相關(guān)的操作,例如播放Flash動畫和嵌入式視頻。

          在使用HTMLObjectElement對象時,需要注意以下幾點:

          1、要確保已經(jīng)正確地引用了Microsoft HTML Object Library。

          2、要確保在HTML文檔中正確地指定了<object>元素的classid屬性,以便在VBA中正確地創(chuàng)建和引用HTMLObjectElement對象。

          3、要確保在操作<object>元素之前,已經(jīng)加載了完整的HTML文檔。

          4、要確保在設(shè)置<object>元素的屬性之前,已經(jīng)正確地驗證了這些屬性的值,以避免出現(xiàn)錯誤。

          5、要確保在操作<object>元素之前,已經(jīng)正確地驗證了這些元素的狀態(tài)和可用性,以避免出現(xiàn)錯誤。

          6、在使用HTMLObjectElement對象時,應(yīng)該遵循良好的編程實踐,例如使用錯誤處理和代碼注釋等,以提高代碼的可讀性和可維護(hù)性。


          主站蜘蛛池模板: 无码人妻精品一区二区三区99仓本 | 国产91精品一区| 国产亚洲综合精品一区二区三区| 亚洲一区二区三区自拍公司| 97人妻无码一区二区精品免费| 国产激情无码一区二区三区| 亚洲av日韩综合一区久热| 国产一区视频在线| 伊人激情AV一区二区三区| 国产高清在线精品一区二区三区| 日美欧韩一区二去三区| 免费一本色道久久一区| 中文字幕无线码一区二区 | 亚洲国产精品第一区二区| 在线视频一区二区三区三区不卡 | 国产肥熟女视频一区二区三区| 亚洲av无码一区二区三区天堂古代 | 国产福利一区二区三区在线视频| 伊人激情AV一区二区三区| 真实国产乱子伦精品一区二区三区| 四虎永久在线精品免费一区二区| 51视频国产精品一区二区| 精品福利视频一区二区三区| 人妻无码久久一区二区三区免费 | 国模精品一区二区三区| 无码少妇一区二区浪潮av| 偷拍精品视频一区二区三区| 蜜桃视频一区二区| 一区二区三区视频免费观看| 午夜视频久久久久一区| 高清在线一区二区| 日韩一本之道一区中文字幕| 国产AV午夜精品一区二区入口| 文中字幕一区二区三区视频播放| 日韩人妻无码一区二区三区久久| 制服丝袜一区在线| 大香伊蕉日本一区二区| 国产成人精品一区在线| 国产精品女同一区二区| 日韩在线一区二区| 夜夜爽一区二区三区精品|