安全動態(tài)

Ubuntu系統(tǒng)中居然存在任天堂紅白游戲機的漏洞

來源:聚銘網(wǎng)絡(luò)    發(fā)布時間:2016-11-22    瀏覽次數(shù):
 

信息來源:FreeBuf

最近安全研究人員Evans在Ubuntu系統(tǒng)中發(fā)現(xiàn)了一個很有意思的漏洞,這個漏洞還跟任天堂當(dāng)年的8位游戲機(NES,或者叫FC)有關(guān)。Evans表示,在Ubuntu 12.04.5版本的多媒體框架中存在一個漏洞,該漏洞可以被紅白機播放的聲音文件(NSF文件)利用——紅白機和Ubuntu系統(tǒng)有什么關(guān)系?

這個漏洞的根源實際上在于音頻解碼器libgstnsf.so,這個解碼器原本是用于支持gstreamer 0.10播放NSF格式文件的——而紅白機的音樂文件就是.NSF格式——Ubuntu系統(tǒng)在播放這種文件的時候,會實時創(chuàng)建紅白機的6502處理器和音頻硬件的虛擬環(huán)境。這樣講來也很容易理解,漏洞的影響并不算深遠(yuǎn),研究人員也只是覺得很有趣才做了深入觀察。

xcalc_from_downloads_folder.png

 Evans表示:“該漏洞一定程度上依賴于默認(rèn)安裝過程?!币驗樵赨buntu安裝過程中,系統(tǒng)會詢問“你是否期望系統(tǒng)能正確播放mp3文件? 用戶當(dāng)然會選擇“是”。這樣一來,系統(tǒng)就會安裝包括streamer-1.0-pliugins-bad(包含libgstnsf.so)在內(nèi)的各種包。

如果你對NSF文件感興趣,可以點擊這里下載cv2.nsf(這是游戲《惡魔城:暗影之王》的BGM)。這類文件都很小,要包含樣本其實也有難度,但如果要搞點小動作還是可以的。有興趣的同學(xué)可以點擊這里下載漏洞利用文件,如上圖所示。

要說攻擊代碼,實際上和紅白機的6502處理器的確是有關(guān)的。6502 CPU是一個傳奇的存在,出現(xiàn)在各種各樣的傳奇系統(tǒng)中,如任天堂紅白機,Commodore 64,BBC微型計算系統(tǒng)等。這個漏洞的代碼正是攻擊者用據(jù)說非常晦澀的6502語言編寫的,它依靠虛擬的6502處理器來解析此代碼,并提供惡意指令進行攻擊。Evans說,這個漏洞利用NES處理存儲寄存器之間的切換,在Linux用戶桌面上運行代碼。詳情可移步Evans的博客。

super-mario-wario-100693683-large.jpg

要利用該漏洞,可以采取以下方法:

1、給目標(biāo)發(fā)電子郵件,郵件中帶上可利用漏洞的附件。只要受害者下載文件,他們就會被攻擊。不過需要注意,要把文件擴展名從.nsf改為.mp3,因為絕大部分Linux桌面系統(tǒng)并不識別NSF文件——但要肯定會用播放器去播放MP3文件。大部分基于gstreamer的媒體播放器會忽略文件的后綴,自動檢測文件格式,再采用所需的解碼器。

2、采用路過式下載方案。比如用Chrome瀏覽器下載UX,受害者訪問欺騙網(wǎng)站時,就可以將文件轉(zhuǎn)儲到受害者的Downloads文件夾。在文件管理器中查看Downloads文件夾的時候,文件管理器會針對那些已知后綴的文件,自動顯示其縮略圖或預(yù)覽。而漏洞利用就可以依賴于縮略圖進行攻擊。

3、更為完整的路過式下載利用方案。Evans表示會單獨寫一篇文章來詳述整個過程(真是好執(zhí)著)。

4、利用USB設(shè)備進行攻擊。這很容易理解了,將nsf格式文件存在U盤,用戶在打開USB設(shè)備過程中,就會觸發(fā)上述縮略圖攻擊過程。

雖說這是個0day漏洞,但它造成的影響并不是很嚴(yán)重。 而且該漏洞只存在于Ubuntu 12.04.5系統(tǒng)版本中,這是一個比較老的版本了。要避開這個漏洞也非常容易,只要刪除libgstnsf.so即可。而且還不會引起功能的缺失,因為在NES中還有另外的解碼器可以播放NSF音樂。

nsf_exploit_okteta.png 

如果各位對6502感興趣,歡迎點擊下面的鏈接去研究,灰常有趣~~

 
 

上一篇:Ixia推出首款太比特級網(wǎng)絡(luò)安全測試平臺

下一篇:2016年11月22日 聚銘安全速遞