前置知识
知识点一
对安卓应用程序来说,AndroidManifest.xml是最重要的信息源,同时也是侦查破案工作中分析的重点,Manifest中包含有该APK能够获取的权限等信息,一个恶意木马APK往往会拥有许多权限。如果拥有短信权限(编辑短信、发送短信、读写短信、拦截短信)、手机权限(获取手机号码、搜集用户IMEI号、系统版本号、拨打电话、拦截电话)、通讯录权限(读取通讯录、删除通讯录)、相机权限、位置权限(获取位置、发送位置)、访问网络等过于隐私的权限,应该对此APK文件进行重点分析。
知识点二
逆向分析工具
在JAVA环境下可以用Apktool、dex2jar、jd-gui等工具将APK文件进行反编译。其中Apktool工具,能查看res文件下xml文件、AndroidManifest.xml和图片;dex2jar工具将APK反编译成Java源码(classes.dex转化成jar文件);jd-gui工具作用是查看APK中classes.dex转化成的jar文件,即源码文件。这是一种比较传统 的反编译方法,用此办法反编译得到的源码结构清晰,可读性好,适合有一定反编译基础的取证人员使用。
小技巧
在Jadx-gui工具下,利用Jadx-gui的搜索功能,能更快捷地找到线索。如通过搜索关键词“@”,查找APK的回传邮箱,搜索关键词“http”,查找APK中链接或者回传网络地址,搜索"Password”“sms”“cnontact”等关键词,可以在代码中查找有关的短信、联系人的代码函数。
例子:用搜索功能搜url,直接找到了回传地址,即使你不找不到主函数入口,你也做出了这道题
题目背景
查获一个犯罪团队,获取了他们用于犯罪的app,请分析该apk,实操并回答下列问题。
问题一:
该APP包名是什么?
解题思路:
用jadx查看
一般在androidManifest.xml下,这个package就是包名
一般只要拖进jadx就好
答案:com.example.readeveryday
注意:有时候会问:样本apk的应用名称是什么?
同样也是这个答案:com.example.readeveryday
问题二:
该APK具备下列哪些危险权限(多选)
A读取短信 B.读取通讯录 C.读取精确位置 D.修改通讯录 E.修改短信
解题思路:
或者在这个包下面com.example.readeveryday.StartShow
或者用雷电模拟器直接打开可以看到答案
问题三:
分析该 apk 的签名类型,并以此作为 flag 提交
jadx打开apk文件进行分析,查看类型为X.509
问题四:
分析apk的入口函数,并以此作为 flag 提交。(示例:com.aa.bb.cc.dd)
jadx查看AndroidManifest.xml文件,android:name字段值"com.ex
ample.readeveryday.MainActivity"就为入口函数。
问题五:
APK回传地址?
静态分析:
在主入口函数去找回传地址
寻找到主入口函数,双击此处
在com.example.readeveryday.MainActivity这个包中找到了回传地址
实验室专注于网络安全人才培养与靶场建设
合作交流:
原文始发于微信公众号(越骑安全实验室):apk经典数据取证题型分析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论