亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

HackingTeam的安卓RCS病毒樣本分析

近日總部位于意大利的監控軟件開發公司HackingTeam被黑,415GB文件被泄露,其監控軟件源碼和漏洞源碼流出,對網絡安全造成了巨大沖擊。筆者對HackingTeam開發的適用于安卓系統的監控軟件RCS系統進行了分析,并對可能出現的利用該系統源碼的病毒針對性的展開查殺,目前已經攔截了數十個利用該技術的變種病毒,這些病毒在隱蔽性,危害性上都非常的強大,已經對用戶的隱私,數據安全構成了非常嚴重的威脅。
目前出現的病毒,很大程度上還只是在RCS系統源碼上做了部分更改,有些變種已經開始采用一些較不常見的手段規避殺軟的查殺。

下面就以一個比較典型的病毒變種為例,來看看黑客們是怎么利用RCS技術攻擊我們的。

目錄結構:

目錄結構
Librunner.so內容如下:
可以看出只定義了一個函數invokeRun,做了打印輸出和utf的編碼解碼函數的調用。

Librunner.so
使用的主要加密文件:

Messages.bin文件使用AES對稱加密,里面包含了一些敏感的可被作為特征的字符串和api關鍵字。文件內容是使用鍵值對的方式存儲的,在使用的時候通過鍵值(如:13.0)取出對應的字符串(對應13.0的為Content://mms/sent),部分截圖如下:下圖中并不是文件原本的存儲方式,文件中是使用“=”做的分割,這里為了讓大家看清楚經過了作者的處理,其中key為鍵,value為值。

masseges.bin  上圖展示了masseges.bin文件的一部分內容,如想獲取全部內容請自行解密文件

程序結構:

下圖中列出了病毒樣本的主要程序結構:

AndroidManifest.xmlAndroidManifest.xml文件結構:

應用權限對比:

應用權限對比通過兩圖對比,可以看出病毒樣本比RCS源碼申請了更多的權限。

組件對比:

組件對比  從組件對比可以看出,RCS源碼和病毒樣本注冊的廣播接收器receiver和服務service名稱完全相同,只是在監聽的消息上存在微小差異。

病毒行為:

病毒邏輯:

病毒邏輯主要分為兩部分,一部分使用注冊的廣播監聽器,監聽特定的廣播,手機如短信,來電等信息,將收集到的廣播保存在特定的類中共其他類調用。另一部分通過名為core的主線程,進行手機狀態(是否root,sd卡上是否存在相關目錄并創建文件等)判斷,獲取硬件信息,用戶位置,發送短信,鏈接遠程服務器上傳收集到的信息或更新病毒代碼等。

廣播監聽器部分:

病毒被安裝后,會注冊廣播接收器監聽手機廣播(短信廣播,來電廣播,充電廣播,屏幕解鎖廣播等),并通過服務獲取用戶的隱私信息,包括攔截短信,監聽電話等。 這里以攔截短信為例進行說明:

注冊的廣播接收器,通過攔截android.provider.Telephony.SMS_RECEIVED系統廣播,在用戶收到短信時使用BroadcastMonitorSms類攔截到用戶短信并通過abortBroadcast()阻斷廣播子繼續傳播。

注冊的廣播接收器被感染手機接收到的短信被攔截讀取。

被感染手機接收到的短信被攔截讀取
上圖中x.a(“26.0”)返回字符串“pdus”,從而獲取intent中額puds結構體重保存的短信息。x這個類中保存了,masseges.bin文件解密后得到的鍵值對,x.a()方法可以通過鍵(如“26.0”)獲取到字符串(如“pdus”)

獲取到攔截的短信內容(包括號碼,內容,時間)后,保存在一個類中:

攔截的短信內容保存類將保存信息的類加入到列表中,這部分大量使用繼承、多態等技術,使得通過這些服務收集到的信息可被其他類獲取、保存并最終上傳。

列表數據主要服務Core部分:

病毒在BroadcastMonitor廣播接收器被觸發后,通過發送action為com.android.service.app的intent,啟動主要服務ServiceCore

BroadcastMonitor在ServiceCore中會首先解密保存的加密文件,并將文件內容以鍵值對的方式保存起來,方便后面取用。檢查、安裝并執行后門程序,啟動主要線程CORE:

ServiceCore解密massege.bin代碼:在下圖可以看到massege.bin文件,是使用秘鑰為”0x5A3D00448D7A912B” 加密方式為:”AES/CBC/PKCS5Padding”的對稱加密算法。程序在解密文件后,將文件中保存的關鍵字符串信息以鍵值對的形式保存在一個 map中,以便在后面使用。

解密massege.bin代碼在屏幕關閉后保持程序運行:在用戶使用電源鍵關閉手機屏幕后,手機的cpu實際上保持著運行,也就是說病毒的程序仍然在執行,使得用戶不知不覺仍然處在監控中:

程序后臺運行
下面是啟動的Core線程,在該線程中會檢查手機的root狀態,被感染狀態,信息手機狀態,并收集手機的各種基本信息,訪問遠程服務器,發送短信,控制進程的休眠啟動等等,這里僅就信息收集部分做說明:進一步調用信息收集,上傳的方法如下圖,由于樣本高度混淆,再加上使用了很多的繼承和多態,多線程機制使得代碼邏輯跟蹤比較復雜,這里只描述一條邏輯,具體情況請以具體反編譯代碼為準。下面僅對幾個關鍵類進行截圖說明,其余跳轉則不在此處贅述。

啟動的Core線程圖變量V5為類h的對象

變量V5為類h的對象圖中的數字對應的就是病毒企圖隱藏起來的字符串,經過替換后該語句如下:

this.d=”SID:”+V0_3.e+“, NID:” + v0_3.f+”” , BID:”+v0_3.g;

上圖收集了用戶的IMSI、IMEI,SID等硬件信息以及所在位置的經緯度信息等, 具體獲取方法在U.f()中,截圖如下:

病毒程序在獲取上述信息后以短信的形式發送出去

可以看出,由于HackingTeam事件發生沒有多久,很多黑客就已經做出了反應,利用該事件暴露出來的工具和技術對用戶進行攻擊并且該類病毒對用戶隱私威脅極大,屬于高危間諜軟件,尤其是使用了比較新穎的使用文件給關鍵字符串加密,在程序運行中解密文件,并以鍵值對的方式保存關鍵字符串,在相關位置使用鍵取值,從而躲避殺軟的查殺,這說明黑客在利用網上暴露的公開的技術的同時更自己進行了改造、升級,以更加危險的形式出現。

建議用戶安裝殺軟,在日益嚴峻的移動安全形勢下與安全廠商攜手保護好自己的權益

上一篇:四種捕獲DDoS攻擊的監測工具

下一篇:Hacking Team攻擊代碼分析: Flash 0day漏洞