日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

“蜥蜴之尾”——长老木马四代分析报告

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 “蜥蜴之尾”——长老木马四代分析报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著移動端安全軟件對APK的查殺能力趨于成熟以及Google對Android安全性重視的提高,病毒與反病毒的主戰場已逐漸從APP層擴展到Linux底層。而且病毒作者也開始把PC端的病毒自我保護手段運用到移動端上,在移動端大量使用了免殺、加密、隱藏、反虛擬機等傳統PC端病毒自我保護技術。但是之前一直還未出現過通過感染技術實現自我保護的病毒,此次,360安全團隊首次發現了在Android系統中通過感染方式隱藏自身惡意代碼的木馬病毒——長老木馬之四。

一、長老四之前世今生

去年11月份,360安全團隊截獲了惡意手機木馬“長老三代”,詳細剖析挖掘了長老木馬的整個有機生態鏈。并從傳播源頭開始進行強力打擊,致使猖狂一時的長老木馬迅速地消聲滅跡。近期360安全團隊發現改頭換面的新版長老木馬又“重出江湖”。

分析后發現,木馬與“長老三代”有緊密的關系,在長老木馬三代“瘋狂崛起”時,以其子模塊的形式存在,功能有限,而且也不具備對抗安全軟件的能力,因此,我們將其命名為“長老四代”。

長老木馬三代核心主體模塊debuggerd與此子模塊耦合度非常高。比如子模塊由虛假debuggerd來啟動,而且子模塊運行時需要訪問由假冒debuggerd下載生成的文件讀取遠程服務器地址,下載地址等。經過木馬作者的“精心改進”后,子模塊從“私生子”華麗“蛻變”為長老木馬核心模塊。

二、進化篇

與之前老版本相比,雖然在惡意行為特征上仍然以隱私劫取、惡意扣費為主,但是自我保護與對抗安全軟件方面有較大技術突破。例如,在移動安全領域首次采用了靜態感染技術,感染系統運行依賴的lib文件,加大了查殺難度。此外,還采用相似文件路徑欺騙法、 樣本MD5自變化等傳統PC端的病毒技術。下圖的文件MD5分別為778ff1b54aaf88075523f1a8b7c233f9、3a93af95ec45aabb44018fdc4dd34243。

圖1 兩個長老4代 ELF可執行文件的對比

對比可以看出,是文件末尾嵌入32位長度的字符串,導致同一版本長老四,出現幾十萬個變種。進一步分析發現,長老四會讀取這段字符,解密后當作KEY,用于私有數據庫等配置文件的AES/DES加密與解密。代碼如下:

圖2 獲取AES密鑰的部分代碼

長老木馬的進化如下:

圖3 長老四代進化圖

經過一段時間的觀察與分析,我們梳理了“長四”的發現過程及關鍵的時間節點,如圖所示:

圖4 長老四代發現過程及響應

三、行為分析

長老木馬四代主要分為launcher和核心作惡的ELF可執行模塊。ELF可執行模塊又包括distillery、plugins及redbean三個主要部分。 redbean模塊會注入系統Phone進程,具有Phone進程權限,可以在未經用戶允許下,后臺私自訂購SP業務,屏蔽訂購確認和成功短信,給用戶造成經濟上的損失。

長老木馬四代作惡流程如下:

圖5 長老四代流程圖

從啟動方式來看,長老三代主要以替換系統原生文件為自身鏡像,隨系統啟動時執行,由于安全軟件對于這種類型的查殺方法已比較成熟,長老木馬四代采用更加隱蔽的“靜態感染”啟動方式,將惡意代碼插入到被感染的系統文件,在被感染系統文件中完成長老木馬四代的啟動工作。長老四代是在Android系統中首次采用感染技術的木馬。

“長老四代”靜態感染啟動原理如下:

1、感染守護進程啟動時依賴的正常庫文件。在庫文件的導入表里添加launcher的路徑,使守護進程隨操作系統啟動時,加載并執行launcher的惡意代碼。如下圖所示,被感染的系統庫文件的導入表中包含惡意庫文件libs6x.so的路徑。

圖6 被感染的系統庫文件\system\bin\libglog.so

2、Linux的動態鏈接器在加載ELF可執行文件或動態鏈接庫時完成裝載、映射、重定向后,首先依次執行pre_init、init、init_array節中描述地址指向的函數。這些函數都是早于入口點執行的。

圖7 Launcher的init_array節

Linux的動態連接器執行這些函數的初衷原來是為了程序執行前初始化C++靜態構造函數,C庫的IO等等。木馬作者巧妙利用Linux動態鏈接器對ELF文件的裝載原理,在init_array段里寫入了啟動病毒長老四代的代碼。

圖8 啟動長老木馬可執行文件的代碼片段

這種“靜態感染”方式加大了我們的查殺難度。首先,增強了長老四代的隱蔽性,被感染的系統文件裝載時加載惡意launcher,接著launcher啟動ELF可執行文件。由于被感染的系統庫文件除了導入表多了一行字符串(launcher的路徑)之外,與其他正常系統庫文件完全相同,容易躲過安全軟件的“火眼金睛”。其次,增加殺毒軟件的修復難度,由于被感染的庫文件隨系統進程啟動時嘗試加載導入表中的所有so文件,可能會因為安全軟件的暴力刪除導致手機系統掛機。

長老四代被launcher調度啟動后,會生成隱藏的空文件“/data/local/tmp/.l1”和“/data/local/tmp/.l6”。根據長老木馬版本,這些隱藏的空文件名有所不同。隨后,生成加密的主體模塊“distillery-1.0.7.drk”,解密后生成“distillery.dex.jar”,并加載執行其中的函數“com.alkohol.Main.main”。

主要模塊說明如下:

  • distillery

distillery.dex.jar為長老木馬四代病毒的核心主體框架,實現長老四代的核心功能。distillery模塊的“com.alkohol.Main.main”函數,運行時接受4個參數:

arg0=長老木馬路徑、arg1=null、arg2=長老木馬版本、arg3=null。

圖9 長老木馬運行時實際傳遞的參數值

distillery框架運行后生成的主要文件及文件夾:

圖10 長老四代生成的主要文件及文件夾

圖11 實際運行時留下的的文件及文件夾

  • 核心插件

distillery主體框架啟動后會解密plugins下的所有加密drk文件,并加載到內存中。

這些插件實現了接受遠程服務端指令、惡意扣費、短信攔截監控、心跳、日志提交、下載和更新插件等長老木馬四代的所有核心功能。

圖12 插件列表

其中,具備核心功能的插件有mojito、margarita和gin。

1、mojito插件:完成手機短信監控的功能,過濾關鍵詞由遠程服務器下發,主要屏蔽SP扣費業務訂購成功或確認短信,使用戶無法察覺到自己訂購了SP業務,短信監控相關部分代碼如下:

圖13 短信監控插件部分代碼

2、Margarita插件:完成手機扣費功能,實現扣費功能的代碼片段如下:

圖14 付費插件部分關鍵代碼

3、Gin插件:注入相關核心模塊,解密后是redbean.dex.jar。redbean.dex.jar打包了whitebean和libblackbean模塊。whitebean和libblackbean的最終目的是把readbean.dex.jar注入到Phone進程中。注入成功后readbean.dex.jar可以實現讀取攔截短信內容,后臺撥號等敏感惡意行為。

長老四代的注入流程是,whitebean在遠程進程中加載libblackbean.so,libblackbean.so調用JNI_CreateJavaVM實現加載核心模塊readbean.dex.jar。

whitebean啟動時接受6個參數:

arg0=待注入的目標進程、arg1=負責加載jar的so模塊、arg2=核心模塊、arg3=保存臨時dex文件(jar運行時生成的臨時dex存放路徑)、arg4=運行模式(Debug模式和Release模式)、arg5=服務端日志存放路徑。

運行時實際傳遞的參數值:

./whitebean

com.android.phone

libblackbean.so

/data/usr/readbean.dex.jar

/data/usr/cache Release

/data/usr/server.log

whitebean運行后在遠程進程com.android.phone的導入表中搜索獲取dlopen、 dlsym、dlclose、dlerror等函數的調用地址,通過這些函數實現遠程加載libblackbean.so,并調用libblackbean.so的inject_entry函數,把其余的參數(redbean.dex.jar、/data/usr/cache Release、/data/usr/server.log)全部傳遞給它。

libblackbean.so的inect_entry導出函數被執行后,調用JNI_CreateJavaVM加載redbean.dex.jar,并且調用redbean.dex.jar中com.android.phone.os.Program的Main函數。以此整個注入過程結束,下圖為注入過程相關運行日志。

圖15 注入過程相關運行日志

  • Redbean

Redbean模塊注入到Phone進程后具備了與Phone進程相同權限,可以獲取敏感短信內容(比如手機驗證支付密碼)、私自訂購SP業務、攔截短信(攔截刪除SP訂購成功短信)、后臺撥號、關閉WIFI、打開G網等。

其函數com.android.phone.os.Programs.main被調用時接受2個參數:

arg0=運行日志保存路徑、arg1=日志輸出級別。

main函數首先會初始化16個Command類。這些類會根據遠程服務端下發的指令實現IMSI獲取、短信發送與攔截、短信讀取、切換APN、獲取用戶地里位置等指令。

圖16 初始化16個Command類

注入后,發送用戶手機信息(包括病毒版本、IMEI、IMSI、MAC地址等)到遠程服務器(v9bt.heycould.org/crutch):

圖17 發送的用戶信息

接著監聽本地3549端口,等待遠程服務端下發指令:

圖18 握手連接過程

四、長老四背后的陰謀

我們在跟進長老木馬四代時,發現了疑似作者開發的木馬測試程序。主要有注入測試程序和SP業務訂購測試程序。

1、注入測試程序

通過該測試程序我們能更加清晰的了解木馬作者的意圖。木馬作者編寫調試工具對自己編寫的所有模塊的功能進行了全面測試,如獲取手機信息、注入行為成功與否、短信屏蔽與攔截、短信發送、APN切換等多種功能。

下圖中可以看到幾個非常敏感的功能,比如“后臺通話”、“編輯屏蔽內容”、“注入”等:

圖19 redbean注入測試程序

后臺通話功能可以在后臺給某特定電話號碼撥號。在測試程序中發現了木馬作者用作測試用的手機號,該手機號是否為木馬作者本人還無法確定。

圖20 后臺通話測試相關代碼

2、SP業務訂購測試程序

木馬作者為了方便測試SP業務訂購模塊,還做了SP業務訂購測試工具。從該測試工具中可以看到木馬作者事先已開通了SP業務通道,通過發送短信驗證訂購SP業務,并屏蔽掉SP提供商發送的確認短信和定制成功短信等。

圖21 SP業務訂購測試程序

測試程序的開發期時間線:

圖22 木馬測試工具開發時間線

測試程序的IP地址主要集中在北京與天津,美國也曾出現過,從開發的頻率中可以看出,在2015年春節的時候,是開發版本最少的,5月和8月的高峰期,是主要功能的開發,作者對10多個手機品牌進行了病毒兼容性測試,在測試程序開發初期的2014年6月到2015年初進行了大量的兼容性測試,開發者主要使用的手機有ZTE_P6、 TCL_S960、 VOTO_V6、Sony_S39h。從這些數據推測病毒開發者應該是團隊合作,具有測試流程的專業團隊。

五、感染數據統計

我們從360安全中心后臺統計該木馬總感染量已經超過80萬,近半年感染趨勢如下圖所示:

圖23 長老四代感染數量

受長老四代影響的手機用戶機型和系統也是非常的廣泛,感染該木馬的機型和系統分布如下圖所示:

圖24 木馬感染機型分布

圖25 木馬感染系統分布

從地域分布來看,廣東省是受到該木馬影響最大,分布圖如下圖所示:

圖26 木馬感染地域分布

六、解決方案

隨著360手機急救箱用戶數的增長,被查殺到的木馬越來越多,360手機急救箱獨有的深度完整掃描,可以深度掃描和完美清除底層ELF病毒和APK病毒,目前市場上的主流手機安全產品幾乎沒有支持ELF完整深度掃描的功能,如果您的手機刷過第三方ROM或者手機已經Root,建議您采用360手機急救箱進行一次完整的深度掃描,幫助您安全用機。

圖27 360手機急救箱查殺修復界面

圖28 掃碼安裝360手機急救箱

手機急救箱下載地址:?http://jijiu.360.cn/

?

附錄一:長老木馬四偽裝的系統文件

/system/bin/playlpn

/system/bin/tinycapr

/system/bin/sdiokit

/system/bin/racdvd

/system/bin/kyexe

/system/bin/mkaswap

/system/bin/setfatr

/system/bin/tunefs

/system/bin/chcomn

/system/bin/s6xd

/system/bin/getnforce

/system/bin/swaproff

/system/bin/bcdcmd

/system/bin/md2pd

/system/bin/rstrcon

/system/bin/dtfexe

/system/bin/lpnkey

/system/bin/ftmdmn

/system/bin/thrmal

/system/bin/tinyplayr

/system/bin/hvdcpy

/system/bin/setnforce

/system/bin/lowcat

/system/bin/ipoctl

/system/bin/setsebl

/system/bin/dhdp6s

/system/bin/rildm2

/system/bin/npsobex

/system/bin/confwexe

/system/bin/ccaptst

/system/bin/hciattch

/system/bin/ntfsfixr

/system/bin/mc640d

/system/bin/srvcext

/system/bin/getsebl

/system/bin/clatdc

/system/bin/smdiexe

/system/bin/ddcexe

附錄二:長老木馬四代launcher的文件名

/system/lib/libbcd.so

/system/lib/libkye.so

/system/lib/libs6xd.so

/system/lib/libbcdcmd.so

/system/lib/libkyexe.so

/system/lib/libsdi.so

/system/lib/libcca.so

/system/lib/liblan.so

/system/lib/libsdioki.so

/system/lib/libccapts.so

/system/lib/liblow.so

/system/lib/libsetfat.so

/system/lib/libchc.so

/system/lib/liblowcat.so

/system/lib/libsetnfo.so

/system/lib/libcon.so

/system/lib/liblpn.so

/system/lib/libsetseb.so

/system/lib/libchcomn.so

/system/lib/liblpnkey.so

/system/lib/libsim.so

/system/lib/libcla.so

/system/lib/liblsm.so

/system/lib/libsimg2l.so

/system/lib/libclatdc.so

/system/lib/liblsm3cm.so

/system/lib/libsmd.so

/system/lib/libcon.so

/system/lib/libmc6.so

/system/lib/libsmdiex.so

/system/lib/libconfwe.so

/system/lib/libmc640d.so

/system/lib/libsrv.so

/system/lib/libddc.so

/system/lib/libmd2.so

/system/lib/libsrvcex.so

/system/lib/libddcexe.so

/system/lib/libmd2pd.so

/system/lib/libthr.so

/system/lib/libddd.so

/system/lib/libmka.so

/system/lib/libthrmal.so

/system/lib/libdhd.so

/system/lib/libmkaswa.so

/system/lib/libtin.so

/system/lib/libdhdp6s.so

/system/lib/libnps.so

/system/lib/libtinyca.so

/system/lib/libdtf.so

/system/lib/libnpsobe.so

/system/lib/libtinypl.so

/system/lib/libdtfexe.so

/system/lib/libntf.so

/system/lib/libtun.so

/system/lib/libftm.so

/system/lib/libntfsfi.so

/system/lib/libtunefs.so

/system/lib/libftmdmn.so

/system/lib/libpla.so

/system/lib/libswa.so

/system/lib/libgetnfo.so

/system/lib/libplaylp.so

/system/lib/libswapro.so

/system/lib/libgetseb.so

/system/lib/libracdvd.so

/system/lib/libget.so

/system/lib/libgeu.so

/system/lib/librac.so

/system/lib/libset.so

/system/lib/libhci.so

/system/lib/libril.so

/system/lib/libs6x.so

/system/lib/libhciatt.so

/system/lib/librildm2.so

/system/lib/librim.so

/system/lib/libhvd.so

/system/lib/librstrco.so

/system/lib/libipoctl.so

/system/lib/libhvdcpy.so

/system/lib/librst.so

/system/lib/libipo.so

附錄三:長老木馬四代MD5

329846b610c76e884095ea9d5f5c8834

082bf566cc352c394577af7f1f797ae5

4659b1400f48318d0f63c47dc2b9b72e

a86827029a76240557e6c30b2792df14

789295e3d7887a4c3c32b3a6e75e554f

cef52d7da4882ab0a0501842d394295a

2dab85922133d23af30daa3d77d09476

f7ba67aa8d5675f18990375e3454235b

eac6a1cbae6f58a44cdbf7238ef91fa2

0dbf5bdfc6dd1bca39cff140e4fc7d59

d4e4e3f6cbef3808f8ad917a540f836d

da7a39444869e39264f8f1ddc9c42a97

e42b6ce6c3931989c975ce59c457d66a

e111dcc031a84ef725bcf3e81ed71f36

8de2c6ae586916cba989e0019105d274

ad18e3a36d3a67e1ecbc2220cae1483f

8e2b79548050e4b9ad60d1d984f12d9d

933a65e0105c4c0f5440aeffb3c1a764

8b2bd87da31254ef4ecb4ffcb8f26aa6

ae4936e5aad44b320f2bf5d698c92db4

706c4b63184a2ab2f809169a2b8fe9eb

803573b88583e4b81dec39643d6f41b7

09ba245c80582cf115a870f43f3bc053

09dbbc772799723e43c34c9fae2f4ad8

0ae3e4a351cfe9d6228296537db418ec

0fd672c1f0333403a59bbdf04c0af05e

148c7874455c10834f0e7937f15dbddf

18d8f5803e1f580c2410bb98b59a127d

22046f82b2a72e5686603ab538b3a08a

24af8fc3faf1a488d444e9a4de066073

25e881576d9c389e445787626f6cf43f

2cce7a5f8d1b64b8f5b2e2760cc85894

33d5e3e723d3873420fc70a767de5e40

37fc9630b0dabe98b6d23bf6e5cc3aa2

3b2d947123032f130938fb361d2bd2cd

3feab5d93fe5ff6a17f43ecfccd52274

45bf3cd32b9926ad516dd114c2f86fd2

5562b855d6355c963e12a66bea648c9e

55eb106019a630b89b506feda186c287

5e9053e17e962cbbd8b36d6b1077684a

5ff96879be23ac965bc2e2b6ded9234e

60bab93a8a7930334283aee53089c746

6289059110505539e2feb61aecfcafee

6405d4d65e2a7e124f6b067a87e2a3c3

691fe3e6f56fc2dcb2acd67c68c95c16

73f98eaa2ce77a5027a5dbff80841b90

79f1d3d921279777a0922e09c579815c

7b8dfae2e5bedec452af3c2187d3dfdf

8bb83547ec903cbb272ec21e6ff8c11e

99b246167b11d9aa912a346a3f976486

9ded2e0b0557a18412ff8d17141594df

9fdc479b76099b099ad85fafb3d80d17

a5dcad67df52793cc72a706697ddfb00

a91fb51b9ecaff59e0aa3f9131ae9f0d

b7a29b102f332dc7ddc94c86d514e9fc

bf12b4062293e553878e5a8ed5e5c8ee

c372ab758d39e6e03ac544c053dba011

c4a942a1b5cffd89f79b9ed9c0dc7fc1

相關閱讀鏈接:

FakeDebuggerd.A:http://blogs.360.cn/360mobile/2014/03/06/fakedebuggerd-android-rootkit/

FakeDebuggerd.B:http://blogs.360.cn/360mobile/2014/06/18/analysis_of_fakedebuggerd_b/

FakeDebuggerd.C:http://blogs.360.cn/360mobile//2014/11/24/analysis_of_fakedebuggerd_c_and_related_trojans/


原文地址:?http://blogs.360.cn/360mobile/2015/11/16/analysis_of_fakedebuggerd_d/

總結

以上是生活随笔為你收集整理的“蜥蜴之尾”——长老木马四代分析报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。