新竊密軟件 NodeStealer 可以竊取所有瀏覽器 Cookie
Netskope 的研究人員正在跟蹤一個使用惡意 Python 腳本竊取 Facebook 用戶憑據(jù)與瀏覽器數(shù)據(jù)的攻擊行動。攻擊針對 Facebook 企業(yè)賬戶,包含虛假 Facebook 消息并帶有惡意文件。攻擊的受害者主要集中在南歐與北美,以制造業(yè)和技術(shù)服務(wù)行業(yè)為主。
2023 年 1 月,Meta 發(fā)現(xiàn)了名為 NodeStealer 的基于 JavaScript 開發(fā)的惡意軟件,該惡意軟件旨在竊取 Facebook 賬戶的 Cookie 與登錄憑據(jù)。
本次發(fā)現(xiàn)的攻擊行動是基于 Python 開發(fā)的 NodeStealer 的新變種,其意圖仍然是入侵 Facebook 企業(yè)賬戶。與此前的 NodeStealer 版本不同的是,該版本的 NodeStealer 還會竊取所有的可用的憑據(jù)與 Cookie,不僅僅局限于 Facebook。
通過 Facebook 進行分發(fā)
研究人員發(fā)現(xiàn)新的 NodeStealer 變種部署在 Facebook CDN 上,作為消息附件發(fā)送給受害者。誘餌圖片引誘 Facebook 賬號的管理員下載惡意軟件,與此前不同的是,該攻擊行動中使用了批處理文件而不是可執(zhí)行文件作為初始 Payload。
研究人員發(fā)現(xiàn)了相同的、多種語言的批處理文件,說明攻擊者對不同的受害群體進行了定制化。
下載腳本文件后,用戶可能會點擊運行批處理文件。由于批處理文件使用的字符編碼不同,默認情況下使用文本編輯器打開會顯示不連貫的字符。這也是攻擊者進行混淆的一種方式,使用正確的編碼打開即可對腳本進行分析。
用戶執(zhí)行批處理文件后,首先會打開 Chrome 瀏覽器并跳轉(zhuǎn)到良性頁面。Chrome 進程后續(xù)不會被使用,應(yīng)該只是為了讓用戶相信該文件是良性。但在后臺,Powershell 代碼會使用 Invoke-WebRequest 從新注冊的惡意域名(vuagame[.]store)下載多個文件。率先下載的兩個 ZIP 文件(Document.zip 與 4HAI.zip)會被存儲在 C:\Users\Public 文件夾中。Document.zip 文件中包含 Python 解釋器及其所需的各種庫,而 4HAI.zip 中包含惡意軟件 Payload。
持久化
與此前的版本相比,該 NodeStealer 的一個主要區(qū)別在于持久化方法。4HAI.zip文件中包含另一個要復制到啟動文件夾的惡意批處理腳本,該腳本會運行 PowerShell 代碼并下載執(zhí)行名為 project.py 的 Python 腳本。與之前的批處理腳本一樣,也需要更改編碼才能正常查看該腳本。
將批處理腳本復制到啟動文件夾后,將會下載并執(zhí)行另一個名為 rmv.py 的 Python 腳本清除痕跡。
被竊的憑據(jù)與瀏覽器 Cookie
啟動文件夾中的惡意 Python 腳本將嵌入的十六進制編碼數(shù)據(jù)轉(zhuǎn)換為二進制。這部分數(shù)據(jù)被壓縮了多次,可能是為了逃避檢測。在經(jīng)過多次解壓后,使用 exec 函數(shù)來運行該腳本。
運行后,腳本會檢查是否有 Chrome 進程正在運行。如果確認就終止該進程,打開 Chrome 只是為讓用戶相信其安全性。但竊密時需要保證 Chrome 未在運行,才能訪問瀏覽器數(shù)據(jù)。
之后,NodeStealer 通過 IPinfo 收集用戶的 IP 地址與國家代碼,并將其作為保存收集數(shù)據(jù)的文件夾名稱。
惡意腳本會收集 Chrome 瀏覽器多方面的數(shù)據(jù),例如登錄數(shù)據(jù)、Cookie 與本地狀態(tài)等。所有復制的文件都會被放置在臨時文件夾中,以用戶的 IP 地址與國家/地區(qū)代碼作為文件夾名稱。與之前的 NodeStealer 類似,也是針對多瀏覽器進行攻擊的,例如 Microsoft Edge、Brave、Opera、C?c C?c、Opera 和 Firefox。復制文件的文件夾稍后會被刪除,清除竊取數(shù)據(jù)的證據(jù)。
收集瀏覽器文件后,NodeStealer 首先收集加密密鑰,后續(xù)使用這些密鑰來解密加密的密碼。然后收集用戶名、密碼與登錄的 URL,并將這些數(shù)據(jù)保存在名為 Password.txt的文本文件中,該文件位于之前創(chuàng)建的臨時文件中。
NodeStealer 還會收集 Cookie 數(shù)據(jù),例如域名、Cookie 與其他重要數(shù)據(jù)。與之前的版本不同,該變種會收集瀏覽器的所有 Cookie,無論其是否與 Facebook 有關(guān)。當然,該惡意軟件仍然在積極尋找 Facebook 的數(shù)據(jù),與 Facebook 相關(guān)的數(shù)據(jù)被保存在不同的文本文件中。竊取用戶的 Cookie 可能會被用于后續(xù)的針對性攻擊,Cookie 也可以被用戶繞過登錄或者雙因子驗證等機制,幫助攻擊者接管賬戶或者進行欺詐交易。
通過 Telegram 進行數(shù)據(jù)回傳
與過去基于 Python 的 NodeStealer 一樣,所有的文件都是通過 Telegram 回傳的。
一旦數(shù)據(jù)被泄露,該腳本就會對創(chuàng)建的所有文件與文件夾進行清理。由于惡意批處理文件被放置在啟動文件夾中,用戶憑據(jù)與其他瀏覽器數(shù)據(jù)將會不斷被收集回傳。
結(jié)論
研究人員認為這是基于 Python 的 NodeStealer 的一個新變種,與早期變種相比,新變種使用批處理文件下載與運行后續(xù) Payload。并且,新變種會從多個瀏覽器與多個網(wǎng)站竊取用戶憑據(jù)與 Cookie。攻擊者收集到了足夠的信息后,這些信息可能會被用于進行更有針對性的攻擊。竊取了 Facebook Cookie 與憑證的攻擊者可以使用這些信息來接管賬戶,利用合法的頁面進行欺詐性交易。