釣魚揭秘之Google虛假廣告釣魚

事件背景

近日,慢霧安全團隊和Rabby Wallet 團隊發現一種利用Google 廣告進行釣魚的攻擊手法。隨後,慢霧安全團隊聯合Rabby Wallet 團隊對此攻擊手法展開深入分析。

根據Rabby Wallet 團隊的描述,團隊並未購買任何Google 廣告,然而這個假廣告卻跳到了真正官網,莫非釣魚團夥花錢推廣真錢包?

從Google 搜尋關鍵字情況來看,排在前兩位的搜尋結果都為釣魚廣告,然而第一條廣告的連結卻很反常,它顯示的明明是Rabby Wallet 的官方網站地址https://rabby. io,釣魚團夥為什麼要這麼做呢?

透過追蹤發現,釣魚廣告有時會跳到真正官方地址https://rabby.io,而在多次更換代理商到不同地區後,則會跳到釣魚地址http://rebby.io,並且該釣魚地址會更新改變。在編寫本文時,該連結跳到釣魚地址https://robby.page[.]link/Zi7X/?url=https://rabby.io?gad_source=1。

技術分析

我們先說下什麼是302,302 是一種HTTP 狀態碼,代表暫時重定向(Found)。當伺服器收到客戶端的請求後,如果需要暫時將請求的資源轉移到另一個位置,就會傳回302 狀態碼,同時在回應頭中包含一個Location 字段,指示客戶端應該重定向到的新位置。這種重定向是暫時性的。

經過分析發現,該釣魚廣告的鏈接會經過多次的302 跳轉,如下圖所示,使用curl 命令請求該鏈接,第一次會302 跳轉到釣魚地址https://rabby.iopost.ivsquarestudio. com,然而在第二次302 跳轉時卻出現了兩種情況:

1. 當我們使用curl 指令請求上述Location 地址https://rabby.iopost.ivsquarestudio.com,會302 跳到真正官方地址https://rabby.io。

2. 但是,在我們使用curl 指令模擬正常瀏覽器請求上述Location 位址https://rabby.iopost.ivsquarestudio.com 的情況下(攜帶請求頭包括User-Agent、Accept、Referer、Accept-Encoding 等欄位) ,則會302 跳到一個新的Location 位址https://dnovomedia.com?uid=087aa42d-724b-4a1e-bae7-f1f700ce71e6。

由此可見,釣魚連結在第二次302 跳轉時會進行一次判斷,當檢測到非正常瀏覽器的請求時,會重定向到官方地址;而檢測到正常瀏覽器的請求行為並且地區合理,則重定向到釣魚地址。

我們追蹤發現最後一次跳轉的釣魚地址為https://rabbyo.com/index.php?uid=087aa42d-724b-4a1e-bae7-f1f700ce71e6。

打開該釣魚鏈接,發現這個釣魚頁面幾乎克隆了真官網網頁的大部分內容:

透過追蹤302 跳轉,我們發現以下釣魚連結地址:

https://robby.page.link/Zi7X

https://rabby.iopost.ivsquarestudio.com

https://dnovomedia.com?uid=087aa42d-724b-4a1e-bae7-f1f700ce71e6

https://rabbyo.com

https://rebby.io

透過威脅情報平台查詢rebby.io 和rabbyo.com 這兩個釣魚域名,發現它們的註冊時間都在2024 年1 月。

木馬分析

查看程式碼,發現攻擊者使用的是俄語:

釣魚部署後台程式使用Fastpanel(Fastpanel 是俄語地區主機商開發的虛擬主機管理面板):

接著對釣魚網頁的源代碼進行審查發現,點擊下載桌面版本會進行一次客戶端校驗:

如果檢查發現目前環境為Mac 電腦,則會跳到下載位址https://brandsrocket.com/data/rabby-wallet-desktop-installer-x64-latest.dmg。

可以發現該木馬程式佔用的儲存空間非常小,只有1.1 MB:

將木馬程式上傳到線上威脅分析網站進行分析,發現該木馬樣本在編寫本文19 天前已經被分析過,並被多個殺毒引擎識別為木馬後門程式。

(https://www.virustotal.com/gui/file/ce6169ae0efe851473a189add9c88f96fdebe1ff3f549c457339e25d9e6feca8/detection)

釣魚背後的技術

可以看到,從廣告投放到釣魚網站製作,再到木馬製作,釣魚團夥一套操作下來行雲流水。讓人看不懂的是,為何谷歌搜尋的廣告訊息顯示的是官方地址?又為何後續經過了多次的302 跳轉?分析發現,關鍵操作在於釣魚團夥利用了Google 自家的Firebase 短連結服務的302 跳轉來欺騙谷歌的展示。

為了讓這個過程更清楚,我們還需要先了解Google 廣告的投放機制(只要擁有Google帳號,就可以登入Google的廣告管理網站https://ads.google.com 進行推廣設定):

1. 首先,需要在廣告管理網站新建一個目標為網站流量,類型為搜尋的廣告活動。

2. 設定廣告投放的價格和投放次數資訊後,選擇廣告投放的地區和語言。這裡也解釋了為什麼在不同地區或不同語言環境下搜尋關鍵字不一定會出現廣告。

3. 到了關鍵一步,設定追蹤模版。追蹤模板是Google Ads 的高級功能,可讓第三方追蹤廣告連結。

我們注意到釣魚頁面用的第一個跳轉連結網域為page.link,這個其實是Google的Firebase 的一個短地址服務,該服務允許綁定任意的重定向地址到page.link 的一個子網域中。

由於第三方追蹤連結需要是經過谷歌認證過的地址,而page.link 剛好是谷歌自家的域名,於是釣魚團夥繞過了這個限制。

4. 廣告投放出去後,由於谷歌並不會實時檢查302 跳轉的鏈接是否發生了改變,也不會實時修改廣告信息,因此釣魚團夥會在廣告投放一段時間後,修改重定向到釣魚網址。

類似的釣魚套路也出現在各種聊天軟體上。以Telegram 這款聊天軟體為例,當聊天時發送一個URL 鏈接,Telegram 後台會抓取URL 鏈接域名、標題和圖標進行預覽展示。

(此圖僅供示範)

然而,在抓取預覽資訊時,Telegram 並沒有阻止302 跳躍。因此,如果用戶只根據頁面的資訊判斷,然後點擊鏈接,則可能會跳到預設的釣魚地址。

總結

請廣大用戶認準Rabby 錢包官方地址https://rabby.io,不可相信任何搜尋結果顯示出來的廣告投放地址;如果不幸中招,請第一時間轉移錢包資金,並對個人電腦進行全面的殺毒排查;平常在點擊網站連結前要保留一份懷疑;更多的安全知識建議閱讀慢霧安全團隊出品的《區塊鏈黑暗森林自救手冊》:https://github.com/slowmist/Blockchain-dark -forest-selfguard-handbook/blob/main/README_CN.md。

Total
0
Shares
Related Posts