信息來源:FreeBuf
最近安全研究人員Evans在Ubuntu系統(tǒng)中發(fā)現(xiàn)了一個(gè)很有意思的漏洞,這個(gè)漏洞還跟任天堂當(dāng)年的8位游戲機(jī)(NES,或者叫FC)有關(guān)。Evans表示,在Ubuntu 12.04.5版本的多媒體框架中存在一個(gè)漏洞,該漏洞可以被紅白機(jī)播放的聲音文件(NSF文件)利用——紅白機(jī)和Ubuntu系統(tǒng)有什么關(guān)系?
這個(gè)漏洞的根源實(shí)際上在于音頻解碼器libgstnsf.so,這個(gè)解碼器原本是用于支持gstreamer 0.10播放NSF格式文件的——而紅白機(jī)的音樂文件就是.NSF格式——Ubuntu系統(tǒng)在播放這種文件的時(shí)候,會(huì)實(shí)時(shí)創(chuàng)建紅白機(jī)的6502處理器和音頻硬件的虛擬環(huán)境。這樣講來也很容易理解,漏洞的影響并不算深遠(yuǎn),研究人員也只是覺得很有趣才做了深入觀察。
Evans表示:“該漏洞一定程度上依賴于默認(rèn)安裝過程?!币?yàn)樵赨buntu安裝過程中,系統(tǒng)會(huì)詢問“你是否期望系統(tǒng)能正確播放mp3文件? 用戶當(dāng)然會(huì)選擇“是”。這樣一來,系統(tǒng)就會(huì)安裝包括streamer-1.0-pliugins-bad(包含libgstnsf.so)在內(nèi)的各種包。
如果你對(duì)NSF文件感興趣,可以點(diǎn)擊這里下載cv2.nsf(這是游戲《惡魔城:暗影之王》的BGM)。這類文件都很小,要包含樣本其實(shí)也有難度,但如果要搞點(diǎn)小動(dòng)作還是可以的。有興趣的同學(xué)可以點(diǎn)擊這里下載漏洞利用文件,如上圖所示。
要說攻擊代碼,實(shí)際上和紅白機(jī)的6502處理器的確是有關(guān)的。6502 CPU是一個(gè)傳奇的存在,出現(xiàn)在各種各樣的傳奇系統(tǒng)中,如任天堂紅白機(jī),Commodore 64,BBC微型計(jì)算系統(tǒng)等。這個(gè)漏洞的代碼正是攻擊者用據(jù)說非常晦澀的6502語言編寫的,它依靠虛擬的6502處理器來解析此代碼,并提供惡意指令進(jìn)行攻擊。Evans說,這個(gè)漏洞利用NES處理存儲(chǔ)寄存器之間的切換,在Linux用戶桌面上運(yùn)行代碼。詳情可移步Evans的博客。
要利用該漏洞,可以采取以下方法:
1、給目標(biāo)發(fā)電子郵件,郵件中帶上可利用漏洞的附件。只要受害者下載文件,他們就會(huì)被攻擊。不過需要注意,要把文件擴(kuò)展名從.nsf改為.mp3,因?yàn)榻^大部分Linux桌面系統(tǒng)并不識(shí)別NSF文件——但要肯定會(huì)用播放器去播放MP3文件。大部分基于gstreamer的媒體播放器會(huì)忽略文件的后綴,自動(dòng)檢測(cè)文件格式,再采用所需的解碼器。
2、采用路過式下載方案。比如用Chrome瀏覽器下載UX,受害者訪問欺騙網(wǎng)站時(shí),就可以將文件轉(zhuǎn)儲(chǔ)到受害者的Downloads文件夾。在文件管理器中查看Downloads文件夾的時(shí)候,文件管理器會(huì)針對(duì)那些已知后綴的文件,自動(dòng)顯示其縮略圖或預(yù)覽。而漏洞利用就可以依賴于縮略圖進(jìn)行攻擊。
3、更為完整的路過式下載利用方案。Evans表示會(huì)單獨(dú)寫一篇文章來詳述整個(gè)過程(真是好執(zhí)著)。
4、利用USB設(shè)備進(jìn)行攻擊。這很容易理解了,將nsf格式文件存在U盤,用戶在打開USB設(shè)備過程中,就會(huì)觸發(fā)上述縮略圖攻擊過程。
雖說這是個(gè)0day漏洞,但它造成的影響并不是很嚴(yán)重。 而且該漏洞只存在于Ubuntu 12.04.5系統(tǒng)版本中,這是一個(gè)比較老的版本了。要避開這個(gè)漏洞也非常容易,只要?jiǎng)h除libgstnsf.so即可。而且還不會(huì)引起功能的缺失,因?yàn)樵贜ES中還有另外的解碼器可以播放NSF音樂。
如果各位對(duì)6502感興趣,歡迎點(diǎn)擊下面的鏈接去研究,灰常有趣~~