恶意代码分析-免流服务器

分析前提

使用一个有多开功能的 Android 模拟器,是比较的选择,这里选择夜神模拟器。
除此之外,Android Monitor 也是必不可少的。还有就是反编译工具。
Adb 环境: 由于夜神模拟器中的 adb 有所修改,为了统一,可以将 androidkiller 中的 adb 复制覆盖夜 神模拟器中 nox_adb.exe,以及动态库 AdbWinApi.dll 和 AdbWinUsbApi.dll。SDK 中的 adb 也是用 androidkiller 中的 adb 进行覆盖。 总而言之,应该让这三个地方的 adb 都一致!!!
① 夜神模拟器的安装目录中的 nox_adb
② sdk/platform-tools 目录下的 adb
③ androidkiller 安装目录下的 adb 如果 sdk 中的 adb 经常更新,就需要将 sdk 中的 adb 以及 dll 文件覆盖到夜神和 androidkiller

分析

  1. 安装和使用 APK 点击安装核心,会提示申请 root 权限

0

需要重启模拟器

1

当重启之后,会发现 android 系统被锁,而且会发送大量的短信
2

  1. 使用 adb 找出恶意代码 apk 并清除 使用 adb shell 进入 android 系统的 shell
    使用 ps 命令查看进程,然后通过过滤掉系统进程,然后逐一进行排查,最后找出了恶意代 码 apk: com.android.stk3
    在 android 中安装 apk 的位置有 3 个:
    1. /system/app(系统预装 app 所在目录,默认不可写,但是如果有 root 权限,则可以修 改为可写)
    2. /data/app(用户安装 app 所在的目录,存储完整的 apk 文件)
    3. /data/data/包名 (用户安装 app 生成的与包名一致的文件夹,存储 app 的相关配置数据 等信息 )
      可以在以上目录使用 ls 查看是否存在 stk3.apk,发现有,则使用 rm 命令删除 如果提示只读,需要修改 system 目录属性:mount -o remount, rw /system/
      3
      4
      删除之后,重启模拟器。当重启之后,恶意代码就没有再运行。 在实际中,删除之前,应该下载下来了,提取样本,进行分析。 最后应该将免流服务器删除。
    4. 恶意代码分析
      (1)概况信息

      文件摘要信息: 修改时间: 2016 年 3 月 16 日, 23:26:10
      MD5: 2EFCA46F34A565C2EF4052B89B6B364B
      SHA1: 5493A958A592BB0B19C43ACB2C1F52C898885207
      CRC32: 7F89A927 (当我们拿到摘要信息之后,如果样本属于公司内部,不外传,我们可以使
      用 MD5 或是 SHA1 在公开平台上搜索看是否有已经分析的报告,有的话直接去看即可,没有
      的话,在手动分析)

(2)详细分析 先查看清单文件,确定入口类

再分析入口类的 onCreate 函数

OnCreate 没有什么设置响应代码,所以转为查看布局文件

响应函数是‘az’

其中 copyAppToSystem 是关键函数。这个函数的关键代码:

所涉及的执行命令:

  1. 修改系统目录:mount -o remount, rw /system/
  2. 拷贝文件:cp /storage/sdcard0/stk3.apk /system/app/
  3. 修改文件权限:chmod 0777 /system/app/stk3.apk 到此这个 apk 分析完毕,它的主要功能就是拷贝自己资源中的 apk 到系统并修改权限,那下 一步分析 stk3.apk


(3).分析stk3.apk

文件摘要: 大小: 240372 bytes
修改时间: 2016 年 3 月 16 日, 23:34:36
MD5: 44DBCF4F3410CF4CDCD9463B76AF0A91
SHA1: 1A2F265932EC81224AD4B922764E38413DADC8E1
CRC32: 7B31436E

详细分析: 首先查看入口类中 onCreate

分析服务代码,onCreate 没有什么,只有发送恶意短信代码,

之后看 onStartComand,中有对按钮的监听器的设置,找到解锁按钮,发现密码。

完整的密码是 TFB4