惡意軟體 公有雲 Google表單 釣魚攻擊

網路釣魚/惡意攻擊無孔不入 合法公有雲服務亦須小心

免費可信加密易實作 駭客屢濫用Google表單

2021-12-02
惡意軟體濫用合法的公用雲服務,並不是什麼新鮮事。惡意行為者都會使用該服務的Web介面來抓取被儲存的二進位檔案、會影響效能的特定資料、回報執行結果,或從受感染系統中竊取資料。

 

今年稍早,在研究惡意軟體如何使用傳輸層安全(TLS)通訊來隱藏命令和控制的流量和下載時,發現流向Google雲端服務的流量多得不成比例,而且從遙測中發現目的地有大量的Google表單(Google Forms)頁面。

惡意軟體濫用合法的公用雲服務,並不是什麼新鮮事。過去,惡意軟體使用Google文件(Google Docs)和Google試算表(Google Sheets)作為其感染鏈與命令和控制(C&C)系統的工具,這與它們使用GitHub、Pastebin、Telegram和Discord等服務的方式非常相似。無論是哪一種情況,惡意行為者都會使用該服務的Web介面來抓取被儲存的二進位檔案、會影響效能的特定資料、回報執行結果或從受感染系統中竊取資料。由於Google表單受到TLS保護,只有在使用Web代理伺服器的情況下才有辦法檢查提交到表單的資料內容,否則這些流量看起來就像是一般合法的Google應用程式通訊。

濫用Google表單有多種形式。在某些情況下,Google表單會被用在初級的網路釣魚攻擊。有問題的Google表單會試圖說服受害者將他們的憑證(帳號和密碼)輸入到一個看似登入頁面的表單中(儘管Google表單的所有頁面都用文字警告使用者不要在表單中輸入密碼)。這些表單通常和惡意垃圾郵件活動脫不了關係。

此外,還發現許多惡意的Android應用程式,這些應用程式會在使用者介面中使用Google表單(但並非出於惡意目的)。以下是一些惡意Windows應用程式的範例,它們使用對Google表單頁面的Web請求從電腦中竊取資料。為了示範用途,我們使用Python指令碼撰寫的特製Web請求重現資料外洩的功能,透過Google表單將系統資料推送到一份Google試算表進行彙整。

教騙子釣魚

最複雜的網路釣魚攻擊會使用HTML來模擬它們鎖定的服務網站。但是,詐騙新手可以並確實使用Google表單的現成設計範本,透過偽造的「安全」電子商務頁面竊取付款資料,或是建立如果不仔細檢查就會誤信的網路釣魚表單。

垃圾郵件中最常出現的Google表單之一,就是詐騙電子郵件中的「取消訂閱」連結。Sophos已經攔截了許多鎖定Microsoft線上帳戶(包括Office 365)的垃圾郵件網路釣魚活動。垃圾郵件聲稱,如果收件者沒有立即驗證電子郵件帳戶,帳戶就會被關閉,然後提供一個執行驗證的連結——一個Google表單連結,導向到一個有Microsoft圖案的表單(但其實它仍是一個Google表單)。如圖1所示,這封電子郵件鎖定的是Outlook.com和Hotmail使用者。

圖1  鎖定Outlook.com和Hotmail使用者的郵件。

按下「立即更新(UPDATE NOW)」連結,就會連線到此Google表單,如圖2所示。

圖2  連線至Google表單。

最近一個類似的垃圾郵件活動以非常簡單的誘餌鎖定Office 365用戶,如圖3所示。

圖3  鎖定Office 365用戶的垃圾郵件。

如圖4所示,連線後的網路釣魚頁面同樣很簡單。

圖4 連入的網路釣魚頁面。

在以上兩種情況中,輸入到表單的任何資料,都會被儲存在一份Google試算表文件中,網路釣魚活動操作者隨時可以匯出它們。不過,由於這些連結都導向docs.google.com/forms,並且網頁底部顯示「Google表單」,還有警告「切勿透過Google表單提交密碼」,因此很容易就能識別它們是詐騙。儘管如此,它們被使用的頻率還是很頻繁,顯示竊取企業和個人電子郵件帳戶的騙子仍在繼續使用。

惡意軟體和可能不需要的應用程式

在研究中發現了許多疑似的惡意Android應用程式套件,它們直接使用Google表單來取得資料,連後端網站程式碼都不用編寫。其中,大部分是可能不需要的應用程式(PUAs)或使用Android廣告軟體元件的應用程式。它們大多使用Google表單作為使用者輸入的介面。例如,SnapTube是一款透過網路廣告詐騙為開發者獲利的影片App,其中包含一個讓使用者反映意見的Google表單頁面(圖5)。

圖5  SnapTube透過網路廣告詐騙來獲利。

在這些情況下,使用者都會看到Google表單頁面。但是,一些應用程式對Windows使用者可能有害,因為它們暗中使用Google表單頁面,以程式設計的方式編寫Web請求,並在使用者不知情的情況下發送資料。另外,在遙測時還發現PowerShell指令碼與Google表單互動的證據。

這段時間也觀察到一個明顯使用Google表單外洩資料的例子,是一個名為checkbrowser.exe的執行檔。此檔案來自一個託管有毒的義大利文WordPress部落格的網域(tecnopc.info)。它是一個編譯好的AutoIT指令碼。當它被執行時,該程式會修改Windows的憑證信任列表、修改遠端存取服務API,並且刪除Windows登錄檔中與Internet Proxy設定和其他Internet安全政策相關的設定(圖6)。

圖6  checkbrowser.exe的執行檔會刪除Windows登錄檔中與Internet Proxy設定和其他Internet安全政策相關的設定。

除此之外,該AutoIT指令碼還會收集系統資料,包括語言設定、滑鼠設定和機器名稱等。這些動作似乎是用來躲避沙箱,防止指令碼在某些語言環境中執行而被偵測出來。最終,它會透過一個安全的HTTP請求將某些系統資訊以Google表單的提交格式匯出到docs.google.com。

這裡使用Fiddler攔截這個請求,並且取得表單的統一資源標識符(URI)。稍微調整了這個請求的格式,以便觀察表單本身的外觀,如圖7所示。

圖7  調整請求的格式來觀察表單本身的外觀。

發現表單中的欄位(如用戶端名稱、電腦名稱、使用者名稱、作業系統版本、Internet Explorer版本)與發送到表單的POST請求中的內容相符(圖8)。

圖8  表單中的欄位與發送到表單的POST請求中的內容相符。

表單物件參數的陣列中,GET請求中每個項目的編號,與遠端表單中每個欄位的容器相關的編號相符。例如,圍繞client name項目的

標籤,如圖9所示。

圖9  圍繞client name項目的
標籤。

陣列的第一個元素是項目ID 1633051194,它與GET請求中的參數相符。在觀察到的情況與進行的測試中,該欄位的值始終為Sconosciuto(亦即義大利文的「未知」)。

而另一個使用俄文Google表單外洩資料的惡意軟體也使用類似策略,其使用curl命令來張貼資料,外流繪圖卡、螢幕解析度和處理器資料等資訊。

製作你自己的Google表單外洩工具

為了瞭解如何找出這種以程式設計方式濫用Google表單的情形,我決定自己進行一些實驗。所需要的只是一個可消耗的Google帳戶、一個特別建立的表單,以及用於擷取本機系統資料並貼入到HTML POST請求中的程式碼。

如圖10所示,先使用這個Google帳戶建立了一個表單,然後使用Firefox的開發人員工具打開表單,找出表單項目標識碼。 為了得到實際的表單提交格式,輸入一些測試資料,並從Firefox主控台查看這些資料(圖11)。

圖10  使用Firefox的開發人員工具打開表單,找出表單項目標識碼。
圖11  輸入並查看測試資料。

唯一需要的表單資料是entry.[number],你不必在POST請求中包含其他表單資料。

確定了正確的表單項目ID後,編寫一個簡短的Python指令碼來抓取一些Windows系統資訊,並將其轉存到表單中。使用Python的子處理程序庫,先向作業系統傳送了一些PowerShell命令(圖12)。最終,輸出命令回傳POST的HTML結果,可以從試算表看到回傳給表單的資料(圖13)。

圖12  向作業系統傳送PowerShell命令。
圖13  從試算表檢視回傳給表單的資料。

只需幾行指令碼,就有了一個(非常粗略的)可用的外洩工具,它可以很容易地在PowerShell或任何其他指令碼語言中執行。

易於濫用

雖然絕大多數Google表單濫用仍然常見於入門的網路釣魚和詐騙垃圾郵件中,但它被用於資料外洩、惡意軟體命令和控制方面的潛力仍然很高——只因為它很容易實作。儘管Google經常關閉大量濫用應用程式(包括Google表單)的帳戶,但惡意軟體針對性使用Google表單的情形還沒被發現。

越來越多惡意軟體攻擊者濫用Google和其他合法的雲端服務,原因很容易理解:這些服務廣受組織信任、它們使用TLS進行保護,而且它們基本上是免費的基礎架構。

Sophos產品可防禦大多數包含表單的網路釣魚惡意垃圾郵件,並可偵測如上惡意軟體技術中的系統資訊收集和外洩行為。但是電子郵件使用者應時時保持警惕,不要試圖點擊連線到Google表單(或其他合法服務)的連結來取得憑證。而且組織不應預設信任流向「已知良好」網域的TLS流量,例如docs.google.com。

(SophosLabs感謝Jagadeesh Chandaraiah為本報告做出的貢獻)

<本文作者:Sophos資深威脅研究員。在此之前,曾任Ars Technica的IT和國家安全編輯,專注於資訊安全和數位隱私問題、網路犯罪、網路間諜和網路戰等領域。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!