


在數字時代,智慧手機已成為我們生活中不可或缺的一部分,但它們同時也是網路安全威脅的溫床。最近,一種名為Triada的木馬程式透過其狡猾的多階段載入器,悄無聲息地滲透進安卓裝置,賦予攻擊者幾乎無限的控制權。這種木馬不僅難以被發現,而且幾乎不可能被常規使用者移除,因為它深植於裝置韌體之中。今天,將向大家分享一篇文章[1],深入剖析Triada木馬的最新迭代版本,揭示其如何利用安卓系統的漏洞,以及它對使用者隱私和財產安全的潛在威脅。我們將探討這一新型網路威脅的運作機制,以及使用者如何保護自己免受其侵害。

2025年3月,作者在研究中發現Triada木馬為突破安卓系統的許可權限制採取了新的策略。攻擊者直接將複雜的多階段載入程式植入裝置韌體,這使得木馬能夠感染Zygote程序,進而控制裝置上執行的每一個應用程式。
主要發現:
-
在多款裝置上發現了Triada木馬的新變種,其韌體在裝置上市前即已遭感染。這些裝置仿冒知名手機品牌,研究期間仍能在多家電商平臺購買。 -
木馬會侵入受感染裝置上啟動的每個應用程式。其模組化架構賦予攻擊者近乎無限的系統控制權,可針對特定應用程式定製功能。 -
當前版本的Triada木馬中,經分析的有效載荷會根據宿主應用展現不同惡意行為,具體包括:轉賬時篡改加密貨幣錢包地址、替換瀏覽器連結、任意傳送簡訊並攔截回覆、竊取即時通訊和社交應用的登入憑證。
完整感染鏈如下:

圖注:Triada木馬感染鏈
卡巴斯基安全產品已將新版Triada木馬檢測為
Backdoor.AndroidOS.Triada.z
。
在初步調查中,作者聚焦於多款裝置韌體中的原生庫檔案,其路徑為:
-
/system/framework/arm/binder.so -
/system/framework/arm64/binder.so
該檔案在標準安卓版本中並不存在。作者發現,這個可疑的庫檔案被同一目錄下受感染的AOT預編譯[3]安卓系統框架(
boot-framework.oat
)載入到Zygote程序中,而Zygote是所有安卓應用程式的父程序。
圖注:boot-framework.oat中的惡意依賴
binder.so
庫為android.util.Log
類註冊了一個原生方法println_native
。該類的功能是讓裝置上安裝的應用程式向Logcat寫入日誌訊息。此方法的實現呼叫了可疑函式_config_log_println
。
圖注:對可疑函式的呼叫
_config_log_println
函式隨後呼叫另外兩個函式,將惡意庫的rodata
區段中儲存的三個模組部署到裝置上啟動的每個程序中。其中一個函式始終執行,另一個函式僅在裝置安卓系統版本為9或更早時觸發。
圖注:兩個惡意函式的執行流程
接下來讓我們來詳細分析這些模組的作用。

rodata
區段中的該模組會被寫入應用程式的內部資料目錄,命名為systemlibarm64_%N%.jar
,其中N為隨機數。
com.android.core.info.config.JvmCore
類,binder.so
會註冊原生方法,用於攔截對惡意軟體執行程序中任意方法的呼叫。
該模組需經過雙重異或解密流程,解密金鑰從惡意庫的
rodata
區段中提取。解密後的模組以/data/data/%PACKAGE%/mms-core.jar
形式儲存到磁碟,隨後透過DexClassLoader
載入。載入完成後,包含有效載荷檔案將會被刪除。
圖注:後門模組的載入
此
mms-core.jar
是作者早期報告[4]中提到的後門程式的新版本。與舊版本透過篡改系統檔案注入Zygote程序不同,當前版本透過受感染的系統框架直接獲得穩定的Zygote訪問許可權。與舊版類似,該後門會下載並執行其他有效載荷。
binder.so
庫啟動時,會立即讀取/proc/%PID%/cmdline
檔案(%PID%
為系統程序ID),藉此判斷當前執行應用程式的包名。
圖注:包名檢查機制
根據包名,
binder.so
會從rodata
區段載入兩種負載之一:若目標應用與加密貨幣相關,則載入加密貨幣竊取程式的載入器;否則載入通用投放器。這兩種有效載荷均未加密。Triada加密貨幣竊取程式
在早期分析的Triada版本中,加密貨幣應用會被直接植入竊取程式。但在最新樣本中,惡意模組變更為針對特定包名的載入器,目標包括:
com.binance.devcom.wrx.wazirxcom.coinex.trade.playcom.okinc.okex.gppro.huobicom.kubi.kucoin
該惡意載入器的入口點為
com.hwsen.abc.SDK
類中的onCreate
方法。最新版本中,此模組會從GitHub倉庫請求配置。樣本透過偽隨機數生成器選擇數字(0、1或2),每個數字對應特定的倉庫地址。
圖注:載入配置
配置中的所有欄位值均使用AES-128(ECB模式)加密,並用Base64編碼。以下為解密後的配置示例:
{ addr: { durl: https://app-file.b-cdn[.]net/poctest/pc2215202501061400.zip, durl2: https://app-file.b-cdn[.]net/poctest/pc2215202501061400.zip, durl3: https://app-file.b-cdn[.]net/poctest/pc2215202501061400.zip, ver: 17, vname: pc2215202501061400.zip, online: true, rom: true, update: true, pkg: com.android.system.watchdog.x.Main, method: onCreate, param: t }}
online欄位為
true
,載入器將從durl
欄位指定的URL下載有效載荷。若下載失敗,則依次嘗試durl2
和durl3
作為備用連結。下載的有效載荷透過硬編碼的XOR金鑰解密,並按vname
引數命名後儲存到應用內部資料目錄。pkg
和method
欄位分別表示負載透過DexClassLoader
載入後呼叫的類名及方法。
下載的有效載荷透過多種手段竊取加密貨幣。例如,其會按預設間隔監控當前活動視窗,藉此攔截加密貨幣提現操作,將介面中的收款地址替換為攻擊者控制的地址。為實現此功能,惡意軟體對當前視窗內的圖形子元素執行深度優先搜尋,識別資金流向的區塊鏈型別,隨後將錢包地址替換為硬編碼的攻擊地址,並將所有按鈕的點選處理器替換為代理(確保再次執行地址替換)。值得注意的是,竊取程式還會將圖片元素替換為包含攻擊地址的二維碼。

圖注:文字和影像替換
此外,木馬會監控剪貼簿內容,若發現加密貨幣錢包地址,立即替換為攻擊者地址。

圖注:剪貼簿劫持
投放器模組
若
binder.so
執行在非加密貨幣相關應用中,則下載另一類有效載荷——投放器。該模組呼叫com.system.framework.api.vp2130.services
類中的onCreate
方法,根據版本不同,最多可從自身內容中提取三個Base64編碼的附加模組。投放器從系統APK安裝器應用內的首個模組載入
com.android.packageinstaller.apiv21.ApiV21
類。此類註冊了一個接收器,允許其他模組在裝置上安裝任意APK或解除安裝應用。
圖注:惡意接收器
自Android 13起,非可信來源的應用無法獲取敏感許可權(如無障礙服務)。為繞過此限制,接收器透過安裝會話(installation session)機制安裝旁加
載應用。
從第二個模組載入的
com.system.framework.audio.Audio
類用於阻斷網路連線。根據系統架構,其解碼並載入原生助手庫。該庫利用xhook
庫攔截對getaddrinfo
和android_getaddrinfofornet
函式的呼叫——這兩個函式負責與安卓的dnsproxyd
服務通訊(該服務以客戶端-伺服器模型處理DNS請求)。若攻擊者傳送了阻斷特定域名的指令,惡意軟體透過鉤子將域名替換為127.0.0.1
,使原域名無法訪問。
圖注:攔截dnsproxyd通訊功能
因此,除非反欺詐服務使用自定義DNS實現,否則其請求將被阻斷。
從第三個模組載入的
com.system.framework.api.init.services
類用於下載任意負載。為實現此功能,惡意軟體會定期向命令控制伺服器傳送大量裝置資訊(MAC地址、型號、CPU、製造商、IMEI、IMSI等)及宿主應用名稱與版本。資料在傳送前使用AES-128(CBC模式)加密並Base64編碼。C2伺服器返回的JSON檔案中包含有效載荷資訊,同樣以AES-128(CBC模式)加密。受感染裝置從同一JSON中獲取RSA加密的金鑰與初始化向量(IV)。
圖注:負載解碼、載入與執行流程
為便於描述,下文將此模組稱為Triada後門。該模組是研究中的重點,因其賦予惡意軟體廣泛的能力。深入分析攻擊者目標後,我們發現了一個意外變化:早期樣本主要展示廣告並誘導使用者訂閱付費服務,而當前攻擊者已轉向更復雜的惡意行為。

為明確攻擊者目標的變化,作者嘗試為各類流行應用下載有效載荷。觀察到,當應用名稱位於
binder.so
惡意庫的內建列表中時,其啟動時會向投放器傳遞特定標誌。該列表包含系統應用及官方商店的熱門應用。
圖注:binder.so中的部分應用列表
這份列表是調查的起點。作者向惡意C2伺服器傳送列表中所有應用的請求,部分響應返回了有效載荷的下載連結。例如,這是我們在向Telegram請求有效載荷後從該木馬收到的響應:
{ a: 0, b: 40E315FB00M8EP2G49008INIK7000002, c: 1373225559, d: [{ a: 72, b: http://ompe2.7u6h8[.]xyz/tgzip/44a08dc22b45b9418ed427fd24c192c6.zip, c: com.tgenter.tmain.Engine, d: start, e: 32, f: 44a08dc22b45b9418ed427fd24c192c6, g: https://mp2y3.sm20j[.]xyz/tgzip/44a08dc22b45b9418ed427fd24c192c6.zip }, { a: 127, b: http://ompe2.7u6h8[.]xyz/tgzip/tgnetuser/online/37fd87f46e95f431b1977d8c5741d2d5.zip, c: com.androidx.tlttl.tg.CkUtils, d: init, e: 7, f: 37fd87f46e95f431b1977d8c5741d2d5, g: https://mp2y3.sm20j[.]xyz/tgzip/tgnetuser/online/37fd87f46e95f431b1977d8c5741d2d5.zip } ], e: 245, g: [com.instagram.android], h: org.telegram.messenger.web,org.telegram.messenger,com.whatsapp.w4b,com.fmwhatsapp,com.gbwhatsapp,com.yowhatsapp,com.facebook.lite,com.facebook.orca,com.facebook.mlite,com.skype.raider,com.zhiliaoapp.musically,com.obwhatsapp,com.ob3whatsapp,com.ob2whatsapp,com.jtwhatsapp,com.linkedin.android,com.zhiliaoapp.musically.go,com.opera.browser.afin,com.heytap.browser,com.sec.android.app.sbrowser,org.mozilla.firefox,com.microsoft.emmx,com.microsoft.emmx.canary,com.opera.browser}
C2返回的有效載荷資訊以物件陣列形式呈現,每個物件包含兩個下載URL(主URL和備份URL)、待下載檔案的MD5雜湊值、模組入口點詳細資訊及其ID。下載完成後,使用不同的金鑰對模組進行雙重異或解密。

圖注:Triada解密負載流程
除此之外,C2的響應還包含其他軟體包名稱。利用這些名稱,我們能夠獲取各種其他有效載荷。
需特別指出的是,根據安卓安全模型,普通使用者許可權通常無法訪問特定應用資料。然而如前所述,由於惡意軟體由Zygote程序載入,每個有效載荷模組運行於目標應用程序內,因此可繞過系統限制。這意味著模組能獲取任意應用資料,攻擊者在後續感染階段積極利用此特性。此外,每個新增的惡意負載均可繼承宿主應用的所有許可權。
在模組分析過程中,作者還注意到Triada開發者展現出高超的技術能力:每個有效載荷均針對目標應用特性定製。下文將解析木馬注入部分熱門安卓應用的模組細節。


最初,該惡意任務嘗試獲取受害者賬戶詳細資訊。為實現此目的,模組從名為
userconfig
的應用設定XML檔案中讀取透過SharedPreferences
儲存的鍵值對——提取與使用者金鑰關聯的字串。該字串包含經過Base64編碼的序列化Telegram使用者資料,客戶端程式碼會對其進行反序列化以便與API進行通訊。惡意軟體正是利用了這一點:Triada會嘗試多種基於反射的方法來讀取使用者資料。
若以下使用者資訊尚未傳送,惡意軟體會將其上傳至C2伺服器:
-
包含受害者賬戶詳情的序列化字串 -
受害者手機號碼 -
應用的 data
目錄中tgnet.dat
檔案的內容該檔案儲存Telegram認證資料(包括使用者令牌),攻擊者可藉此完全控制受害者賬戶。 -
資料庫 cache4.db
的params
表中id=1
的字串,該有效載荷模組還包含未啟用的廣告展示程式碼。
第二個模組模組(fce117a9d7c8c73e5f56bda7437bdb28)透過Base64解碼並執行另一有效載荷(8f0e5f86046faed1d06bca7d3e48c0b8)。此有效載荷為新Telegram訊息註冊觀察者,檢查訊息內容。若訊息文字匹配木馬從C2伺服器接收的正則表示式,則從客戶端刪除該訊息。該模組還會嘗試刪除Telegram的新會話通知。

此外,惡意軟體試圖與某個在研究期間已失效的機器人發起對話。

圖注:發起與未知機器人的通訊

該模組(3f887477091e67c6aaca15bce622f485)首先從Google Play服務獲取裝置廣告ID,並將其作為受害者標識。隨後,每24小時執行一次惡意任務:依次掃描所有透過
SharedPreferences
儲存的XML檔案,直至找到首個以UserCookiePrefsFile_
開頭的檔案。此檔案包含活躍Instagram會話的Cookie,攔截這些會話可使攻擊者劫持受害者賬戶。此外,任務還會收集data
目錄下analytics
子目錄中所有以batch
結尾的檔案。
圖注:惡意軟體讀取內部檔案
這些檔案與感染裝置資訊經Base64編碼後傳送至C2伺服器。

該模組(98ece45e75f93c5089411972f9655b97)注入以下包名的瀏覽器:
com.android.chrome org.mozilla.firefox com.microsoft.emmx com.microsoft.emmx.canary com.heytap.browser com.opera.browser com.sec.android.app.sbrowser com.chrome.beta
其首先透過TCP套接字與C2伺服器建立連線,隨後使用RSA演算法加密AES-128(CBC模式)的初始化向量(IV)與金鑰的拼接值。木馬用AES加密感染裝置資訊,將金鑰、IV及加密資料合併為單一緩衝區後傳送至TCP套接字。

圖注:C2通訊程式碼片段
C2伺服器返回的緩衝區採用與請求相同的加密引數,其中包含定期替換瀏覽器開啟連結的任務。示例如下:
{ a: 0, b: 1, c: 65, d: { a: 17, b: https://stas.a691[.]com/, c: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], d: 2880 }}
連結替換機制如下:模組先檢測宿主瀏覽器的版本及名稱,為瀏覽器開啟連結的方法註冊鉤子。

圖注:啟動瀏覽器特定功能
此前提到,木馬在初始階段下載的輔助模組可攔截任意方法。瀏覽器模組利用此功能干擾不同瀏覽器的頁面開啟流程。

圖注:輔助模組的呼叫
此外,惡意軟體透過反射替換應用的
Instrumentation
類例項,用於啟動應用程式活動的execStartActivity
方法在代理類中被重寫。
圖注:Instrumentation代理類中的惡意呼叫
在安卓系統中,應用活動是透過廣播攜帶特定動作的Intent來啟動的。如果應用的某個活動帶有Intent過濾器,並且該過濾器聲明瞭能夠處理該操作,系統將啟動該Activity。當應用在瀏覽器中開啟連結時,會建立併發送一個攜帶
android.intent.action.VIEW
動作的Intent例項,其中包含要開啟的URI。Triada將會篡改接收到的Intent例項中的URI。
圖注:替換Intent中的連結
在作者分析的樣本中,C2伺服器傳送了指向廣告資源的連結。然而,我們認為惡意軟體建立者也可能利用此功能進行網路釣魚等活動。

對於WhatsApp,木馬的C2伺服器會下發兩個模組。第一個模組(d5bc1298e436424086cb52508fb104b1)每五分鐘在WhatsApp客戶端上下文環境中執行惡意任務。該任務讀取客戶端執行所需的各種金鑰及活動會話資料。

圖注:木馬竊取WhatsApp登入憑證
這些資料與受害者裝置資訊一同傳送至C2伺服器,使攻擊者能完全控制受害者WhatsApp賬戶。
另一個模組(dc731e55a552caed84d04627e96906d5)初始階段攔截WhatsApp客戶端收發訊息的函式。攻擊者採用了一項有趣的技術應對WhatsApp程式碼中的類名混淆。模組程式碼包含待攔截的類名及方法名,這些名稱特定於不同的WhatsApp版本,這要求攻擊者手動分析各版本實現機制。需注意的是,若模組程式碼未包含特定客戶端版本的類名,惡意軟體可向C2伺服器請求攔截配置。
若攔截成功,模組繼續執行:向C2傳送感染裝置資訊,接收返回的TCP套接字IP地址。隨後透過此套接字傳輸指令,使惡意軟體可執行以下操作:
-
傳送任意WhatsApp訊息 -
刪除裝置上的已傳送訊息以掩蓋痕跡 -
關閉連線


該模組(1d582e2517905b853ec9ebfe77759d15)運行於即時通訊應用LINE內。其首先收集感染裝置資訊併發送至C2伺服器,隨後每30秒採集應用內部資料——具體為
naver_line
資料庫settings
表中的PROFILE_AUTH_KEY
與PROFILE_MID
值。惡意模組還會獲取User-Agent
字串及附加資訊,以模擬來自LINE客戶端的HTTP請求。此外,木馬從naver_line
資料庫解密使用者電話號碼及地區資訊,並透過反射獲取應用訪問令牌,藉此劫持受害者賬戶。
圖注:獲取訪問令牌
模組將收集的資料傳送至C2伺服器。

圖注:資料收集與傳送流程

該模組(b87706f7fcb21f3a4dfdd2865b2fa733)每兩分鐘執行惡意任務,嘗試向C2傳送感染裝置資訊。一旦C2接受請求,該任務終止,木馬轉為每小時讀取Skype內部檔案。初始階段,模組嘗試從React Native框架金鑰鏈(keychain)中提取允許訪問Skype賬戶的令牌。

圖注:Triada從金鑰鏈提取令牌
若此方法失敗,惡意軟體則嘗試從WebView Cookies中定位令牌。

圖注:從cookies中提取token
隨後,token被髮送至木馬C2伺服器,導致受害者賬戶遭入侵。
當前分析的Triada版本中未發現針對Microsoft Teams或Skype for Business的有效載荷。但作者認為,若微軟逐步停用Skype,攻擊者可能會為這些應用新增惡意模組。

該模組(993eb2f8bf8b5c01b30e3044c3bc10a3)每日向攻擊者伺服器傳送一次感染裝置資訊。此外,惡意軟體收集受害者賬戶的多種資料:例如從應用內部目錄讀取WebView可能使用的快取TikTok Cookies。攻擊者關注其中的
msToken
(用於與TikTok API互動的關鍵欄位),同時提取客戶端中的使用者ID(secUID
)、API請求的User-Agent
等資訊。我們推測,攻擊者需藉此繞過TikTok API限制並模擬真實裝置發起請求。每五分鐘,惡意模組嘗試將收集資料傳送至伺服器。
圖注:竊取TikTok賬戶資料

其中一模組(b187551675a234c3584db4aab2cc83a9)每分鐘執行惡意任務,檢查宿主應用包名是否匹配以下列表:
com.facebook.lite com.facebook.mlite com.facebook.orca
若匹配,則竊取Facebook認證Cookie。

圖注:竊取Facebook憑證
另一模組(554f0de0bddf30589482315fe336ea72)向C2傳送感染裝置資訊。伺服器響應包含需在WebView中開啟的連結以及在頁面執行的JavaScript程式碼。惡意軟體可將頁面元素上傳至C2伺服器,攻擊者可能會利用這些元素竊取受害者的賬戶資料。

這些惡意元件被注入簡訊類應用。其中一個元件(195e0f334beb34c471352179d422c42f)首先會註冊自己的代理接收器來接收簡訊和彩信,以及自己的訊息觀察器。隨後,惡意軟體會從C2伺服器檢索規則,並將其儲存在單獨的資料庫中,每條收到的訊息都會根據這些規則進行內容過濾。

圖注:檢查訊息內容
這些規則的靈活性使木馬能透過正則表示式提取特定簡訊中的驗證碼。我們推測攻擊者主要利用此功能來讓受害者註冊付費訂閱。此外,該模組可根據C2指令傳送任意簡訊。
有趣的是,模組包含一些未啟用的對分析很有價值的程式碼片段——它們也可以用作訊息過濾規則。每條規則含定義型別的字串值:特定資料的MD5雜湊值。程式碼中的
matchWhatsapp
和matchRegister
方法使用相同規則型別。對matchWhatsapp
的分析表明,該惡意元件之前可以掩蓋其他模組的蹤跡,並刪除包含用於登入受害者WhatsApp帳戶的驗證碼的簡訊。使用相同的規則型別表明,該惡意模組還使用matchRegister
來隱藏其活動,可能是為了秘密註冊帳戶。由於該惡意軟體現在支援從C2伺服器接收規則,因此此方法可能已過時。
圖注:攔截WhatsApp驗證簡訊的規則
第二個模組(2ac5414f627f8df2e902fc34a73faf44)很可能是第一個模組的輔助元件。Android在傳送簡訊時會對收件人進行檢查。如果簡訊是傳送到短程式碼(付費簡訊),系統會彈窗提示使用者確認傳送意圖。此措施旨在防止裝置所有者因遭遇簡訊木馬而遭受經濟損失。Android框架的
SmsUsageMonitor
類透過getPremiumSmsPermission
方法驗證應用是否擁有傳送許可權(策略值儲存於premium-sms-policy
鍵的SharedPreferences
中)。策略值為整數,含義如下:1:傳送前需使用者確認


據我們所知,該模組(3dc21967e6fab9518275960933c90d04)整合至Google Play Services應用。啟動後立即向C2傳送裝置資訊,伺服器返回IP地址及埠。木馬會利用這些IP地址和埠號,透過修改版
EasySocket
庫監聽指令,這些指令為整型值,可以採用以下三個值:

該模組(a4f16015204db28f5654bb64775d75ad)被注入裝置的電話應用中。其註冊了一個惡意接收器,該接收器在接收到Intent後,可透過WebView執行任意JavaScript程式碼。

圖注:透過惡意接收器執行任意程式碼
惡意軟體為JavaScript程式碼提供呼叫特定Java函式的介面。其中一個函式會獲取受害者電話號碼並透過Intent傳送。

圖注:攜帶電話號碼的Intent
指令編號透過Intent的
type
欄位傳遞。但該模組缺少對此編號的處理程式,我們推測它是在另一個有效載荷中實現的,但在調查過程中我們無法獲取該有效載荷。作者認為此模組仍在開發階段。例如,與瀏覽器模組類似,其替換
Instrumentation
類以篡改透過android.intent.action.VIEW
開啟的號碼,但當前版本的模組缺少號碼替換的程式碼。
圖注:Instrumentation代理類
作者確信該功能存在於其他版本或將在未來更新中實現。

該模組(04e485833e53aceb259198d1fcba7eaf)整合至Google Play應用。啟動後向C2請求以逗號分隔的攻擊者加密貨幣錢包地址列表。若獲取失敗,則使用硬編碼地址。隨後,該模組每兩秒檢查剪貼簿,若發現加密貨幣錢包地址則替換為攻擊者地址。此外,該模組還會註冊一個用於剪貼簿更改的事件處理程式,即時檢測並篡改內容。

圖注:剪貼簿劫持流程

在作者之前的報告[4]中,描述了初始Triada後門[5]下載的惡意模組,決定檢查有效載荷列表是否已更改。遺憾的是,在研究期間,後門的C2伺服器並未傳送下載其他模組的連結。然而,作者注意到模組入口點使用了一致的特殊命名格式——將在稍後詳細討論這一點。這使得作者在遙測資料中發現了另一個Triada惡意軟體樣本
BrsCookie_1004
(952cc6accc50b75a08bb429fb838bff7),專用於竊取瀏覽器中的Instagram Cookies。
圖注:竊取Cookies過程

作者對該木馬的分析發現了一些有趣的細節。例如,它與早期版本的Triada(308e35fb48d98d9e466e4dfd1ba6ee73)有相似之處:均採用與受感染框架部署的
mms-core.jar
後門相同的模組載入邏輯。
圖注:在舊版Triada中載入模組

圖注:在mms-core.jar中載入模組
此外,模組程式碼中頻繁出現以
PPP
開頭的日誌條目。
圖注:在舊版Triada中建立日誌條目

圖注:在新版本的Triada中載入binder.so中的模組
來自
binder
.so
惡意庫設定的系統屬性與舊版Triada相似。這些相似之處以及其他相似之處使我們相信,我們分析的樣本是Triada的新版本。Triada模組使用的C2伺服器
g.sxim[.]me
曾關聯Vo1d後門模組,暗示二者可能存在聯絡。
在所有已知感染案例中,裝置韌體的構建指紋(build fingerprint)末位字元與官方釋出版本不同。追蹤類似指紋發現,多個論壇使用者投訴從電商平臺購買的仿冒裝置感染Triada。推測供應鏈環節遭入侵,線上賣家可能在不知情情況下分銷受感染裝置。

圖注:使用者投訴假冒裝置案例
翻譯:“在[某平臺]購買假冒裝置的經歷。
請保留此討論,或許能幫助其他與我一樣陷入困境的人自行修復手機。
原版本:8GB/256GB/14.0.6.0(TGPMIXN)。
當前版本:4GB/128GB/14.0.6.0(TGPMIXM)”

根據卡巴斯基安全網路(KSN)遙測資料,我們的安全解決方案在全球範圍內檢測到超過4500臺感染裝置。受攻擊使用者數量最多的國家/地區包括俄羅斯、英國、荷蘭、德國和巴西。然而,由於本文所述的非常規傳播方式,實際感染裝置數量可能遠高於此。下圖展示了2025年3月13日至4月15日期間受Triada攻擊使用者數量排名前十的國家/地區。

圖注:2025年3月13日-4月15日受Triada攻擊使用者數量TOP 10國家/地區
此外,作者嘗試估算Triada開發者竊取的加密貨幣金額。透過向木馬C2伺服器發起查詢並接收返回的替換錢包地址,結合開源情報分析發現:自2024年6月13日起,攻擊者控制的多個錢包已累計接收價值超過26.4萬美元的各類加密貨幣。下圖展示了部分攻擊者控制的TRON錢包餘額變化趨勢。

圖注:攻擊者TRON錢包收益走勢圖

新版Triada木馬是一個多階段後門程式,賦予攻擊者對受害者裝置的無限控制權。其模組化架構為開發者提供了廣泛的惡意能力,包括定向投放新模組及大規模感染特定應用。若您的裝置已感染Triada,建議遵循以下規則以降低風險:


f468a29f836d2bba7a2b1a638c5bebf0 72cbbc58776ddc44abaa557325440bfb fb937b1b15fd56c9d8e5bb6b90e0e24a 2ac4d8e1077dce6f4d2ba9875b987ca7 7b8905af721158731d24d0d06e6cb27e 9dd92503bd21d12ff0f2b9740fb6e529

89c3475be8dba92f4ee7de0d981603c1 01dff60fbf8cdf98980150eb15617e41 18fef4b6e229fc01c8b9921bb0353bb0 21be50a028a505b1d23955abfd2bdb3e 43adb868af3812b8f0c47e38fb93746a 511443977de2d07c3ee0cee3edae8dc8 716f0896b22c2fdcb0e3ee56b7c5212f 83dbc4b95f9ae8a83811163b301fe8c7 8892c6decebba3e26c57b20af7ad4cca a7127978fac175c9a14cd8d894192f78 a9a106b9df360ec9d28f5dfaf4b1f0b5 c30c309e175905ffcbd17adb55009240 c4efe3733710d251cb041a916a46bc44 e9029811df1dd8acacfe69450b033804 e961cb0c7d317ace2ff6159efe30276a



lnwxfq[.]qz94[.]com8.218.194[.]192g.sxim[.]me68u91[.]66foh90o[.]comjmll4[.]66foh90o[.]comw0g25[.]66foh90o[.]comtqq6g[.]66foh90o[.]comzqsvl[.]uhabq9[.]comhm1es[.]uhabq9[.]com0r23b[.]uhabq9[.]comvg1ne[.]uhabq9[.]comis5jg[.]3zweuj[.]comqrchq[.]vrhoeas[.]comxjl5a[.]unkdj[.]xyzlvqtcqd[.]pngkcal[.]comxc06a[.]0pk05[.]com120.79.89[.]98[xcbm4[.]0pk05[.]comlptkw[.]s4xx6[.]comad1x7[.]mea5ms[.]comv58pq[.]mpvflv[.]combincdi[.]birxpk[.]com773i8h[.]k6zix6[.]comya27fw[.]k6zix6[.]com

mp2y3[.]sm20j[.]xyzompe2[.]7u6h8[.]xyzapp-file.b-cdn[.]net

[hxxps://raw.githubusercontent[.]com/adrdotocet/ott/main/api.json [hxxps://raw.githubusercontent[.]com/adrdotocet2/ott/main/api.json [hxxps://raw.githubusercontent[.]com/adrdotocet3/ott/main/api.json

os.config.ppgl.ext.hws.cdos.config.ppgl.btcore.devicekeyos.config.ppgl.versionos.config.opp.build.modelos.config.opp.build.statusos.config.ppgl.statusos.config.ppgl.status.romos.config.ppgl.build.vresionos.config.hk.statusos.config.ppgl.cdos.config.ppgl.diros.config.ppgl.dexokos.config.ppgl.btcore.sericodeos.config.verify.statusos.config.alice.build.channelos.config.alice.build.timeos.config.alice.service.statusos.android.version.alice.sure


