錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
APT組織ZooPark V3版移動樣本分析

作者: 佚名  日期:2018-10-12 16:54:36   來源: 本站整理

 ZooPark是一個針對中東的APT組織,截至2017年,已經發展到了4.0版本,本次分析是第三個版本,相比較V1、V2版本的代碼的復雜性,2016年流出的V3版本的樣本可以說有關于信息竊取這方面的功能比之前有了質的飛躍,如果說之前兩個版本讓人感覺新手練手的作品,那么這個版本已經可以說是有開發經驗的老司機來寫的了。我們入門先做靜態的代碼分析,理順分析流程。
工具:JEB1.5、AndroidKiller1.3
樣本運行流程圖

V3
分析之前,我們需要理清思路,逐步分析,慢慢行成一套屬于自己的分析流程。
1、 是否加固過,混淆過未加固、未混淆。
2、看安裝包目錄結構,看是否有特別的文件,記錄下來方便后面的分析。
證書信息,看樣本大概流出的時間:

資產目錄assets中全是這些看起來很火辣的小姐姐,很明顯可能用于誘惑用戶查看點擊之類的:

布局文件夾res的有幾十個values文件(values-nb等),文件里面有不同國家的字體,和之前兩個版本,可以看出,開發人員有了質的飛躍:

3、 看清單文件,靜態注冊了哪些廣播接收器。
在清單文件AndroidManifest.xml中有這樣靜態注冊的廣播,因為它沒有設置intent-filter,所以不會捕獲任何廣播,只能主動通過構造顯式intent+發送廣播sendBroadcast才可以喚醒這個廣播:
      receiver android:name="com.wallpaper.OnGPSReceiver" />
      receiver android:name="com.wallpaper.OnAlarmReceiver" />
使用Android Killer工具的全局字符串搜索,只發現OnAlarmReceiver這個廣播接收器在OnBootReceiver開機廣播中被啟用,結合起來實現的功能是開機后,設置一個重復的警報,來啟動這個廣播,用來喚醒AppService服務(服務比較復雜,在分析完清單文件后,分析):


從廣播接收器的名稱就可以看出他是一個檢測網絡變化然后執行某些行為的廣播。從代碼中可以看出他的主要行為就是如果可以聯網,就會開啟AppService服務(這是第二個為了開啟這個服務的廣播了,可以看出極有可能這個服務就是惡意行為的主要發起者)。這里勾選上write方法是建議留個印象,如果分析多個樣本,那么其實可以從代碼編寫習慣中,看出一些端倪:
receiver android:label="NetworkConnection" android:name="com.wallpaper.NetworkChangeReceiver">
          intent-filter android:enabled="true" android:exported="false">
              action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
          intent-filter>
      receiver>

這是將這個樣本APP激活成設備管理器,在meta-data中知道device_admin_sample.xml文件存放了,激活設備管理器請求開啟的策略,并且一旦策略被觸發就會調用這個廣播接收器中重寫的方法,如圖7.png,都會打印一條日志:
      intent-filter>
          action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
          action android:name="android.app.action.DEVICE_ADMIN_DISABLED" />
      intent-filter>
      meta-data android:name="android.app.device_admin" android:resource="@xml/device_admin_sample" />
  receiver>
收到短信時,會將短信內容、號碼、時間等存入data數據庫中的tbl_SMS表中:
 receiver android:enabled="true" android:name="com.wallpaper.SMSReceivers">
            intent-filter>
                action android:name="android.provider.Telephony.SMS_RECEIVED" />
            intent-filter>
        receiver>

開機啟動廣播,首先會嘗試開啟ScreenStateService服務,然后創建一個重復的警報,每隔4分鐘來啟動這個OnAlarmReceiver,即開啟AppService服務。
      receiver android:enabled="true" android:name="com.wallpaper.OnBootReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
          intent-filter>
              action android:name="android.intent.action.BOOT_COMPLETED" />
              category android:name="android.intent.category.DEFAULT" />
          intent-filter>
      receiver>
綜上,這些靜態注冊的廣播,主要是通過監聽網絡變化、開機自啟動來打開AppService、ScreenStateService服務,下面主要分析這兩個服務。然后還有一些竊取用戶收到的短信內容,寫入數據庫、激活設備管理器
4、分析兩大服務的功能:AppService、ScreenStateService
ScreenStateService
動態注冊ScreenReceiver廣播接收器來監聽屏幕的解鎖和鎖屏:
          ScreenStateService.mReceiver = new ScreenReceiver();
          this.getApplicationContext().registerReceiver(ScreenStateService.mReceiver, new IntentFilter(
                  "android.intent.action.SCREEN_ON"));
          this.getApplicationContext().registerReceiver(ScreenStateService.mReceiver, new IntentFilter(
                  "android.intent.action.SCREEN_OFF"));
(1) 鎖屏時,開啟AppService服務(不知道第幾次啟動它,證明這個服務才是真正的惡意功能執行者)。執行Start_check_mic方法,開啟線程來錄音8分鐘存儲到外部存儲/android/data/AndroidService/時間.3gpp,然后將~/android/data/AndroidService/目錄下多有錄音文件POST上傳到C2地址的/spyMobile/recordcall_upload.php文件上:

在構造C2地址時,如果第一次訪問這個地址MainActivity.Server_Domain,因為還沒有被賦值,所以會異常,調用MainActivity.findServer()方法來,獲取C2地址(通過訪問網絡圖片獲取返回的流數據,然后正則匹配出C2地址):

(2) 屏幕解鎖時,打印Intent Action: android.intent.action.SCREEN_ON。
AppService
一般來說,瀏覽服務做了哪些事,從onCreate或者onStartCommand(onCreate沒有重寫的情況),但是這個服務沒有這兩個方法,再仔細看看,發現這個服務類,繼承一個自定義類,而這個自定義類繼承IntentService類,看到這個類我們就需要從onHandleIntent方法入手了(解決開發這忘記開啟線程和忘記調用 stopSelf()),發現主要執行了doWakefulWork抽象方法,所以再回到AppService類中,檢查他的重寫方法即可:
public class AppService extends WakefulIntentService
public abstract class WakefulIntentService extends IntentService
......
abstract void doWakefulWork(Intent arg1);
......
          this.doWakefulWork(intent);
          WakefulIntentService.getLock(((Context)this)).release();  //鎖屏(沒有喚醒鎖的前提)
(1) 檢查是否開啟ScreenStateService服務來偷偷錄音,如果沒有就打開這個服務:

 


熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 久久综合一区二区无码| 亚洲熟妇无码爱v在线观看| 亚洲AV无码专区国产乱码电影 | 无码人妻一区二区三区精品视频| 国产精品成人99一区无码| 野花在线无码视频在线播放| 无码区日韩特区永久免费系列| 久久久久亚洲AV无码专区桃色| 精品无码免费专区毛片| 日韩精品无码一区二区视频| 中文字幕AV无码一区二区三区| 亚洲精品无码鲁网中文电影| 亚洲爆乳大丰满无码专区| 日韩网红少妇无码视频香港| 中文字幕无码久久精品青草| 蜜芽亚洲av无码一区二区三区 | 91久久九九无码成人网站| 国产精品无码MV在线观看| 亚洲精品自偷自拍无码| 日韩精品无码一区二区三区| 久久久久亚洲?V成人无码| 最新亚洲人成无码网www电影| 啊灬啊别停灬用力啊无码视频| 无套中出丰满人妻无码| 内射人妻少妇无码一本一道| 国产精品无码一区二区三区免费 | 国产精品亚洲专区无码WEB| 亚洲日韩乱码中文无码蜜桃臀| 中文字幕av无码一区二区三区电影 | 久久午夜夜伦鲁鲁片免费无码| 人妻无码精品久久亚瑟影视| 无码任你躁久久久久久| 亚洲精品无码av中文字幕| 无码专区人妻系列日韩精品少妇 | 国产成人无码综合亚洲日韩| 国产精品毛片无码| 国产高清无码二区| 亚洲国产精品无码专区在线观看| 在线观看片免费人成视频无码| 国产成A人亚洲精V品无码 | 亚洲日韩国产二区无码|