The Register:神秘Web攻擊綁架剪貼簿!
轉貼自:http://armorize-cht.blogspot.com/2008/08/registerweb.html
本來要睡午覺了,看到 The Register八月十五號這篇,突然好奇起來:
The Register: Mystery web attack hijacks your clipboard(神秘 Web 攻擊綁架剪貼簿)
要讓我一腳已經踏到床上又起來,當然要有很好的原因。這篇引起我興趣的原因有:
一、歐洲最大 IT 媒體之一的 The Register 報的
二、「神秘」這兩個字--最近資安界已經很久沒有「神秘」的攻擊了...
三、「Web 攻擊」--我對 Web 安全的議題特別有興趣,而 The Register 也還蠻專業的,沒有寫成「Web 病毒」。沒錯,Web 上的威脅大部分不是病毒,所以用攻擊(attack)來形容通常比較貼切,所以似乎記者還算專業。
好,爬起來看看寫些什麼。小標題:「No, MACs are not immune(抱歉,MAC 並不免疫)」。
OK,文章基本上在講,最近有一種 Web 上的攻擊,綁架使用者的剪貼簿,不論你貼上什麼東西,等到貼出來,都會變成一個惡意的連結。報導中:
一、列舉了一堆受害者上網的留言(這裡 這裡 這裡 這裡)
二、報導說這些受害的使用者有用 Windows 系統的也有用 MAC OS X 系統的,雖然以上四篇都是用 Firefox,但是不排除其他瀏覽器也可能受攻擊。
三、報導建議使用 Firefox 的 noscript 外掛。
OK,福爾韋恩小偵探出現了...根據上述證據,福爾韋恩的推論:
一、記者厲害,沒寫成病毒,而寫成 Web 攻擊。可能因為他引述的那四篇求救文,有人是跑 MAC OS 2 而有人跑 Windows,所以他從中知道,大概不是病毒,而是一種對瀏覽器的攻擊。
二、報導說惡意的網址是 xp-vista-update.net(點下去自行負責,我剛才用 HackAlert 掃過沒有問題,但是現在沒有問題不代表你點的時候沒有問題,這種惡意網頁隨時在改內容)。做一下 whois,這個網域電話是南斯拉夫的、DNS 是惡名昭彰的 estboxes.com、IP 為 83.229.251.28 是俄羅斯的 IP。福爾韋恩:有目的、組織性攻擊之可能提升!
三、福爾韋恩依稀記得,IE 才是笨到會讓 javascript 存取剪貼簿的瀏覽器(CVE-2002-1671),而且 2002 年被報有問題,到 2006 年底出IE 7 才把問題修掉。可是記者說受害者都是用 Firefox... 聰明的 Firefox 預設是不讓 javascript 存取剪貼簿的... 所以兇手...一定是最近 PDP與 RSnake都一直在講的--Adobe Flash!其實福爾韋恩也依稀記得,Flash 可以存取剪貼簿...
四、報導說受害者是在瀏覽 MSNBC.COM 時被攻擊綁架剪貼簿的。福爾韋恩:很有可能是駭客組織向 MSNBC.COM 買了廣告 banner,並在廣告中利用 Flash 來達成攻擊。以 MSNBC.COM 的流量,影響人數應該不少。
是否真的是這樣呢?
再確定技術細節以前,我們先來看看,這種攻擊的效果是什麼?如果只是單純能寫入剪貼簿,這樣的一個網頁(或廣告頁)能造成什麼威脅?因為其時還有第五點:
五、即使這種攻擊可以做到,還真的有人受害出來求救,表示技術面如何達到先不管,但這種攻擊確實有其威脅性。但是如果只是寫入剪貼簿,那威脅性在哪?
Google 了一下,發現威脅自七月中開始,並蠻多人抱怨的:
七月12日,有人被攻擊,無法解除狀況,貼文出來,並用趨勢掃瞄未發現病毒。
八月08日,有人貼文對美國大選發表意見,卻遭攻擊,直接把惡意連結貼出來。該使用者「Old Owl333」在貼文的時候一定是先 CTRL-C 複製然後再 CTRL-V 貼出,沒想到剪貼簿遭綁架,貼出了惡意的連結:
八月07日,有人快瘋了,剪貼簿一直被植入惡意連結。
惡意連結到底連到哪裡?做什麼?
八月10日,Kayrac做了分析:
惡意連結「http://xp-vista-update.net/?id=xx」根據後面參數「id=xx」之不同,轉址到不同的網站,但是大部分都是到某網站騙使用者下載一個偽掃毒軟體「Internet Scanner 2009」或「AV 2009」。根據 八月10日,Kayrac貼的文,把此程式放到 virustotal 測試,沒有幾家會偵測出它是偽的。
其實如果 Google 「xp-vista-update」,可以發覺中獎而跑出來貼文的還真不少。但是這邊就顯示了 The Register 記者的功力:大部分受害者貼文,都用了「病毒(virus)」一辭來形容此攻擊,但是記者卻正確的用了 「Web 攻擊」來形容。
調查到此,福爾韋恩已經確定,此為有組織性,有目的性之 Web 攻擊行為,其攻擊手法的確會造成威脅,並確實可以達到攻擊者的目的。
好了,現在來調查技術上到底如何達成的。我先寫一段可以寫剪貼簿,但是只在 IE 中有效的 javascript。為了此 javascript 顯示出來好看,我用 syntaxhighligher來顯示。syntaxhighlighter是很流行的一套 javascript,可以顯示很漂亮的程式碼。以下是一段在 IE 執行時可以寫入剪貼簿的 javascript:
執行起來如以下,如果您正在用 IE 可以按下按鈕看看,然後再找地方 CTRL-V 貼上,就會發現剪貼簿被改了。但是如果是 IE 7 以上,會發現 IE 會問你是否允許存取剪貼簿。
既然 IE 7 已經修正此安全性漏洞,firefox 上則預設不允許,除非你修改設定,不然連問都不會問,反正就是不行... 那麼,唯一的兇手就是... flash 了。
其實上方用來顯示漂亮程式碼的 syntaxhighligher,早就透露了破案線索了。仔細觀察,程式碼視窗上面有一個灰色的小字:「copy to clipboard」。試試看按下去,你會發現程式碼已經貼到您的剪貼簿了,但是 IE 沒有問你是否允許,firefox 也直接 work... :)
為何?都是 Adobe flash 的漏洞... 但是這種東西比漏洞嚴重,漏洞會被修改,這種算是「功能」,短期內不太可能改。為何?因為一旦功能公開,就會有很多人使用,一旦大家用了一個功能,要將此功能取消,就很不容易了。如果您 Google 「_clipboard.swf」或「clipboard.swf」或「flash copier」就會發現有多少程式都用了這個偉大的功能了。
這個手法主要是利用Flash ActionScript:System.setClipboard這個含式來寫入剪貼簿。
程式碼分兩部分,一部分是一小段 Flash ActionScript,編譯成一個 flash SWF 檔(這裡可以下載),另一部分則是一小段 javascript。
Flash action script 的程式碼如下(這裡可以下載編譯好的 SWF 檔):
Javascript 程式碼則如下:
var flashcopier = 'flashcopier';
if(!document.getElementById(flashcopier)) {
var divholder = document.createElement('div');
divholder.id = flashcopier;
document.body.appendChild(divholder);
}
document.getElementById(flashcopier).innerHTML = '';
var divinfo = '';
document.getElementById(flashcopier).innerHTML = divinfo;
好了,現在您是否想被「駭」一下呢?以下是我猜測這次攻擊的程式碼:
跑起來就像下面這樣,按下按鈕就綁架你的剪貼簿:
原來元兇就是 Adobe Flash 啊!您猜到了嗎?
於是福爾韋恩調查成功,回去寫報告曰:
一、此次 The Register 報導之「神秘 Web 攻擊綁架剪貼簿」事件,元兇再次為 Adobe Flash。
二、此為 Flash 存在已久之功能,許多網站皆運用此功能,故短期內 Adobe 不容易取消此功能,威脅將持續一段時間。
三、了解此類攻擊甚為重要,此類即今年與去年各大資安會議,Jeremiah、PDP與 RSnake 三位研究員一直在提的 client-side 攻擊。由於這些攻擊大部分利用第三方外掛之漏洞甚至「功能」,問題短時間不易改善。試想如果攻擊 IE 漏洞,則攻擊對 firefox 就無效;然針對各瀏覽器皆有普遍安裝之第三方外掛,如 Adobe Flash、PDF 等攻擊,則可以跨瀏覽器。本事件便是一例。
四、此類為 Web 攻擊,其中 Javascript 又可以經過各種方式加殼與變形,防毒軟體幾乎沒有可能偵測到。
五、從兩方面觀察:A) 散播 Web 攻擊之伺服器所屬地區 以及 B) 諸多使用者確實被攻擊之案例,此為有組織性,有目的性之 Web 攻擊行為,其攻擊手法的確會造成威脅,並確實可以達到攻擊者的目的。
六、防禦的方法:可以選擇使用 firefox 外掛 noscript 與 FlashBlock。
看了上述事實陳列,您認為福爾韋恩這次的調查分析正確嗎?
;-)