1. 程式人生 > >[Android病毒分析]木馬病毒之10086

[Android病毒分析]木馬病毒之10086

木馬病毒之10086

一、 樣本概況

1.1 樣本資訊

檔名稱:10086.apk
檔案型別:application/jar
樣本包名:iuxkikw.zkjaksj.jhyvu
樣本大小:31.3KB
MD5:C2CD6ABCB62A8DF958049ACFFA204392
SHA1:DE9BDBF724E6ADF9BFE1BED7047B176851B5AE74
病毒行為:攔截簡訊、刪除簡訊。

1.2 測試環境及工具

測試環境:夜神模擬器 V_3.8.3.1
工具:Jeb、AndroidKiller

1.3 分析目標

1、 病毒執行的具體方式
2、 查殺病毒

二、 具體行為分析

將樣本檔案安裝到夜神模擬器中,雙擊執行檔案。出現啟用工作管理員的請求。點選啟用,提示程式停止執行。
在這裡插入圖片描述
在這裡插入圖片描述
但是通過開啟設定,發現程式在後臺依然執行。
在這裡插入圖片描述
將APK檔案拖到AndroidKiller中,等待反編譯結束,發現該應用程式建立了一個活動,兩個廣播和一個服務,並且獲取到了如下敏感許可權。

許可權 含義
android.permission.WRITE_SMS 編輯簡訊和彩信
android.permission.SEND_SMS 傳送簡訊
android.permission.READ_SMS 讀取簡訊和彩信
android.permission.RECEIVE_SMS 接收簡訊
android.permission.RECEIVE_BOOT_COMPLETED 開機自啟
android.permission.READ_PHONE_STATE 獲取手機狀態和身份

在這裡插入圖片描述
通過觀察AndroidManifest.xml檔案發現,在這個檔案中靜態註冊了兩個廣播。

廣播 功能
com.fhgfd.heee.kc 啟用裝置管理器
com.fhgfd.heee.kd 接收簡訊、開機自啟、使用者喚醒機器、新增包、移動包

利用Jeb開啟樣本檔案,進行分析。可以看到,在onCreate函式中首先對手機的型號進行了判斷。如果是Nexus型號的手機那麼就退出,不進行操作。
在這裡插入圖片描述
可以看到,如果手機型號不是Nexus的話,程式首先開啟了一個服務。傳入了一個kse的類,跟進去看一下。首先看一下onCreate這個方法,在這個方法中首先註冊了一個接受資訊的廣播,並且設定了優先順序。
在這裡插入圖片描述
然後分析,onReceive方法,在這個方法中通過攔截簡訊,判斷簡訊是不是作者發的。如果不是,那麼通過kapi.s這個方法發給作者。如果是,給作者提示有沒有傳送成功,簡訊格式正不正確。
在這裡插入圖片描述
最後通過呼叫,kse.this.o這個方法用來檢測簡訊收件箱有沒有發生改變。點進去進行詳細分析。通過獲取簡訊的收件箱,然後呼叫Change方法進行監控。首先獲取收件箱簡訊的序號。然後通過獲取發件人,以及內容。判斷這是不是一個有效的簡訊。最後通過呼叫delete函式刪除簡訊。
在這裡插入圖片描述
在這裡插入圖片描述
總結一下,這個服務大致的功能就是,攔截簡訊,傳送給作者,監控簡訊收件箱,刪除簡訊。

回到MainActivity接著往下走。呼叫了kspi.s()方法。點進去仔細分析,該函式首先獲取到本機的MIEI以及手機號碼然後與傳進來的引數進行組合。接著呼叫了了v12.start()方法。發現這個物件所屬的類繼承了Thread類,可知這是一個執行緒。然後通過分析run()函式的內容,可見是將剛才的內容傳送給了一個網址為:http://wap.dzf10086.com/kk/ch.php 的伺服器。然後返回來,接著看通過呼叫sendTextMessage方法將資訊發給了作者。
在這裡插入圖片描述
在這裡插入圖片描述
除此外。在關於作者手機號的地方,作者進行了AES加密。通過提取程式中的程式碼,可以解密得出作者的手機號:13066310152。
在這裡插入圖片描述
根據程式,寫出解密原碼。
在這裡插入圖片描述
在這裡插入圖片描述
可以看出,作者將攔截到的簡訊不僅僅傳送到自己的手機還發送到了一個指定的伺服器。

回到MainActivity接著分析。接下來是請求啟用裝置管理器。,當用戶點選取消的時候,程式可以被解除安裝,當用戶點選啟用的時候,程式無法被解除安裝。並且兩種情況的結果都會被程式傳送到指定的伺服器和使用者的手機上面。
在這裡插入圖片描述
在這裡插入圖片描述
分析到這基本上就結束了。但還有一個類沒有分析,就是com.fhgfd.heee.kd。這個類是一個廣播類,在AndroidManifest.xml中進行了靜態註冊,會接手接收簡訊、開機自啟和使用者喚醒手機螢幕等廣播。仔細分析onReceive方法,首先過濾掉Nexus型號的手機,然後判斷kse服務有沒有正在執行,如果沒有執行,再判斷收到的是不是SMS_RECEIVED的廣播,如果不是開啟服務,退出。如果是的話,那麼自己完成攔截簡訊將資訊傳送到伺服器和作者手機上面,然後檢測收件箱的變化。
在這裡插入圖片描述
在這裡插入圖片描述
總結,樣本通過誘騙使用者啟用裝置管理,導致程式無法正常解除安裝。監控使用者的簡訊,並將簡訊傳送到指定的伺服器和病毒作者的手機。

三、 查殺方法以及解決方法

1、 提取病毒特徵,利用防毒軟體進行查殺。

(1) MD5:C2CD6ABCB62A8DF958049ACFFA204392
(2) 提取關鍵字串:
    祕鑰字串:AE920882F4F5818501AB6256F91691D5 
    網址字串:http://wap.dzf10086.com/kk/ch.php
    密文字串:37349EC2F427A1AF812DA757988CB9DE
在這裡插入圖片描述

2、 解決方法

開啟裝置管理器,設定—>安全–>裝置管理器,將右上角的對勾取消掉。然後進行解除安裝。
在這裡插入圖片描述
在這裡插入圖片描述