2016/10/03

10/01,簡單分析 Facebook 影片連結散布病毒

10/01 晚間,Facebook 上的某些朋友開始大量在別人的塗鴉牆上張貼影片連結,這種根本想都不用想當然有問題啊 XD

雖然現在瀏覽器的安全性都相當不錯,不太可能因為打開了某個網頁就中毒 (除非攻擊者很神,能夠利用作業系統、瀏覽器等的零時差漏洞,不然大部分都是藉由釣魚、社交工程的手段),但是一般而言還是建議不要亂點來路不明的連結或檔案,除非你很清楚自己在做什麼。

因為看到有些同學不幸中標,所以我就想來分析一下原因 (這樣會不會人很差啊......)。

我在虛擬機裡打開那個影片連結,結果什麼事都沒發生。以 curl -v 連結那個網站,得到的回應是 HTTP 狀態 "302 Found",代表「原本的網路資源已經暫時移動至他處」,應該是我來晚了吧。

之後,我去找 Google 的網頁快取,結果還真的有快取到那個網站被撤下前的版本。看一看原始碼,很明顯有問題的當然就是這段 Javascript 啊:

很難讀? 那就 js-beautify 一下。他的字串都故意用 Character escape sequence 來表示 (下圖上半,那些 "\x??" 的字串,其中 "??" 是一個 16 進位的數字),目的當然就是要找分析者的麻煩。不過,要轉換成容易看懂的型態其實很簡單啦 (下圖下半)。

看不懂? 我寫一下註解這樣就簡單了吧!

簡單來說,他首先建立一個 XMLHttpRequest 物件,之後向一個 GeoIP 服務的 API 發出連線請求,如此一來就可以判斷訪客來自於哪個國家。如果訪客來自美國,則這段 Javascript 就會停止執行,沒有後續動作;如果不是,訪客就會被轉址到某個網站,圖中我已經把這個網站馬賽克了避免誤觸。不過呢......,倒是可以提示一下,網站的內容是成人限定。

因此,這些人會中鏢的原因已經水落石出--我就不明講了。

資訊安全最弱的環節往往是人類本身。

No comments: