蜥蜴之尾」——長老木馬四代分析報告

2021-02-16 黑白之道

【新朋友】點擊標題下面藍字「黑白之道」關注

【老朋友】點擊右上角,分享或收藏本頁精彩內容

【公眾號】搜索公眾號:黑白之道,或者ID:i77169

長老四之前世今生

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

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

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

  進化篇

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

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

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

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

  長老木馬的進化如下:

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

  行為分析

  長老木馬四代主要分為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。

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

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

  核心插件

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

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

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

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

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

  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手機急救箱進行一次完整的深度掃描,幫助您安全用機。

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

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

  附錄三:長老木馬四代MD5

  相關閱讀連結

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/

比特幣贊助打賞地址:13sbdFRyFBeqmXY9GJQf66s5cwmvLvWaAD

----

要聞、乾貨、原創、專業
關注「黑白之道」 微信:i77169
華夏黑客同盟我們堅持,自由,免費,共享!

相關焦點

  • 國產蜥蜴藍尾石龍子的飼養和介紹
    說到藍尾石龍子。當然沉迷其中的玩家也是非常之多。但因為體型小,屬於造景蜥蜴,再加上比較羞澀常年鑽在墊材下,幾乎不露面。所以很多玩家在此止步了。我一直堅信,長期的飼養CB化會讓這種蜥蜴,對人的畏懼感減輕。
  • 2019年網絡安全應急響應分析報告:針對大中型企業的攻擊增多
    中國規模最大的網絡安全公司奇安信近日發布《2019年網絡安全應急響應分析報告》,報告披露,針對各政府機構、大中型企業的攻擊呈逐年上升趨勢,網絡攻擊從未停止過。其中,醫療衛生、政府部門、事業單位行業是攻擊者攻擊的主要目標。
  • 【攻略分析】小智的榮耀——蜥蜴王
    這次給大家帶來的是我的真愛英雄-蜥蜴王。在TV裡面,智爺的蜥蜴王有著獨特的魔力,它的好強、努力、冷靜與孤傲別具一格,想起它時,形象高大且飽滿。因為喜歡,所以蜥蜴王一直以來都是我建隊的核心,並嘗試讓它與眾不同,這一次我發現了獨特的打法,分享給大家。
  • 劍與遠徵蜥蜴家具強度介紹 蜥蜴家具怎麼樣分析
    劍與遠徵家具系統得到了玩家一致的好評,家具系統上線後,很多英雄得到了大幅度的加強,其中蜥蜴最為矚目,那蜥蜴的家具怎麼樣呢?強不強呢?
  • 密雲出現新奇「藍尾」蜥蜴,假如你遇到,千萬別圈養它!
    「藍尾石龍子?」近日,一網友在密雲的山上偶然發現一隻新奇的蜥蜴驚叫了起來,隨手拍後發到微博上。
  • 歡樂大作戰蜥蜴遊俠強度分析評測
    歡樂大作戰蜥蜴遊俠怎麼樣厲害嗎?歡樂大作戰蜥蜴遊俠有哪些優點與缺點?
  • 「異鬼Ⅱ」Bootkit木馬詳細分析
    下載站的高速下載器一直是惡意木馬大規模傳播的溫床,前段時間的暗雲Ⅲ木馬通過高速下載器傳播推廣,感染機器數高達數百萬臺。近期,騰訊電腦管家又攔截到了一個通過高速下載器大範圍傳播的惡性Bootkit木馬——異鬼Ⅱ,令人吃驚的是這個惡意VBR的植入者,居然是一款比較知名的軟體——甜椒刷機。
  • 新版遠古魔像之精魄比較分析!
    本文將問您分析遠古魔像之精魄的改動,這件新裝備與其他的打野道具相比如何,哪些英雄何以從改動中獲益。新版遠古魔像之精魄vs老版遠古魔像之精魄有什麼變化?我們會從兩方面分析這些裝備:它們在野區的表現如何,它們在戰鬥中的表現如何。
  • 蜥蜴飼養之藍舌石龍子的飼養管理
    藍舌石龍子,藍舌蜥的外型不但少了一般蜥蜴類的猙獰 ,反而還多了一份滑稽,加上那特殊的藍色大舌頭,自然也吸引 了不少愛好者。
  • 《原神》蜥蜴尾巴在哪刷新 蜥蜴尾巴刷新分布位置一覽
    導 讀 在原神中蜥蜴尾巴的刷新位置很多玩家不知道分布在哪裡,我們在哪去尋找蜥蜴的尾巴呢?
  • 調查:美國長老會,美國聖公會「傳福音」能力排名末尾
    美國長老會的研究服務部門發布了一份以長老會和美國聖公會為中心的美國教會活力研究分析報告。根據長老會新聞社(Presbyterian News Service)的報導,1月27日發布的這項調查包括了美國長老會和聖公會各78間的156個教會,並問詢了約9000名教會成員的意見。
  • 蜥蜴吃自己的尾巴是為了補鈣?
    蜥蜴尾巴上的這種特殊橫隔構造是在其尾椎骨骨化過程中形成的,這是其它有尾動物很難擁有的特殊結構。當蜥蜴遇到危險的時候,它的尾部肌肉會進行強烈的收縮,尾部肌肉的強烈收縮會導致尾部的橫隔斷裂,最終引起蜥蜴的自截現象出現。
  • 世界蜥蜴分類圖鑑(上)
    ,雖然其外形近似蜥蜴,但是骨骼結構和蜥蜴相差很多。該種是美洲大陸上最大的蜥蜴,體長可達2米,生活與中美與南美的熱帶雨林中,棲息於樹冠層,受驚時可躍入水中,善於遊泳。尾可自斷。幼體除了取食植物外還會少量捕食昆蟲,成體完全植食性。幼體亮綠色,成體體色變淡。種下分2個亞種,一個是指名亞種I.i.iguana ,一個是犀角亞種I.i.rhinolopha ,即通常所說的III和IIR。該種是世界上飼養最多的蜥蜴,也是市場上最常見的進口蜥蜴之一。
  • 地球上真的存在「蜥蜴人」這一物種嗎?美國蜥蜴人襲擊之謎如何解釋?
    地球上真的存在「蜥蜴人」這一物種嗎?美國蜥蜴人襲擊之謎如何解釋?
  • 《怪蛋迷宮》手遊中蜥蜴特點分析 蜥蜴通關技巧分享
    導 讀 相信很多小夥伴玩了這麼久的怪蛋迷宮手遊,都或多或少接觸過裡面的boss了,有些boss的機制是比較難的,比如第二層的蜥蜴
  • 世界奇異風景之雲霧森林獨一無二的匹諾曹蜥蜴
    安第斯山脈如同一個巨大的屏障,從南部的巴塔哥尼亞,延伸6000多公裡,直到北部的菱內瑞拉這是世界上最長的山脈,其中一些山峰的海拔,高達7000米左右,雲霧被這些高大的山峰陽擋,形成了一個,不同於南美大陸任何地方的特殊環境,雲霧森林每座山谷,都純藏著獨一無二的野生動植物,其中一種被人稱為匹諾曹蜥蜴
  • 蜥蜴之斷尾與再生
    一、防患於未然最重要家養的蜥蜴自然是生活在相對安全的環境之中,當然我們作為飼主也需要極為注意:1、保證寵物蜥蜴的飼養環境遠離小孩子以及家養寵物或其他外來野生動物的驚擾;2、在與寵物蜥蜴互動時,應輕拿輕放、輕輕撫摸,尤其是當它們初來乍到對於環境還極為陌生的時候,不要給它們過多的壓力
  • 蜥蜴的斷尾求生術
    右圖個體的尾巴已經有相當程度的再生,但仍然可以看出自割面與再生尾的明顯交界(圖中物種為截趾虎Gehyra mutilata。林展蔚攝)小時候喜歡東抓抓西抓抓的生態動物愛好者們應該常有失手,讓壁虎斷尾的經驗,相信所有首次親眼目睹的人都會對這個神奇的行為感到驚訝並且難以忘懷,畢竟自斷肢體對於人類來說是非常難以想像的。什麼是斷尾自割?
  • 誰才是國產蜥蜴之王?10 款常見的國產蜥蜴排行~它們真的都適合當寵物嘛? | 肆養周報
    NO.6  藍尾石龍子  不過由於包括中華石龍子在內的很多石龍子幼體尾巴都是藍色的,所以市場上都把它們以 X 線藍尾石龍子之名稱呼,所以這裡說的也是一般統稱的藍尾石龍子。從外表上看,藍尾石龍子絕對是國產爬寵中的佼佼者,其一手透露著金屬質感的華麗尾巴和便宜得到了很多爬友的喜愛。(雖然大部分在長大後都會褪去~)飼養上藍尾石龍子體型較小,不用佔太大的飼養空間,唯一要注意的溼度。
  • [輕科普] 蜥蜴斷尾能修復嗎?
    大多數人存在這樣的認知,他們認為蜥蜴斷掉的尾巴會長出來一條一模一樣的,就像蠑螈腳掌的再生一樣。也問了一些有生物背景的朋友,雖然有些見過比如豹紋守宮(Eublepharis macularius)軟綿綿的再生尾,但他們不知道裡面是不是有骨頭的,還會不會斷掉?