適合新手入門的漏洞除錯與分析—CVE-2010-3333
這是第二次在tools發帖,為了響應管理猿的號召,也為了愛好應用程式安全新手的需要。在此,我初步研究了一下微軟3333漏洞的成因,並試著定位到了樣本中的shellcode,現在就對這個入門級的漏洞做個簡單的分析:
首先,我們還是用OD載入word.exe程式,按F9執行。如圖:
圖(一)
接下來,我們要具體分析3333漏洞出現的成因(具體的可以百度)。經過查詢,我們知道導致3333漏洞的原因,是因為漏洞產生在MSO.DLL檔案中,下文以Microsoft Office2003的MSO.DLL(版本號為:11.0.5606.0)為例。我們將樣本拖入執行的word中,如圖:
圖(二)
此時,先別急著開啟!我們回到OD中,按下ALT+E,看看此時word載入了哪些模組。
圖(三)
我們看到,mso.dll(也就是導致3333漏洞的檔案)已經被OD載入進來。我們雙擊mso.dll,並同時按下ctrl+A,讓OD對mso.dll進行分析。等OD分析完成後,如圖:
圖(四)
根據我們百度的結果(連結:http://wenku.baidu.com/link?url=8SkPKM5C5lGsrkjd4-uckMFg4YvuTlWN0kAdQSQKMXRgSRL8FiuxjwZ1aOE92QDwCbt855VWEEsOjGkc9ecQ54daMWivTpjMpcY1kS9rI87)可知,函式在處理pFragments屬性的值時,未嚴格檢查屬性值所佔用的空間大小,導致memcpy函式在複製屬性值時溢位堆疊。
在此,我們選用“mov bx , 5000000”這句指令,來定位處理pFragments屬性值的函式(當然這種定位方式,是在已知漏洞位置的情況下。在除錯0day時,因為我們不知道具體的漏洞點,此種方法便顯得無能為力。在這種情況下我們可以通過定位WINEXEC函式的來定位shellcode,從而除錯、定位出具體漏洞點.........其實分析0day是個很複雜過程,這個話題我們以後在討論)。如圖:
圖(五)
我們在“mov bx , 5000000”下好斷點後,就可以點選剛才word彈出的是否開啟對話方塊(圖二中對話方塊),選擇“開啟”。如圖:
圖(六)
此時我們看到EIP暫存器斷在了“mov bx , 5000000”指令處。通過之前百度到資料,我們知道導致棧溢位的函式位於:30F4CC93處的 call dword ptr ds:[eax+0xlc] 函式,我們單步F7跟進來,如圖:
圖(七)
我們通過對百度結果的分析,可知:當執行完“rep movs dword ptr es:[edi],dword ptr ds:[esi]”棧中的資料就會產生溢位(此時,我還未執行這句指令),現在我們看看未溢位時棧空間的情況:
圖(八)
接下來,我們執行一下“rep movs dword ptr es:[edi],dword ptr ds:[esi]”這句指令,看看棧中的變化,如圖:
圖(九)
注意:請讀者自行比較圖(八)與圖(九)的區別。
接下來就是執行shellcode了,至此我們將這個3333漏洞用OD分析完了。如果要想從全域性瞭解3333漏洞的成因,全面的掌握3333漏洞的情況,還得藉助IDA分析工具(可謂是反彙編的利器),至於對shellcode的分析和編寫在此就不敘述了。
最後,想跟大家分享一句心得:我們研究漏洞的目的不是為了去搞破壞,而是更好完善網路安全,更好的服務他人。
有需要網安新手入門教材的點選下方字型
- 【網路安全】Metasploit 生成的 Shellcode 的匯入函式解析以及執行流程分析(1)
- CVE-2021-40444:Windows MSHTML 0day漏洞利用
- 網路安全就業有什麼要求?可算來了,給大家瞭解一下網路安全就業篇學習大綱
- CVE-2021-35211: SolarWinds Serv-U SSH 漏洞分析
- 告訴你,初學網路安全應該怎樣去學呢?
- 網路安全的學習思路是怎麼樣的呢?這裡給大家詳細瞭解
- 反擊CobaltStrike
- Razer Synapse 0 day漏洞可獲得Windows 10管理員許可權
- 【安全漏洞】簡要分析復現了最近的ProxyShell利用鏈
- 【CTF大賽】2021 DASCTF July cybercms 一探再探
- 朝鮮InkySquid APT組織是怎麼利用瀏覽器漏洞感染受害者
- SM2國密演算法應用的高危漏洞——CVE-2021-3711
- 【完全漏洞】gomarkdown/markdown 專案的 XSS 漏洞產生與分析
- 【建議收藏】Windows登錄檔執行鍵安全攻防指南
- 簡單免殺繞過和利用上線的 GoCS
- PlugX變體已經悄悄更改原始碼且正式更名為THOR
- 【安全漏洞】Rocket.Chat 遠端命令執行漏洞分析
- NetGear 夜鷹 RAX40V2 裝置與韌體分析
- 【技術原創】MailEnable開發指南
- 【程式設計師比賽】CISCN 2021 ezj4va與Fix思路