軟件漏洞分析入門 [ 引子 ]

1? 引子
?
To?be?the?apostrophe?which?changed?“Impossible”?into?“I’m?possible”
?
——?failwest
?
?
涼風有訊,秋月無邊。
?
您是否夢想過能夠像電影上演的那樣黑進任意一臺機器遠程操控?您的夢想是否曾經被書店里邊滿架子的反黑,防毒,擒木馬的掃盲書強暴的體無完膚?
?
從今天開始,準備陸續發一系列關于軟件漏洞方面基礎知識的帖子,包括軟件漏洞的研究價值,研究方法,堆棧利用的基礎知識,shellcode的調試方法,漏洞調試方法,漏洞分析,漏洞挖掘,軟件安全性測試等等,此外還將介紹一些metasploit架構和fuzz測試方面的入門知識。
?
軟件漏洞分析,利用,發掘是當今安全技術界中流砥柱級別話題,如果您關注過black?hat或者defcon之類的頂級安全技術峰會的話,就知道我不是在吹牛了。可惜的是這方面的中文資料很少,偶爾有一篇比較優秀的文章但又不夠系統,目前為止也沒有形成像破解技術這樣的討論風氣,菜鳥們在黑燈瞎火的夜晚瞎折騰,沒有交流和指導,興趣就像被拔了氣彌兒芯的車胎,很快就泄氣了。
?
雖然漏洞分析與利用與破解在技術上各有側重點,但逆向基礎是共同的。以我個人的經驗,能做crack的朋友只要稍加進修就能入門。就算沒有任何匯編基礎和逆向經驗的朋友也不用擔心,因為這個系列的文章將完全面向菜鳥,只要會C語言,跟著文章用ollydbg調試幾次連猜帶蒙的也應該能夠上手。
?
今天我們暫時不談堆棧這些技術細節,先讓我們從比較宏觀的地方著手。
?
如果您經歷過沖擊波蠕蟲病毒的攻擊話,應該明白操作系統出現漏洞時的后果。
?
漏洞往往是病毒木馬入侵計算機的突破口。如果掌握了漏洞的技術細節,能夠寫出漏洞利用(exploit),往往可以讓目標主機執行任意代碼。
?
軟件漏洞的技術細節是非常寶貴的資料,尤其是當軟件漏洞對應的官方補丁尚未發布時,只有少數攻擊者秘密的掌握漏洞及其利用方法,這時往往可以通過漏洞hack任意一臺internet上的主機!
?
這種未被公開的漏洞被稱作zero?day?
( 0? day ) 。可以把 0day 理解成未公開的系統后門。由于 0day 的特殊性質和價值,使得很多研究者和攻擊者投身于漏洞挖掘的行列。一個 0day 漏洞的資料根據其影響程度的不同,在黑市上可以賣到從幾千元到幾十萬元不等的價錢。因此 0day 一旦被發現往往會被當作商業機密,甚至軍事機密~~~~如果把沖擊波蠕蟲的shellcode從原先的一分鐘倒計時關機改為窮兇極惡的格式化硬盤之類~~~~~那么花一百萬買這樣一個電子炸彈可比花一百萬買一枚導彈來得劃算~~~~~~試想一下某天早上起來發現全國的windows系統都被格式化,計算機系統完全癱瘓造成的影響和一顆導彈在城市里炸個坑造成的影響哪個更嚴重?
?
在今天這一講的最后,讓我們回顧一下幾個可能曾經困惑過您的問題:
?
我從不運行任何來歷不明的軟件,為什么還會中病毒??
?
如果病毒利用重量級的系統漏洞進行傳播,您將在劫難逃。因為系統漏洞可以引起計算機被遠程控制,更何況傳播病毒。橫掃世界的沖擊波蠕蟲,slamer蠕蟲等就是這種類型的病毒。?
如果服務器軟件存在安全漏洞,或者系統中可以被RPC遠程調用的函數中存在緩沖區溢出漏洞,攻擊者也可以發起“主動”進攻。在這種情況下,您的計算機會輕易淪為所謂的“肉雞”。
?
我只是點擊了一個URL鏈接,并沒有執行任何其他操作,為什么會中木馬??
?
如果您的瀏覽器在解析HTML文件時存在緩沖區溢出漏洞,那么攻擊者就可以精心構造一個承載著惡意代碼的HTML文件,并把其鏈接發給您。當您點擊這種鏈接時,漏洞被觸發從而導致HTML中所承載的惡意代碼(shellcod)被執行。這段代碼通常是在沒有任何提示的情況下去指定的地方下載木馬客戶端并運行。
?
此外,第三方軟件所加載的ActiveX控件中的漏洞也是被“網馬”所經常利用的對象。所以千萬不要忽視URL鏈接。
?
Word文檔、Power?Point文檔、Excel表格文檔并非可執行文件,他們會導致惡意代碼的執行嗎?
?
和html文件一樣,這類文檔本身雖然是數據文件,但是如果Office軟件在解析這些數據文件的特定數據結構時存在緩沖區溢出漏洞的話,攻擊者就可以通過一個精心構造的word文檔來觸發并利用漏洞。當您在用office軟件打開這個word文檔的時候,一段惡意代碼可能已經悄無聲息的被執行過了。
?
好,第一講暫時結束,如果您有興趣,不妨關注一下這個系列,說不定聽完幾講之后會深深的愛上這個門技術。
?
順便預告一下本系列講座的內容:
2_ 漏洞利用,分析,挖掘概述
3_ 初級棧溢出A
4_ 初級棧溢出B
5_ 自制簡單的shellcode
6_ 初級棧溢出C
7_windows 下shellcode的開發
在后面嘛,還沒確定下來,大概會給幾個真實的windows漏洞調試案例,給大家一起交流
?
歡迎大家踴躍討論,積極討論,大肆討論,猛烈討論