Robot using computer with virus

解決電腦中毒

2025-02-07

前言:很久沒有遇過電腦中毒

這次我完全沒有主觀意願去安裝來路不明的軟體、破解檔或是奇怪的遊戲外掛。

異常徵兆

Chrome 一直跳出驗證是否是我的帳號的畫面。

  1. 莫名的大檔案下載:我在下載紀錄裡發現了一個高達 700MB 的安裝檔,但我完全沒有印象下載過這個東西。
  2. 恐怖的驗證碼轟炸:手機突然開始收到各種服務的登入驗證碼,這通常意味著有人在嘗試登入我的帳號。
  3. Authy 異地登入:我的 2FA 應用程式 Authy 顯示有一個來自 烏克蘭 的登入紀錄。我趕緊關閉多裝置登入。
  4. 網路異常
    • VPN 會自動被打開。
    • 檢查 Windows 設定時發現 Proxy (代理伺服器) 被莫名修改了,這明顯是為了攔截或重新導向我的網路流量。

追查過程:殺不死的 Process

意識到不對勁後,我打開了工作管理員 (Task Manager) 開始抓鬼。

  • 發現目標:在管理員權限下,發現了一個非常可疑的 node.js process。
  • 狡猾的藏身處:查看檔案位置,它竟然躲在 System32/OSinstall 資料夾裡面,試圖偽裝成系統檔案。
  • 頑強的生命力:我嘗試直接 kill process,但它馬上就會重生。
  • 潛伏已久:檢查了相關檔案(包含一個 .node 模組)的修改時間,發現它似乎從 1 月多 就已經存在了。原來它已經在我的電腦裡潛伏了一段時間,直到最近才開始動作。
  • 排程搞鬼:除了 process,我還在 Windows 的 排程管理 (Task Scheduler) 裡發現了奇怪的任務,這就是為什麼即便我殺了 process 或刪除檔案,它還是能不斷復活的原因。

解決方案

結合了巴哈那篇文章的經驗,與我自己的實作,主要解決思路如下:

  1. 斷網:第一時間先切斷網路,避免資料繼續外洩或駭客進行遠端操作。
  2. Process Monitor 抓鬼: 單純用工作管理員很難看出是「誰」在呼叫這個惡意程式。使用微軟官方的工具 Process Monitor,設定過濾條件(例如 filter 包含 OpenProcessWriteFile),可以抓出背後的真兇。 重點是找到那個不斷重生 node.js 的「父程序」 (Parent Process)。通常是某個偽裝正常的 powershell.execonhost.exe,而它的上一層指令可能就藏在排程裡。
  3. 清理排程與啟動項: 進入「工作排程器」,仔細檢查所有非 Windows 官方的排程。特別是那些觸發條件奇怪、或者執行路徑指向可疑資料夾(如 AppData 或 System32 下非微軟簽章的檔案)的任務。直接刪除這些惡意排程。
  4. 刪除檔案: 在確保相關 process 和排程都停止後,進入 System32/OSinstall (或其他藏身處) 將那個可疑的 node執行檔和 .node 模組徹底刪除。
  5. 修復網路設定: 把被竄改的 Proxy 設定改回來,關閉不明的 VPN 連線。
  6. 更改密碼與登出所有裝置: 確認電腦乾淨後,立刻更改所有重要帳號的密碼(Google, 銀行, 社群軟體等),並在 Authy 檢查是否有不明裝置連結,全部踢除。

結語

Authy 被異地登入的時候真的有點嚇到。即便平時不亂裝軟體,現在的攻擊手法(如掛馬網頁、供應鏈攻擊、偽裝成正常更新檔)也讓人防不勝防。

建議大家:

  • 沒事多看看工作管理員,對不認識的 process 保持警覺。
  • 2FA 驗證一定要開,且若跳出非本人操作的驗證碼,絕對要立刻處理。
  • 重要資料定期備份。

參考:巴哈姆特上的這篇文章 亂點FB廣告中毒 Chrome被綁架… (電腦中毒解決流程)