針對區塊鏈工程師的釣魚攻擊頻繁發生,尤其透過 LinkedIn 等招聘管道進行詐騙。本文以近期案例為例,解析攻擊者的手法、惡意程式碼的運作機制,並提供應對建議,以提高開發者與企業的安全意識,防範類似攻擊。
(前情提要:中國駭客入侵美財政部!財長葉倫電腦被駭,馬斯克諷:她按了比特幣釣魚郵件 )
(背景補充:DeFi 黑暗森林生存指南:別讓智能合約授權成資產陷阱 )
背景
近年來,在 LinkedIn 平臺上針對區塊鏈工程師的釣魚事件時有發生,昨天,我們在 X 上注意到 @_swader_ 釋出的一個帖子。這個遭遇其實是針對區塊鏈工程師招聘釣魚的一個縮影,接下來我們分析下這個案例。
過程
根據 Bruno 的描述,一個自稱是專案方的人主動聯絡到他,然後給他發了一段很長的專案介紹:
內容主要涉及一個區塊鏈 Socifi 遊戲和質押智慧合約平臺的招聘資訊。
專案概述
該專案是一個基於 Socifi 遊戲的質押智慧合約平臺。核心功能包括:
- 去中心化交易所
- 遊戲
- 多遊戲社群功能
- NFT 和代幣 (Tokens)
- 直播服務
招聘意圖
- 尋找開發者加入該專案。
- 已經招聘了後端和智慧合約開發人員。
- 推薦 Bruno Skvorc 擔任專案經理 / 前端開發團隊負責人。
MVP 設計
- 傳送者提供了 Figma 設計連結,指向 MVP v2 版本。
招聘流程
- 背景調查
- 線上程式設計測試
- 技術面試
剛開始招聘人員含糊其辭,然後開始給 Bruno 打電話,試圖傳達緊迫感和重要性,並立即提供了 repo 連結:https://bitbucket [.] org/ventionteam/gameplatform/src/main/。
使用者和提交程式碼的時間:
接下來我們分析下惡意程式碼。
技戰法
我們看下程式碼說明:
那麼它的真實功能是不是如此呢?
首先看下 package.json:
並沒有發現惡意的第三方模組,看來不是通過惡意 NPM 包進行攻擊。我們繼續分析,當我們看到 server.js 時,如果不注意,看到第 47 行可能就結束了,畢竟一眼看過去似乎沒什麼異常。
但是,注意仔細看第 46 行,那是什麼?而且有很小的水平滾動條,這表示右邊有東西!我們拖過去看下:
這是一個加密的惡意 payload,它的具體作用是什麼呢?我們看一下程式碼:
(上圖為部分程式碼)
這是經過加密的程式碼,而且不止一層,base64 加密。
執行 npm start 後,會正常執行,那麼這個 payload 究竟有什麼用?
我們虛擬機器執行一下測試(專業操作,請勿模仿)。
發現這個攻擊手法各種混淆,解密比較麻煩,我們直接通過 Hook 手法把 C2 連結抓出來:
成功抓到惡意 IP:
216.173.115[.]200
95.179.135[.]133
45.59.163[.]56
45.59.1[.]2
5.135.5[.]48
惡意請求:http://216.173.115 [.] 200:1244/s/bc7302f71ff3。有趣的是,這個惡意請求竟然繞過了 little snitch 的監控檢測。
攻擊者會下載檔案並執行,兩個檔案分別是 test.js 和 .npl。
該 .npl 木馬主要用於許可權維持:
這是 .npl 解碼後的內容:
上述程式碼用於下載一個名為 pay 的 Python 程式,解碼後的內容如下:
攻擊者使用 Python 執行 .npl 用於維持許可權。
test.js 主要用於盜取瀏覽器資料,如外掛錢包資料、瀏覽器儲存的帳號密碼等:
(test.js 程式碼部分片段)
解密(片段):
最終根據我們分析,一旦受害者執行程式碼,payload 將執行以下操作:
1. 收集系統 / 環境資料(主目錄、平臺、主機名、使用者名稱等)。
2. 向遠端伺服器發出 HTTP 請求以獲取其他資料或有效 payload。
3. 將獲取的有效 payload 寫入本地檔案系統(通常在主目錄中)。
4. 使用 Node 的 child_process.exec 執行這些有效 payload。
5. 繼續回連或 「回傳」 系統資料到 C2 伺服器。
6. 每隔一段時間重複此活動,保持心跳包,如果初次嘗試失敗,則嘗試多次。
7. 悄悄監控使用者行為,為盜取加密資產等行為做準備,如程式碼中嘗試讀取特定目錄 /Library/Keychains/(macOS 關鍵儲存路徑)、竊取 SSH 私鑰、盜取瀏覽器外掛資料、瀏覽器儲存的帳號密碼等。
同時 @blackbigswan 發現相同的使用者:
https://github[.]com/DavidDev0219
https://github[.]com/vention-dev
https://github[.]com/FortuneTechWorld
筆者猜測是同一批攻擊者,不再做多餘分析。
應對建議
攻擊者通常會通過 Telegram、Discord、LinkedIn 傳送惡意檔案,針對這類釣魚攻擊,我們從使用者和企業的角度提出以下應對建議:
使用者
- 警惕要求下載或執行 GitHub 等平臺程式碼的可疑招聘資訊或兼職,優先通過企業官網、官方郵箱核實發件人身份,避免輕信 「限時高薪任務」 等誘導話術;
- 處理外部程式碼時,應嚴格審查專案來源及作者背景,拒絕執行未經驗證的高風險專案,建議在虛擬機器或沙盒環境執行可疑程式碼以隔離風險;
- 對 Telegram、Discord 等平臺接收的檔案保持警惕,禁用自動下載功能並手動掃描檔案,警惕以 「技術測試」 為名的惡意指令碼執行請求;
- 啟用多因素認證並定期更換高強度密碼,避免跨平臺重複使用。
企業
- 定期組織員工參與釣魚攻擊模擬演練,培訓識別仿冒域名及異常請求的能力;
- 部署郵件安全閘道器攔截惡意附件;
- 監控程式碼倉庫敏感資訊是否洩露;
- 建立釣魚事件應急響應機制,通過技術防護與人員意識相結合的多維策略降低資料洩露與資產損失風險。