溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

發(fā)布時間:2022-01-12 09:42:19 來源:億速云 閱讀:124 作者:柒染 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)Office文檔嵌入對象點擊執(zhí)行的技巧是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

簡介

Microsoft Office相信大家都用過。Office在文檔中嵌入對象極大的方便了我們的日常使用,但同時也為我們帶來了眾多安全問題。可以說,Office文檔為攻擊者提供了各種方法來誘騙受害者運行任意代碼。當然,攻擊者也可能會嘗試利用Office漏洞,但更常見的情況是,攻擊者會向受害者發(fā)送包含惡意宏或嵌入式(Packager)可執(zhí)行文件的Office文檔。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

為此,微軟在Office的安全問題上也下了不少的功夫。Office中有個名為受保護的視圖(Protected View)的安全功能,如果Office文檔來自于互聯(lián)網(wǎng),那么該功能會以受限方式打開該文檔。這個功能的目的是限制可運行的Office組件,以防止攻擊者自動利用諸如OLE、Flash以及ActiveX等對象中存在的漏洞。在Office    2016和Office 365還添加了其它的安全措施(如GPO等),這樣當用戶從Internet下載文檔時宏將完全被禁用,以及阻止在Packer文件擴展名黑名單列表中的文件類型運行。

當然,即便如此安全問題依舊存在,但這些措施也在一定程度上減少了此類攻擊的發(fā)生。最近,Matt Nelson向我們演示了使用SettingContent-ms文件運行任意命令的方法。由于這些文件并不包含在文件類型的黑名單列表中,因此攻擊者可以誘騙受害者從Office文檔運行嵌入的SettingContent-ms文件。目前,此類文件類型已被添加到了黑名單中。在2018年8月的補丁更新中,微軟還發(fā)布了一個修復(fù)程序,即如果不是從%WinDir%\ImmersiveControlPanel.打開這些文件的,則會進行阻止。

我將向大家介紹另外兩種誘騙受害者運行惡意代碼的方法。這兩種方法都需要有一定量的用戶交互。MSRC指出“這種技術(shù)需要結(jié)合大量的社會工程學技巧:受害者必須要對安全警告說'Yes' ,且在非保護模式下運行”攻擊者才有可能得手,因此并不會針對該問題發(fā)布任何的修復(fù)程序。

Shell.Explorer.1

Shell.Explorer.1 OLE對象(CLSID {EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B})充當嵌入式Windows資源管理器或IE瀏覽器。此OLE對象可以嵌入到Office文檔中,并可作為持久對象保存在文檔中。專有格式用于持久化Shell.Explorer.1對象,在偏移量76 (0x4C)處可以找到熟悉的結(jié)構(gòu)??梢钥吹轿挥诖似铺幍慕Y(jié)構(gòu)是ShellLink (LNK) [MS-SHLLINK]。

當初始化(加載)Shell.Exporer.1對象時,ShellLink結(jié)構(gòu)將被解析為常規(guī)LNK文件。然后,該對象從ShellLink獲取ID列表,并以此來導航到提供的文件, (shell) 文件夾或網(wǎng)站。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

嵌入Windows資源管理器對象

當提供了文件夾路徑后,該對象的行為類似于Windows資源管理器??梢詾g覽文件或文件夾,甚至可以通過雙擊來執(zhí)行文件。攻擊者可能會濫用此功能來嵌入Windows資源管理器,從而打開包含可執(zhí)行文件的遠程共享。如果攻擊者可以說服受害者雙擊文件,就可以從該遠程共享運行可執(zhí)行代碼。

但這種攻擊者的實現(xiàn)條件較為苛刻。首先,OLE對象需要單擊才能激活。其次,用戶需要雙擊OLE對象才能實際獲得可用的Windows資源管理器視圖。最后,用戶還需要雙擊Windows資源管理器視圖中的文件。這其中的任何一步出現(xiàn)問題,都將導致失敗。

在某些情況下,管理員可能會限制一些用戶對某些文件夾或硬盤的瀏覽權(quán)限。這種情況下,嵌入Windows資源管理器對象就會很方便。例如,如果限制對C:盤的訪問,則本地用戶可以使用包含嵌入式Windows資源管理器的Office文檔來繞過該限制。此外,該對象也可用于竊取NetNTLM哈希值,但這對于Office文檔來說并不難,因此使用單擊激活OLE對象是沒有意義的。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

Internet Explorer

當Shell.Explorer.1充當嵌入式Internet Explorer時,除了可以在文檔中嵌入Web瀏覽器之外,它還允許我們?yōu)g覽本地計算機上的文件,以及遠程(共享和網(wǎng)站)上的文件。但這依然需要與用戶產(chǎn)生交互,可以說這是無法避免的。單擊激活也適用于此模式,單擊該對象將觸發(fā)Internet Explorer的文件下載功能,這將向用戶彈出一個“文件下載”對話框。如果用戶單擊“運行”或“打開”(主要取決于文件格式),則將執(zhí)行該文件。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

某些文件類型(如EXE文件)還將會觸發(fā)一個額外的警告對話框。但我們可以通過使用其他可執(zhí)行文件類型,來避免該警告彈框(例如SettingContent-ms文件格式等)。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

對于控件禁用IE保護模式,這將阻止其他對話彈框 - 如UAC對話框。因此,只需要單擊兩次就可以運行惡意代碼,即單擊激活,然后 運行/打開。Shell.Explorer.1對象,也是解決Office 2016/365中文件擴展名黑名單的一個很好的方法。因為,Shell.Explorer.1并未使用黑名單列表。

POC

以下PowerShell腳本將嘗試創(chuàng)建包含嵌入式Internet Explorer對象的Word文檔。該腳本使用Packager對象創(chuàng)建了一個看起來像是嵌入文件的對象,單擊該對象將觸發(fā)文件下載功能。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

Microsoft Forms 2.0 HTML 控件

Microsoft Forms 2.0對象庫包含許多可以在Office文檔中使用的“HTML”ActiveX控件。這些控件在初始化時被標記為安全,并且不需要用戶為嵌入它們的文檔啟用ActiveX。存儲格式比Shell.Explorer.1對象簡單得多。本質(zhì)上,它是由對象的CLSID和HTML片段(UTF-16編碼)組成的。HTML片段(HTML fragment)的格式正確與否并不重要,對象只會搜索它支持的屬性。以下是支持action屬性的兩個對象:

- Forms.HTML:Image.1 (CLSID {5512D112-5CC6-11CF-8D67-00AA00BDCE1D})

- Forms.HTML:Submitbutton.1 (CLSID {5512D110-5CC6-11CF-8D67-00AA00BDCE1D})

單擊設(shè)置了action屬性的嵌入對象,將打開定義的URL。常規(guī)URL將在默認瀏覽器中打開,但文件URL(包括共享文件)將會被直接打開。這將彈出一個警告對話框,但此對話框與其他警告對話框略有不同,如下圖所示。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

Forms.HTML:Image.1支持src屬性,可用于配置文檔中顯示的圖像。使用圖像可以偽裝對象,例如將其偽裝成嵌入文檔誘使受害者點擊它。

需要提醒的是,當Office文檔包含Web標記時,將會彈出另外一個警告對話框,向用戶表明它是從Internet下載的。此對話框的提示將更為明確,從一個遠程攻擊者的角度來看,這種技術(shù)并不實用。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

POC

以下PowerShell腳本可用于創(chuàng)建具有嵌入Forms.HTML:Image.1對象的Word文檔,單擊該對象將打開計算器。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

受保護視圖

如上所述,當Office文檔包含Web標記時,則會向用戶表明它是從Internet下載的。這種情況下,文檔將在受保護的視圖中打開。在此模式下,將禁用文檔中存在的任何嵌入對象。除非攻擊者利用漏洞繞過受保護視圖,否則攻擊者就需要結(jié)合社工的技巧來欺騙受害者單擊“啟用編輯(Enable    Editing)”。

Office文檔嵌入對象點擊執(zhí)行的技巧是什么

防御

特別關(guān)注包含以下對象的文檔:

- Shell.Explorer.1 / {EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}

- Forms.HTML:Image.1 / {5512D112-5CC6-11CF-8D67-00AA00BDCE1D}

- Forms.HTML:Submitbutton.1 / {5512D110-5CC6-11CF-8D67-00AA00BDCE1D}

Shell.Explorer.1對象從對象中提取LNK文件,并檢索ID列表查找單擊對象時打開的內(nèi)容。我們的GitHub上的ShellLink .NET類庫可用于從LNK文件中讀取ID列表。

HTML Forms對象更容易解析。作為防御者應(yīng)該知道有多種方法可以在Office文檔中存儲對象。例如,ActiveX控件也可以嵌入作為PersistPropertyBag對象,其中對象的屬性設(shè)置在XML文件中(例如,activeX1.xml)。

上述就是小編為大家分享的Office文檔嵌入對象點擊執(zhí)行的技巧是什么了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI