成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

DDE混淆的3種新方法

安全 數據安全
最近一段時間,微軟的Office產品已經成為滋養新型攻擊方法的沃土,從相對比較簡單的數據注入方法(如DDE注入以及CSV注入)到更加復雜的基于嵌入公式對象的攻擊技術,不一而足。

一、前言

最近一段時間,微軟的Office產品已經成為滋養新型攻擊方法的沃土,從相對比較簡單的數據注入方法(如DDE注入以及CSV注入)到更加復雜的基于嵌入公式對象的攻擊技術,不一而足。反病毒行業很快吸收了這些技術,有許多廠商可以正確檢測并識別大多數攻擊方法。然而萬物都處于演化之中,因此攻擊場景中出現攻擊手段的混淆及變種也只是時間問題。思科Talos以及ReversingLabs曾發表過一篇聯合文章,介紹與CSV DDE注入有關的兩種新技術(一種混淆技術以及一個變種)。本文的目的是為大家解釋這些技術背后的一些“原理”,也會介紹3種新的混淆技術。

[[245298]]

二、CSV/DDE代碼注入

盡管網上關于DDE代碼注入技術已經有許多參考資料,但這里我們還可以簡單過一下這種技術的原理。CSV(使用逗號作為分隔符)是一種簡單的數據格式,可以用來存儲結構化數據,也可以作為Excel的數據源(Excel會解析該數據,然后將被分隔符切分的數據填充到單元格中)。實際上,如果文件格式與文件擴展名不匹配,但該文件擴展名可以使用Excel來打開,那么Excel似乎會采用CSV模式來導入數據。

根據微軟的描述,DDE(Dynamic Data Exchange,動態數據交換)是應用之間傳輸數據的一種方法。Excel可以使用這種機制,根據外部應用的處理結果來更新單元格的內容。因此,如果我們制作包含DDE公式的CSV文件,那么在打開該文件時,Excel就會嘗試執行外部應用,這個過程聽起來非常簡單。

三、DDE解析

雖然聽起來簡單,但工作過程卻稍微復雜一些。當打開文件時,Excel會逐個檢查文件的每一行。將該行的的內容分隔并拷貝到對應的單元格之前,Excel會檢查當前行是否以某些命令字符開頭。這些字符可能是內部函數所需的字符,如=、+、-以及@。根據命令的前綴,可能會出現以下兩種情況:

  • 如果前綴為為=、+或者-,那么后續數據就會被當成表達式來處理;
  • 如果前綴為@,那么Excel會搜索內部函數(比如SUM()),將參數解析成表達式。

到目前為止,前面都是大家可以從網上找到的公開資料,但狀態機如何處理表達式可能參考資料就相對較少。說到DDE時,相應的表達式大致可以表示為:

  1. command|’arguments’!cell 

命令本身也是一種表達式。如果表達式中僅包含可打印字符(甚至包含一些不可打印字符,如0xAA,具體取決于代碼頁),那么緩沖區大小就為256字節。由于命令前綴或者操作符占了1個字符,因此實際上表達式只有255個字節可用。表達式可以是名稱、數字、字符串或者文件名。

即便緩沖區中有足夠大的空間,內部程序的最大文件名長度為8個字符。這可能是MS-DOS文件名的歷史遺留問題,當時系統最大只支持8字節長文件名(不包括擴展名)。

然而,表達式通常采用遞歸定義,可以采用算術及邏輯運算符(如&、^、/、+等等)鏈接起來,甚至還可以使用左括號(表示函數參數的開始)或者冒號(用作單元格分隔符)。雖然命令不應該被當成表達式來處理,但由于null字節會被全部忽略掉,而空格有時候后會被忽略(比如位于命令之前的空格),因此出現這種情況也不足為奇。

換句話說,表達式中可以包含數量不限的null字節。Excel會忽視參數以及單元格中的null字節。重要的是,單元格引用根本不必為有效值。一旦表達式被成功解析及轉換,命令和參數就會傳遞給WinExec() API執行。

四、更多細節

思科Talos在文中提到,攻擊樣本會使用簡單的混淆技術,比如在DDE公式之前或者之后附加文本或者二進制數據。這似乎只是冰山一角,這是因為數據解析規則不僅可以處理前綴(prefix)或后綴(suffix)形式的混淆命令,也能處理中綴(infix)形式的混淆數據。

表達式可以串聯使用,我們也可以在實際命令之前注入任意數量的表達式(每個子表達式最多可以使用255個字符),命令甚至也可以串聯起來使用,這也是命令可以使用混淆前綴的基礎,如下所示:

  1. =AAAA+BBBB-CCCC&"Hello"/12345&cmd|'/c calc.exe'!A 
  2. =cmd|'/c calc.exe'!A*cmd|'/c calc.exe'!A 
  3. +thespanishinquisition(cmd|'/c calc.exe'!A 
  4. =         cmd|'/c calc.exe'!A 

目前在實際攻擊中看到的載荷會選擇cmd、msexcel或者msiexec作為可執行目標文件,,但我們可以任意選擇其他外部應用,只要文件名少于8字符即可,而這個條件在實際環境中很容滿足。比如,regsvr32、certutil以及rundll32都滿足文件名長度要求,這為我們打開了后綴混淆攻擊的新世界:

  1. =rundll32|'URL.dll,OpenURL calc.exe'!A 
  2. =rundll321234567890abcdefghijklmnopqrstuvwxyz|'URL.dll,OpenURL calc.exe'!A 

最后,我們可以在各處添加null字節或者空格,達到中綴混淆目的。空格不能嵌入到命令名稱中,一旦嵌入就將拆分命令名,導致命令無法執行。但是命令名之前以及或者參數中的空間還可以為我們所用。當然,命令名不區分大小寫,因此我們可以使用不同的大小寫方案來進行混淆。大家可以訪問此處下載前面我們描述的所有混淆樣例(密碼為infected)。

A1000十六進制數據中的中綴混淆示例

圖1. A1000十六進制數據中的中綴混淆示例

這些混淆技術當然可以單獨使用,或者可以組合使用。我們已經使用Excel 2013以及Excel 2017測試過本文提到的所有混淆技術,在本文撰寫時沒有任何殺毒軟件廠商能夠檢測到這些技術。為了幫大家防御這類簡單的混淆攻擊,我們同樣發布了匹配的YARA規則,大家可以訪問此鏈接下載。

五、總結

在本文中,我們介紹了混淆DDE載荷的3種新技術:前綴、中綴以及后綴混淆技術。由于Office產品在過去27年中一直在不斷完善,豐富的功能同樣給正常用戶和惡意用戶帶來廣闊的表演舞臺。在接下來的幾年時間內,可以預見的是新的攻擊方法及混淆技術將不斷演化,我們也希望能看到推陳出新的技術用來投遞攻擊載荷。

責任編輯:趙寧寧 來源: 安全客
相關推薦

2021-09-27 10:12:42

欺騙防御rMTD網絡攻擊

2015-08-21 09:14:40

大數據

2022-05-26 10:57:51

機器人人工智能

2022-04-20 08:00:00

深度學習數據集Hub

2019-07-12 13:50:36

物聯網大數據安全

2022-07-07 10:47:16

IngressKubernetes

2010-09-02 13:59:17

background-background-CSS3

2022-11-22 11:18:38

Java虛擬線程

2010-04-01 09:30:57

2024-01-23 17:33:36

2024-10-23 19:47:54

2022-03-10 12:16:14

側信道內存攻擊網絡攻擊

2010-06-18 09:48:22

2021-04-26 23:31:49

黑客漏洞網絡攻擊

2021-11-26 10:02:22

擴展業務領導者CIO

2016-12-26 18:39:32

Android應用進程存活率

2021-02-18 18:13:34

LinuxARM樹莓派

2009-07-31 08:56:59

ASP.NET頁面刷新

2023-07-06 15:29:52

數據中心能源回收

2023-11-23 15:05:02

玻璃歸檔存儲微軟
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区三区四区在线观看 | 成人av一区 | 99精品欧美一区二区蜜桃免费 | 亚洲精品在线观看网站 | 国产成人短视频在线观看 | 久久av一区二区三区 | 91免费电影 | 久久久无码精品亚洲日韩按摩 | 国产中文一区二区三区 | 亚洲一区久久久 | 久久久久久一区 | 久久精品国产99国产精品亚洲 | 精品欧美一区免费观看α√ | 日日骚网| 精品视频一区二区三区在线观看 | 国产精品免费看 | 亚洲人久久 | 国产永久免费 | 视频一区中文字幕 | 色就干| 毛片高清| 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 户外露出一区二区三区 | 91亚洲免费 | 在线观看亚洲精品 | 99综合 | 国产成人一区在线 | 欧美专区在线 | 成人久久网 | 午夜激情在线 | 成人亚洲网 | 91视频麻豆| 日韩手机在线视频 | 免费观看成人av | 蜜桃av一区二区三区 | 国产一级黄色网 | 国产精品二区三区 | 91精品国产91久久久久久最新 | 久久综合成人精品亚洲另类欧美 | 精品一区二区在线观看 | 国产高清视频 |