Android手机木马病毒的基础介绍

2014-07-24 10:54:21来源:FreebuF.COM作者:

本文介绍基于Android的手机恶意软件,是一个基础性的介绍,给新入门的人提供一个分析和工具指引。要分析的木马是一个2013年的syssecApp.apk,这个木马的分析能对Android恶意软件有个大概了解。

本文介绍基于Android的手机恶意软件,是一个基础性的介绍,给新入门的人提供一个分析和工具指引。要分析的木马是一个2013年的syssecApp.apk,这个木马的分析能对Android恶意软件有个大概了解。

基础:

1 –Android应用基础

Android是google开发基于Linux内核的开源的手机操作系统,应用程序使用JAVA语言编写并转换成了Dalvik虚拟机,而虚拟机则提供了一个抽象的真实硬件,只要和操作系统的API符合程序都可以在其上运行。应用则需要Linux的用户和组来执行,所以目前所有的恶意软件都需要获得权限。

Android应用的格式是APK,是一种包含AndroidManifest.xml的 ZIP文件,媒体类文件实际代码是classes.dex和一些其他的可选文件。XML提供Android系统的重要信息,比如用启动应用程序时需要什么权限,只有这个文件中列出的权限才提供给该应用,否则返回失败或空结果。classes.dex是Android应用程序实现的逻辑部分,是一个编译代码可由Dalvik虚拟机执行,打包成jar,从而节约移动设备上的一些空间。

2 –分析工具

2.1Dexter

Dexter可以将Android应用上传做分析,提供了包和应用元数据的介绍。包的依赖关系图显示了所有包的关系,可以快速打开列表显示所有的class和功能。

2.2Anubis

Anubis也是一个WEB服务,应用在沙箱里运行,每个样品相互独立,来分析文件和网络的活动。同时也提供一些静态分析,包括权限XML在调用过程中的变化。

2.3 APKInspector

Apkinspector提供了很多工具,APK加载后可以选择标签来执行其中的功能,带有一个Java反编译器JAD,能够反编译大多数类,但经常报错。

2.4 Dex2Jar

可将dex 文件转成 Java 类文件的工具,即使你是经验丰富的逆向工程师,也可以考虑使用。

3 – 实例分析

3.1 Anubis

Anubis的显著特点是,给出了应用所需权限的大名单:

14055236368853 (1)

截图上包括了应用的部分权限。INTERNET权限是常见的游戏所需,用来在线统计跟踪,开启共享功能或者广告。还有一些WAKE_LOCK、READ_PHONE_STATE用来读取手机状态,防止在游戏中锁屏。但READ_CONTACTS、    READ_HISTORY_BOOKMARKS则看起来就很奇怪,不像是一个游戏该干的事情。对127.0.0.1:53471的连接看起来也很奇怪。分析链接:http://anubis.iseclab.org/?action=result&task_id=1a6d8d21d7b0c1a04edb2c7c3422be72f&format=html

14055236439548 (1)

3.2 Dexter

包的依赖关系图显示共有四个。可以忽视de.rub.syssec,它只包含空类的默认构造函数。

14055236449074 (1)

de.rub.syssec包括了一个叫做Amazed的游戏,比较特别的是amazedactiviy的onCreate方法,设置为每隔15秒重复闹钟。

1405523647992 (1)

第3个class包含的事件比较多。onBoot在启动的时候就会进行闹铃,SmsReceiver和alarmReceiver则是真正的木马,在任何一个短信到达的时候SmsReceiver会检查里面是否包含有”bank”,如果是则使用abortBroadcast丢弃短信。

1405523650878 (1)

14055236529703

这意味着短信在手机上是看不到的。de.rub.syssec.neu有6个CLASS,最重要的一条是“Runner”,是实际的恶意代码。“work”调用alarmReceiver来检查设备是否连接互联网。

1405523657843

如果在线,则调用“steal()”收集信息,添加到XML帮助的一个伪变量里。

14055236594440

14055236637813

根据API的调用列表,会收集信息:IMSI、SIM卡序列号、姓名、设备ID、用户字典(自动补全)、联系人、通话记录、日历、浏览器搜索记录、浏览器收藏夹、发送和接收的短信、位置信息。

3.3 Emulator

Emulator证实这个APK确实有一个关于迷宫的游戏。但在输出的日志里可以发现它其实做了很多事情,并试图发送这些内容:

14055236669821

14055236682505

还有一些额外的信息包括安卓版本、IMEI、本地时间、steal()运行总量

3.3 分析用到的网站

http://anubis.iseclab.org/

http://dexter.dexlabs.org/

https://www.virustotal.com/

http://www.apk-analyzer.net/

http://www.visualthreat.com/

http://androidsandbox.net/reports.html

https://hackapp.com/

游戏不仅仅是个游戏,检查你的游戏。

赞助商链接: