Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863561062

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

1.jpg

概述經監測,我們截獲了一起與未知家族有關的欺詐性Android 應用傳播事件。詳細調查發現,該家族主要使用開源的Telegram Android 源代碼作為其核心功能模板。通過各種策略,包括但不限於刷單、投資推廣和色情聊天,該家族誘導用戶下載並安裝其應用,從而執行欺詐操作。進一步網絡環境探測結果顯示,存在多款與該家族高度相似的活躍應用,進一步證實了這些應用確實屬於同一個欺詐家族。這個家族不僅具有高度的欺詐性和一致性,還擁有一個完整的業務供應鏈。基於上述特點,我們決定為這一欺詐家族命名為“BOOMSLANG(樹蚺)”。

技術分析2_副本1.jpg

從我們獲取的家族樣本中進行溯源分析後,發現該家族最早始於2022 年9 月進行傳播。由於當時疫情等外部因素的影響,該家族在2022 年9 月至2023 年3 月期間處於欺詐傳播的初級階段。然而,隨著社會狀況逐漸恢復,該家族開始大規模傳播,並推出了多個不同業務類型的版本。值得注意的是,為了適應反欺詐措施,該家族在2023 年7 月首次進行了變種,引入了“Domain Over HTTPS(DoH)”技術。隨後,在2023 年9 月,家族樣本再次發生變種,增加了對現有自動化App 安全檢測手段的抵抗能力,具體採用了NPManager 自帶的StringFrog 混淆技術,以規避基於字符串提取的安全檢測。

DoH(DNS over HTTPS)是一種安全協議,用於通過HTTPS 加密的連接進行DNS 解析請求和響應。其主要目的是增加隱私和安全性,防止DNS 請求被竊聽或篡改。

接下來,我們將對該家族的原始版本以及引入DoH 技術的版本進行深入分析。

樣本概況樣本標識马云惹不起马云MD5 Hash:0a731ace7a01349d8c103ad5dc7fc230

功能與行為1.登錄界面:樣本啟動後展示的是一個登錄界面,該界面要求輸入邀請碼以進行登錄。

2.聊天界面:登錄成功後,用戶將進入一個聊天界面。

3.惡意活動:該樣本主要通過聊天功能進行詐騙或其他類型的惡意行為。

3.png

分析細節樣本基本面分析4.jpg

5.png

1.權限分析:使用Incinerator 工具打開樣本後,從生成的Report 信息中可以觀察到,該樣本請求了多個高風險的權限。

8.jpg

7.jpg

6.jpg

2.動態檢測結果:

马云惹不起马云包名與子目錄問題:動態檢測結果顯示,在im.lpfupkaehn.messenger包名下的tgnet子目錄中,NetworkConfig.java文件存在明顯的問題。

接下來,我們將詳細分析im.lpfupkaehn.messenger包名的具體表現和潛在風險。

代碼相似度文件與目錄結構马云惹不起马云tgnet 子目錄:在im.lpfupkaehn.messenger的相應目錄下,存在一個明確的tgnet子目錄。

源碼比對马云惹不起马云GitHub 搜索結果:利用該目錄中的代碼進行GitHub 搜索後,發現這部分代碼與Telegram Android 源碼高度相似。

页面 1 (1).png

代碼相似性比較马云惹不起马云im.lpfupkaehn.messenger與org.telegram.messenger

11.png

合并2.png

多個類文件,如AccountInstance等,在排除反編譯因素後,顯示為100% 相同。

代碼差異分析主要新增部分在該樣本中,基於Telegram Android 源碼,主要有三個顯著的新增部分:

1.依賴庫:

马云惹不起马云位置:主要集中在com目錄下。

马云惹不起马云功能與調用:這些庫基本上都能通過搜索找到其調用處,主要用於處理一些較小的功能。

马云惹不起马云示例:com.alibaba.fastjson庫主要用於處理更新用戶信息的協議。

2.UI 目錄差異:

马云惹不起马云對比:im.lpfupkaehn.ui目錄與org.telegram.ui目錄相比,前者多出幾個目錄。

马云惹不起马云推測:這些新增目錄可能是為了滿足定制UI 的需求而加入的。

合并3.png

3.tgnet 目錄差異:

马云惹不起马云對比:在im.lpfupkaehn.tgnet和org.telegram.tgnet目錄之間進行比較,發現前者多出幾個文件。

马云惹不起马云推測:這些新增文件可能是用於實現特定的網絡通信或功能。

合并4.png

詳細新增類文件分析在該家族樣本中,特別值得注意的是新增了以下類文件:

基礎網絡與文件操作類:马云惹不起马云FCTokenRequestCallback: 可能與Token 請求有關。

马云惹不起马云FileLoadOperation: 文件加載操作。

马云惹不起马云FileLoadOperationDelegate: 文件加載操作的代理。

马云惹不起马云NetBean: 網絡配置Bean。

马云惹不起马云NetworkConfig: 網絡配置。

马云惹不起马云ParamsUtil: 參數工具。

Telegram 後台通訊擴展(TL 系列):马云惹不起马云TLApiModel: API 模型。

马云惹不起马云TLRPCZ: 可能與RPC 通訊有關。

马云惹不起马云TLRPCBackup: 備份相關。

马云惹不起马云TLRPCBasic: 基礎RPC 功能。

马云惹不起马云TLRPCCall: 通話功能。

马云惹不起马云TLRPCCdn: CDN 相關。

马云惹不起马云TLRPCChats: 聊天相關。

马云惹不起马云TLRPCContacts: 聯繫人相關。

马云惹不起马云TLRPCFriendsHub: 好友中心。

马云惹不起马云TLRPCHotChannel: 熱門頻道。

马云惹不起马云TLRPCLogin: 登錄相關。

马云惹不起马云TLRPCRedpacket: 紅包功能。

马云惹不起马云TLRPCWallet: 錢包功能。

這些新增的類文件主要涉及到網絡操作、文件處理以及與Telegram 後台進行通訊的多個方面。這進一步突顯了該家族樣本相較於原始Telegram 代碼的定制和拓展。

網絡行為分析報告主要焦點:NetworkConfig.java基於自動化分析的結果,NetworkConfig.java文件代碼中存在明顯的問題,因此本次分析將重點關注該文件。

網絡配置更新機制18.png

環境區分:代碼中區分了線上環境和內網環境。只有標識為1002 的是線上環境,需要更新網絡配置。

19.jpg

這裡有兩個關鍵函數initRemoteConnInfos和selecteRemoteConnInfo

20.png

關鍵函數分析:initRemoteConnInfos: 主要負責從配置接口https://*************.***-**********.********.***/************.***獲取目標IP 和端口信息。

21.jpg

selecteRemoteConnInfo:使用阿里遊戲盾將目標IP 和端口轉換為代理IP 和端口,達到隱藏實際IP 和端口的目的。

22.png

23.png

阿里遊戲盾使用邏輯功能介紹:阿里遊戲盾提供了一個免疫DDoS/CC 攻擊的彈性安全網絡。具體來說,它根據提供的目標IP 和端口生成一個動態變化的代理IP 和端口。

挑戰與影響:對於網絡行為分析和惡意程序網絡請求攔截來說,阿里遊戲盾的彈性安全網絡構成了一個嚴重的挑戰。因為代理IP 和端口可以不斷變化,這極大地增加了網絡追踪和攔截的難度。

該樣本利用了複雜的網絡配置和第三方安全服務(阿里遊戲盾)來隱藏其實際網絡行為,從而增加分析和追踪的難度。這些特點進一步證明了該惡意樣本的高度專業性和隱蔽性。 YunCeng.getProxyTcpByDomain的反編譯代碼如下:

24.png

25.png

根據阿里遊戲盾官方網站上較舊版本的文檔,getProxyTcpByDomain函數的前四個參數表現如下:

26_副本.png

函數的後兩個參數則用於返回與輸入目標IP 和端口相對應的代理IP 和端口。在對上述代碼進行進一步分析後,我們發現返回的代理數據最終被傳遞給了ConnectsManager。

27.png

28.png

我們注意到這是一個native函數。在常規情況下,我們需要逆向分析。 so文件以獲取相應的代碼。然而,由於之前我們已經提到這個樣本代碼與Telegram Android 有很高的相似性,我們決定直接查閱Telegram Android 的源代碼來進行分析。

29.png

30.png

在這個步驟中,返回的IP 地址和端口號被設置給了ConnectManager 的datacenter 對象,並隨後重新發起了握手過程以建立新的連接。這一操作實現了樣本與雲端網絡通訊的服務器切換。至此,惡意樣本已經成功地通過新的IP 和端口與遠程服務器建立了新的通信通道。

攔截方法:經過詳細分析,我們完成了對樣本主要網絡請求逃逸攔截行為的審查。該樣本巧妙地利用了防DDoS 服務,通過不斷更換請求的IP 地址和端口,有效地規避了傳統的基於固定IP 請求攔截的防護手段。

要全面阻斷這一樣本的網絡請求,需要通過靜態和動態分析相結合的方式,找出樣本是如何利用阿里遊戲盾服務的,並據此攔截相關網絡通信途徑。具體攔截策略可集中在以下三個方面:

1.攔截樣本通過請求阿里遊戲盾來獲取目標IP 地址和端口的網絡請求。

31.jpg

2.如果第一種攔截策略未能成功執行,那麼還需要針對樣本中預設的默認IP 和端口進行攔截。具體來說,應該攔截所有指向****.**.********.***的網絡請求。

33.jpg

32.jpg

3.在灰度測試階段,如果前兩種攔截策略都未能成功,那麼應關注樣本中預設的第三個默認IP 地址,即**.***.***.***。所有指向這一IP 的網絡請求也應被攔截。

34.jpg

這些網絡請求被巧妙地深藏在代碼中,需要綜合應用動態和靜態分析方法才能準確地識別出它們,這無疑給安全對抗工作增加了額外的挑戰和工作量。

家族變種分析在持續追踪此類惡意APP 過程中,我們發現了一種新的變種,其MD5 哈希值為61eea96bae6e53b6806d974cf35877df。這個新樣本做出了一個顯著的變化:它不再依賴於阿里遊戲盾,而是轉向使用了七牛雲的DoH(DNS over HTTPS)服務。具體的使用方式如下:

35.png

36.jpg

在這個新的變種中,攻擊者將HOST 中的地址配置為七牛雲的DnsManager 的dnsServer。然後,該DnsManager 負責進行DNS 查詢。這種改變不僅表明攻擊者正在逐漸熟悉和利用更高級的網絡服務,而且也增加了分析和攔截其行為的複雜性。

37.jpg

在這種情況下,樣本通過其自己控制的dnsserver 來動態地更換IP 地址。這種設置使得攻擊者能夠在後端使用類似於阿里遊戲盾的工具,隨機返回不同的代理IP 地址,從而實現真實IP 地址的隱藏。如果DNS 查詢失敗,樣本會回退到預設的IP 和端口,進一步增加了對抗分析的複雜性。這種多層次的網絡行為策略不僅增加了分析工作的難度,也為有效攔截創建了額外的挑戰。