↓快轉到主要內容
所有專案

2025 TeamT5 Camp|參與學員

看個面試,突然 LinkedIn 比特幣就沒了|BeaverTail 惡意程式分析

以 Contagious Interview 情境分析 BeaverTail,追蹤假徵才如何從程式碼面試走向資訊竊取。

2025 TeamT5 Camp 參與學員|看個面試,突然 LinkedIn 比特幣就沒了|BeaverTail 惡意程式分析封面
Year
2025
Role
惡意程式分析/研究/成果報告
Team
3 人團隊
Share
30%
01 / Overview

專案總覽

專題以「收到 LinkedIn 面試邀請、下載全端專案後資產遭竊」的情境切入,分析 Lazarus 相關 Contagious Interview 活動與 BeaverTail 惡意程式。

攻擊把正常求職流程變成執行惡意程式的社交工程:受害者甚至會主動 clone、安裝與執行。
02 / Challenge

問題與動機

惡意程式被包裝在看似正常的面試專案中,程式碼量大、依賴多,且攻擊同時結合社交工程、跨平台執行與憑證竊取。

可信求職情境

攻擊者利用面試與程式碼審查降低受害者警覺。

多階段惡意行為

從初始程式執行到遠端控制、錢包與瀏覽器資料竊取,需要重建完整流程。

03 / Solution

方法與核心內容

團隊整理 Contagious Interview 時間線、Lazarus 相關家族與公開報告,再對 BeaverTail 樣本進行靜態與動態分析,建立行為脈絡。

活動脈絡

比較 BeaverTail、InvisibleFerret、OtterCookie 等家族與假徵才活動。

樣本分析

追蹤程式啟動、資料蒐集、下載與後續控制行為。

04 / Architecture

技術脈絡

攻擊鏈從社群接觸開始,經面試專案執行進入惡意程式,再延伸到資料竊取與遠端控制。

LURELinkedIn 假徵才
RUN面試專案執行
STEALBeaverTail 蒐集
CONTROL後續 Payload

Stage 1:混淆入口與週期執行

面試專案中的 alias.js 以混淆、Base64 與打亂的 C2 資訊隱藏入口。主程式每 5 分鐘執行一次、共執行 5 次,先蒐集瀏覽器擴充與平台憑證,再下載後續階段。

跨平台資料目標

  • Windows 的 AppData、macOS 的 Library 與 Linux 的 .config 等使用者資料路徑。
  • MetaMask、Phantom 等錢包擴充的 .ldb/.log 與 Solana key。
  • Edge/Chrome 等瀏覽器登入資料,以及 macOS Keychain、Linux keyring 相關檔案。

Stage 2:下載器與平台分流

Windows 先檢查 Python;存在時由 /client/xyz2 取得程式並執行於 ~/.npl,否則由 /pdown 下載封裝版本。接著 main_xyz2 呼叫 download.py,再把 /payload/xyz2 與 /brow/xyz2 分別寫入 ~/.n2/pay 與 ~/.n2/bow。其他平台則使用 python3 路線。

Stage 3:主機盤點、竊密與遠端控制

pay1 蒐集 OS、主機名、版本、帳號、地理位置與內部 IP,送往 /keys;pay2 透過 pyHook 記錄鍵盤、滑鼠與剪貼簿,並在 C2 port 5001 建立反向控制。命令可要求回傳 keylog、下載新版、上傳檔案、關閉瀏覽器、下載 AnyDesk、蒐集預設目錄或建立 registry persistence。

Browser Stealer 與 AnyDesk

bow.py 依作業系統搜尋 Chrome、Brave、Opera、Yandex、Edge 等瀏覽器,讀取 Login Data.db 與 Web Data.db 中的登入與信用卡資料並上傳。Stage 4 的 any.py 在主機未安裝 AnyDesk 時完成下載與設定,修改 service.conf、上傳設定並重啟服務,以取得後續遠端桌面能力。

05 / How it works

執行流程

分析同時保留事件脈絡與技術行為,避免只看到單一樣本而忽略攻擊入口。

01 — 重建攻擊故事

整理假面試、惡意 repository 與已公開活動的時間線。

02 — 分析惡意樣本

檢查程式結構、資料蒐集目標與網路行為。

03 — 對應家族與影響

將觀察結果連回 Lazarus 相關家族與開發者資產風險。

網路與檔案證據串接

分析將 /uploads、/keys、C2 位址與檔案落地路徑對回程式函式,釐清每次連線送出的資料類型;上傳內容包含時間戳、主機名、檔案與不同 xyz2 類型,能用來還原多階段行為。

歸因需保留信心程度

簡報以 git author/時間、Bitbucket、UTC+9 時區與既有 BeaverTail 報告等線索評估與 Lazarus/Contagious Interview 的關聯。這些線索支持 campaign assessment,但不應把單一字串、時區或基礎設施重疊當成確定歸因。

開發者防禦重點

陌生面試 repository 應先在隔離環境檢查 package.json、安裝腳本與混淆程式,不直接使用日常開發機的錢包、瀏覽器與發布憑證。若已執行,需同時處理主機持久化、AnyDesk、瀏覽器資料與所有可能外洩的 token。

06 / My Contribution

我的貢獻

貢獻比例 30%,負責 BeaverTail 惡意程式分析、資料蒐集、實驗與成果報告。

  1. 01威脅資料蒐集整理 Contagious Interview、Lazarus 與相關惡意程式家族。
  2. 02樣本分析協助進行 BeaverTail 靜態與動態行為分析。
  3. 03攻擊鏈整理把求職誘餌、專案執行與資料竊取連成完整情境。
  4. 04成果報告整合分析結果並完成 TeamT5 Camp 小組發表。
07 / Result & Reflection

成果與反思

專題完成 88 頁的 BeaverTail 分析報告,將假徵才活動、惡意程式家族與實際受害風險整理成可理解的攻擊故事。

這次分析提醒我,開發者的日常工具與求職流程同樣是攻擊面;安全檢查必須延伸到陌生 repository、安裝腳本與開發憑證。
08 / Presentation

完整簡報

BeaverTail 惡意程式分析

TeamT5 Camp 小組專題報告,共 88 頁。

滑到簡報區域後載入…

1—

若瀏覽器無法顯示嵌入式 PDF,請另開完整簡報。