專訪黑客wordexp:哪些0day漏洞沒公開?

狼人2007發表於2019-05-12

整個訪談共分八個地方做了討論,受訪者是安全行業內一個著名黑客wordexp。所採訪的目錄如下:

1. 據您所知現在都還有哪些嚴重的0DAY沒被公開?
2. 挖漏洞有什麼竅門?可以具體談談fuzzer怎樣構造樣本麼?
3. 請問您對0day市場有什麼看法?
4. 您建立wordexp這個blog的初衷是什麼?為什麼叫wordexp,而不是pdfexp或者是exclexp?
5. 請問0day是咋來的?
6. 請問在安全圈子誰是您的偶像?
7. 請問溢位這面紅旗還能打多久?
8. 您對我們雜誌以及我們小組的發展有什麼建議?

一、據您所知現在都還有哪些嚴重的0DAY沒被公開?

主流應用軟體方面目前微軟公司的IE6/7和PPT 2003 SP3前一陣子就有EXP在外面跑了,adobe公司的FLASH產品中也有一個能被利用的漏洞,拿到的人應該也不少,往後的一到三個月內就應該出補丁或是有相關新聞,當然以我們目前的視界能看到的只有很少很少的一部分,其實國外的很多安全機構比如:defense和zdi可以確定還有不少沒被公開的漏洞,只是這些漏洞可能並不是我們想象的那麼通用,成功率也許有限。

其實經常聽到朋友問這個問題,說白了就是個訊息的打聽,這個一方面要提高自已的敏感度,注意隨時關注國內外相關網站的新聞,比如NORTON和MCAFEE的網站經常有一些抓到的0DAY樣本的新聞,有時還有一些細節。還有就是訊息的共享,你提前能知道訊息並告知朋友,以後也許人家也會這樣對你。

二、挖漏洞有什麼竅門?可以具體談談fuzzer怎樣構造樣本麼?

這個問題太為難我了,很多人比我更有資格回答這個問題。我只是斗膽胡說幾句。

要說竅門,應該是不同軟體的洞竅門還不一樣,然後還要看挖洞的目的,如果是為了出名在bugtraq之類的郵件列表上能多露幾次臉,那麼可以儘可能的找那種使用者少關注少的軟體特別是WEB指令碼程式的洞。如果是公司有任務必須往CVE、MS上報多少條漏洞那麼可以找大公司的二三線產品的漏洞或是有一定使用者數但版本很久不更新的軟體的洞,而且這些洞是不一定要可利用的。如果是為了混zdi、idefense那麼可以把fuzz到的POC只要看起來有可能被利用的都提交上去,也可以找預設情況下不支援的功能的洞,多少可以騙點錢。

如果是要挖賣得出去也能利用的洞,比較通用的一些竅門我能想到的是:

1. 找大眾軟體生僻功能,生僻協議/檔案格式的洞

2. 找幾乎沒有文件化的功能的洞

3. 新版本軟體為了向下相容所支援的老協議/老檔案格式的洞

4. 新版本軟體增加的新功能/新格式

5. 不容易fuzz到的洞,比如資料是加密/壓縮/編碼過的,或是有驗效的

6. 某軟體某功能剛出了漏洞,馬上測試其它同類軟體同類功能是否有類似漏洞

7. 多分析老漏洞,善於總結前人挖漏洞的經驗技巧,很多不同的洞其實都有相類似的發掘方式和思路

第二個問題,我以檔案型漏洞舉例子,fuzz樣本的構造,首先是按照上述幾個竅門來生成原始模版,這樣相對可以弄出一些人家不太容易fuzz到的資料格式結構,當然在生成原始模版的前期功課也是很花時間的。做好樣本後就是寫具體的fuzz程式, 如果對檔案格式比較熟,那麼可以節約很多的時間,我比較喜歡的一個辦法是fuzz某一些功能的洞,那麼就先看格式,把資料在檔案中的位置先手工定位,然後小粒度的測試,要注意的是可能與某功能相關聯的資料比較雜亂資料很可能並不是連續存放的。一般1-4KB的資料要不了多少時間就可以手工測試完畢。另外具體測試時,資料替換的長度(一次替換幾個位元組),替換的內容也是非常重要的。為此我們將提供一個PPT 2003 sp3的“0day”poc,在這個“0day”中資料替換的步進就必須為1位元組,而且值也必須為一個固定的值才能觸發出錯。最後要注意的就是錯誤的捕捉,有些洞是開啟就退出程式,有些是開啟要停頓一定時間才退出程式,有些是CPU 100%程式掛起,有些是關閉時觸發,甚至有些是文件開啟後進行某種操作才會觸發,當然還有一種情況程式不退出,也沒有提示,也不出錯,象這種情況一般依靠程式/視窗/CPU來檢測錯誤的fuzz就失效了。

三、請問您對0day市場有什麼看法?

很複雜的一個圈子,搞技術的不搞技術的啥人都有,不過目前看來很多都是為了各種利益混這個圈子。簡單說就是:池塘不大但人雜,水深。

四、您建立wordexp這個blog的初衷是什麼?為什麼叫wordexp,而不是pdfexp或者是exclexp?

初衷就是團隊成員工作之餘發發勞騷,聊聊八卦的地方,希望大家別見怪。另外這個名字是因為我們幾個人搞客戶端的漏洞都比較多,所以隨便就取了這麼個名字。

五、請問0day是咋來的?

最初當然是某個人找出來的。從這個0DAY的發掘者到最終的使用者中間可能會只有一層關係,也可能會有N層關係,也許直到這個0DAY被補上,使用者也不知道洞是誰挖到的。下面舉幾個例子吧:

情況一:A挖到一個0day,但對黑產沒有了解或接觸,或者也不想靠這個賺錢,或者覺得漏洞不值錢,或者壓根以為漏洞不能夠被利用,那麼A有可能把這個漏洞公開給類似PST的網站,網站上的程式碼通常是POC或是隻有一部分細節。這時黑產中的漏洞研究者B,很快會看到這個訊息,並且分析POC然後寫出EXP。隨後B再聯絡具體的使用者C或是自已使用。最終或是因為這個0DAY的POC被公開,也或許因為EXP被防毒軟體公司抓到樣本等等,軟體廠商推出補丁。在這個過程中B可能是一個人也可能是很多水平各不相同的人,所以公開的0DAY的EXP有時是千差萬別,有的好用,有的很差。

情況二:A是黑產中的一員,挖到一個0DAY並賣給X,或是接受使用者X的定製並找到0DAY,X偷偷的使用0DAY,這樣的情況一般0DAY的生存期會比較長一些,因為這才算是真正的私洞,知道的人不多。但是在X的使用中,EXP可能被別的黑產從業者Y抓到樣本,然後Y把樣本提供給技術員T分析並重新寫出EXP,而成果Y和T分享。這時T可能再次把EXP賣給其它的黑產使用者W,同樣X或Y在使用一段時間後也可能交換或者再出手給其它的買家,而且這個過程是可以無限次重複的,當然時間越久知道的人越多,0DAY就越掉價。

情況三:白帽子A挖到一個0day,並提交給軟體廠商B。假設A是個真真正正的白帽子,也假設這個0day的確也只被A發現了,但0day到了廠商B那兒,最終會找公司內負責安全的部門對漏洞進行研究,假設這個公司內部的研究者是C,C有可能在圈子中也有其它從事黑產的朋友或是自已本身就偷偷的在參與黑產,那麼在金錢或是感情的作用下C完全有可能違背道德,寫出EXP出售或是使用。象這種情況,0day可能剛出來沒幾天就被補上了,或者圈子裡的很多人根本就沒機會見到0day,知道有這麼個東東的時候早就被補上了。

情況四:軟體廠商B在程式碼審計或軟體測試過程中發現了漏洞,自已在新版本中偷偷的補上了漏洞,但並沒有在相對老的版本中打補丁,也沒有公開任何細節和公告。 研究人員A通過補丁比較,直接定位出老版本中的漏洞位置,然後動態除錯找到觸發方式,並寫出EXP,由於很多情況下老版本的軟體反而使用者更多,所以這樣的0day還是有一定的價值。

情況五:研究員A挖到了一個Nday而這個Nday以前在圈內並不為人所知,或是研究員A研究出某Nday的新利用方式,比如說可以和某某軟體結合看起來和以前的EXP完全不一樣,或是成功率有很大的提高。研究員A以較低的價格出售給中間人B。B拿到EXP後,發現圈內還沒人有,成功率各方面也還不錯,於是號稱0day到處叫賣。如果買家發現問題,B就裝傻說自已也上當了。現在象B這樣的人其實也是不少的, 因為很多終端使用者對技術並不是特別懂,而且有些Nday測試起來也不是那麼簡單,如果剛好EXP效果不錯,可能就忽悠過去了。那麼我們能看到的情況就是,江湖傳言又出了個0day,或是某某手上有0day,但等呀等就是見不到東東,最終傳言不了了之或是被人家揭發出來。

所以要搞到0day可以自已挖,可以補丁比較,也可以分析已公開資訊快速寫出EXP,可以買,也可以換,不要命也可以偷搶騙,技術手段非技術手段都是可能的。也正是因為上述情況的多樣性,所以經常有不怎麼搞技術的人,手上也有些0day。

六、請問在安全圈子誰是您的偶像?

我的偶象是那種啥技術不懂,還能發大財的,不PF不行。  

七、請問溢位這面紅旗還能打多久?

僅僅是溢位這塊,我們團隊裡面意見也大不相同,另外幾個成員還是比較樂觀的,如果比較全面的分析這個問題,首先要看站在什麼人的角度來看這個問題,是黑產工作者是安全公司還是軟體生產商。假設以黑產工作者的角度來看,那麼我是非常非常悲觀的,因為溢位漏洞從技術角度上說:有一個通用性和成功率的問題,直觀的說就是有一個效果的問題,再深一點說就是經濟成本的問題。往後走溢位漏洞單從個數上說還是會有很多的。但是現在從編譯器和OS(/GS、/SafeSEH、/DYNAMICBASE、DEP、PEB隨機等等)到CPU(NX),軟體公司和硬體廠商已經越來越關注安全問題,幾十年來溢位漏洞最關鍵的命脈無非是資料能夠被當做程式碼來執行,以前這一點基本上不被軟硬體廠商所重視,這幾年來人家開始重視了,開始從體系上解決這個問題,那麼這個命脈也將因為各種防範檢測技術的運用被卡得越來越死,另外現在很多軟體也有自動升級功能了。

往後走是個什麼樣的情況,我想應該是上面提到的各種技術隨著新型CPU和OS的佔有率越來越高,被越來越多的應用。一個溢位漏洞的成功率將會大大下降,再加上主流軟體公司的產品也越來越安全,以後那種一個漏洞打天下的局面將會越來越少(現在黑產工作者的網馬都是漏洞合集了,無非就是提高成功率),具體的情況也許就是現在我有一個IE的0DAY,100個人看也許能中10-20個,以後可能手上能用的就變成某個第三方控制元件的0DAY,100個人看網頁就能中1-2個吧。當你使用溢位漏洞的時間,人力,金錢成本和產出完全不成正比的時候,也基本上算溢位這面紅旗倒下的時候。

估計也就三四年以後,具體指標就是上面提到的各種檢測技術的普及率,至少往後的發展不會是車到山前必有路。如果把挖溢位漏洞當成一個產業,也就是個夕陽產業。

八、您對我們雜誌以及我們小組的發展有什麼建議?

不走商業路線是正確的,反正你們那群人也不差錢,就不定期搞搞科普工作吧,為普及中國安全事業做點貢獻,同時也可以鍛鍊你們各方面的能力,繼續努力!


相關文章