通過樣本分析之三CVE-2011-0104
1、分析環境
操作系統:Window xp Sp3
軟體 :Office 2003 sp3
2、基本信息
漏洞類型:棧溢出
影響範圍:Microsoft Excel 2002 SP3 and 2003 SP3, Office 2004 and 2008 for Mac
3、漏洞分析
Exp MD5: fbd4378af4ef2e249a6a81e1ba12db99
由於並沒有找到對應的在實際攻擊中的樣本,這裡我們使用Abysssec團隊放出的exp進行調試。
我們上Windbg進行分析,我們的樣本的並沒有彈出那個計算器,我們現在打開Excel,然後用Windbg附加上,然後打開樣本,有個異常錯誤。
我們首先將Excel.exe放到IDA中,然後查看這個地址屬於哪個函數,在函數開頭下斷點。在返回地址處,下個內存寫斷點,我們可以發現循環拷貝的地方導致覆蓋了返回地址。我們重點關注下這個地址。
首先我們先確定一下拷貝的函數在文件的位置,這是個循環複製,第一次ECX為1,只複製了四個位元組,我們用offVIS打開文件,發現複製的是BOF欄位的陰影中的四個位元組。
我們看看第二次複製的情況,第二次複製的是從下面陰影開始的欄位
而要複製的欄位明顯的超過棧空間,因為這個棧空間只有60h個位元組,而複製的要有300位元組,導致棧溢出。
當我們知道了可以控制覆蓋的數據的時候,還要去了解整個ECX是從何處來的,這個時候我們斷到溢出函數的起點來看看EXC來自的文件的何處。
我們在將上一層函數在IDA反彙編成偽代碼,發現函數在執行之前會比較一下是否是A7。
在來看看Abysssec團隊寫的生成Exp的Python腳本,我們發現了這個A7是recordTypt
我們再次打開OffVIS,我們可以看到這個是BIFFRecord
我們在往下看代碼
我們發現sub_300DE7C5 返回的是3c跟比較的相同
這個時候我們發現BIFFRecord下面的Contine 的Type也正是0x3c,經過我的實驗,我將這個3c改成其他的數,在動態調試,返現sub_300DE7C5這個函數返回的正式Continue的Type
我們繼續調試,發現sub_300C3AA4返回的是Continue的長度,正式Continue的length欄位,這個欄位是的長度也是0x300,這個時候,我們可以肯定的就是這個Continue,就是控制複製長度
在次看Continue 欄位的最後一個值 ContinueDate,正是複製的欄位。
其實這個能實現完美利用的關鍵還在於,這個漏洞可以控制複製到那個位置,我們來看一下。首先這個先從ebp+34h的地方取出0c0f,後來又乘以了4
通過實驗我們發現這兩個就是BIFFRecord的Length 和Data
這兩個相乘後,作為偏移加上eax放到 esi中
最後esi作為參數放入拷貝函數中,而這個就是拷貝的目標地址,這樣我們就可以實現目標地址定位。
4、總結
這個漏洞通過棧溢出可以通過控制拷貝大小,拷貝位置實現精確控制,開發者在拷貝的時候,並沒有對拷貝的大小進行控制。
TAG:先知安全技術社區 |
※CVE-2018-4878 Flash 0day漏洞攻擊樣本解析
※中科普瑞-限時推出(3500/樣本)850k晶元服務
※主城區3-5月2000個小區漲幅樣本數據
※滬深300上證50中證500等指數今年首次調整樣本股
※歷時十餘年、33種癌症、超11000份樣本繪製泛癌圖譜
※IBM全新機器學習庫SnapML:訓練提速46倍,40億樣本僅需91.5秒
※比谷歌快46倍GPU助力IBM Snap ML40億樣本訓練模型僅需91.5 秒
※33種癌症、超11000份腫瘤樣本,癌症基因組深入分析出爐
※「11·11症候群」的四個樣本分析
※CVPR 2019提前看:少樣本學習專題
※世界坦克的樣本,裝備定位導航系統,2000米距離打穿T72
※滬深300、中證100等樣本股大調整:三六零被調入 「四新」布局前景可期
※時代新居美學樣本,10.13 盛大啟幕
※從 ICLR 2019 一覽小樣本學習最新進展
※90後女COO炒幣虧損1.2億?幣圈韭菜哀嚎的樣本
※視頻購物「1.28造節」樣本:年入66億的東方購物如何醞釀下一個超級IP
※從 CVPR 2019 一覽小樣本學習研究進展
※《堡壘之夜》樣本消費報告:69 %的用戶有外部購置,ARP pu到達85美元
※塵封50年!NASA重新檢查「絕密」阿波羅12號月球岩石樣本
※2090例大樣本分析來襲:確定CTC在早期乳腺癌中的預後價值