元芳科普 | APK取证简单分析及常用APK分析工具对比
2023-11-5 09:12:33 Author: 网络安全与取证研究(查看原文) 阅读量:19 收藏

电信网络违法犯罪是当前社会面临的一个严重问题,犯罪团伙为了方便传播、使用,为了隐匿身份信息,通常将涉诈网站被封装在诈骗APP中,常见的诈骗APP类型有通过开发与原装APP相似外观,引诱受害人下载安装,收集受害人用户名、账号及密码后盗窃受害人银行账户或第三方支付财产的”仿冒正规“类APP;有让受害人提供个人信息,签订不对等借贷合约后对受害人进行敲诈勒索的“套路贷”类APP;有直接获取受害人照片、短信通讯录等隐私信息,向被害人亲友同事传播为由进行诈骗的”杀猪盘“类;有进行所谓的在线直播、线上下注等违法活动,卷走受害人财产的“网络赌博”类APP。

电信诈骗中形形色色的APP层出不穷,这些APP可能极具隐蔽性,让公安机关在打击时难以找到后台入口及对应的IP地址,犯罪分子为了逃避打击,往往会在短时间频繁的更换不同后台,公安机关所掌握的线索难以串并联。也因取证手段的匮乏,一些被销毁的证据也很难再复原。打击网络违法犯罪的路程困难重重,针对这类型的案件我们可以从哪些方面着手呢?

1.了解APP原理

2.采用静态分析和的动态分析开展取证分析工作

3.了解常见的APK分析工具

4.APK分析工具对比分析

1

了解APP

APP即Application,指的是应用程序,可以是安卓(Android)或苹果(iOS)系统上的应用程序。这个术语通常用于描述用户所安装和使用的应用程序,无论是从应用商店下载还是通过其他方式获取。

在案件中我们一般分析的是APK文件,APK(Android application package),Android应用程序包,是一个标准的 ZIP 文件,即 1.apk == 1.zip。我们想要分析这个压缩包,首先就得把他解压打开,打开之后一般可以得到下面这些文件。

1

APK的组成

由上图可以看到APK 的组成通常包括 Dex 文件,资源,资源表和签名摘要信息这四部分组成,这四部分是不可或缺的,不然任何一个 OS都无法正常的运行你带 Activity 的 Android 应用。

1)我们可以把Androidmanifest.xml文件理解成一个货物清单,这个清单的作用就是告诉我们当前应用中包含了哪些文件、哪些资源、有需要哪些权限等。

2)META-INF文件夹:用于保存 App 的签名和校验信息,以保证程序的完整性。当生成 APK 包时,系统会对包中的所有内容做一次校验,然后将结果保存在这里。而手机在安装这一 App 时还会对内容再做一次校验,并和 META-INF 中的值进行比较,以避免 APK 被恶意篡改。

3)res文件夹:存放我们各种资源文件的地方,有图片,字符串,动画,音频等,还有各种形式的XML文件

4)dex文件:Android系统的可执行文件,它是使用Java编码的包含应用程序的全部操作指令以及运行时数据

2

APK打包与解包

APK打包是指将一个Android应用程序打包成一个APK文件,以便进行安装和分发。APK解包则是将一个APK文件解包,获取其中的资源和代码。

在APK打包和解包中,常用的工具有apktool和jadx。apktool是一个开源的反编译工具,可以将APK文件反编译为Smali代码,并允许用户进行修改和重新打包,用于快速定位和修复APP中的安全漏洞。jadx则是一个开源的Java反编译器,可以反编译APK文件并将其转换为可读性更高的Java代码。

举例来说,在APK打包过程中,我们可以使用Android Studio自带的打包工具Gradle,或使用第三方打包工具,如MiTweaks、APK Easy Tool等。这些工具可以将源代码中的资源、图像、布局等文件打包到APK文件中,方便用户进行安装和使用。

而在APK解包过程中,我们也可以使用apktool或jadx等工具对APK文件进行分析和解包。例如,在使用apktool进行APK解包时,我们可以通过命令行输入"apktool d [filename].apk",将APK文件解包到指定目录中,之后进行分析和修改。

APK打包和解包是分析和修改APP的基础,它们提供了方便快捷的操作方式,帮助开发人员更好地定位和修复APP中的安全漏洞。当然,在打击电信网络违法犯罪中,APK打包与解包技术也是非常重要的一环。

3

APK有哪些开发手段?

真实案件中,APP的常见开发手段有以下几种:

原生APP开发:使用针对特定平台的编程语言和工具,如iOS平台的Objective-C或Swift、安卓平台的Java或Kotlin等,来进行原生应用程序的开发。

混合式APP开发:这种方式结合了原生APP和Web App的优点,网页开发大部分使用,让app表面上看着是一个安卓应用,这个应用中不放任何组件,只放一个浏览器,这个浏览器与我们平时所理解的并不相同,把地址栏去掉了就只剩下浏览网页的地方,那浏览器里面就会嵌一个网页,就说明他把网页做成了一个app这样的界面,当我们遇到此类app时,我们需要寻找的是嵌入进这个app的网页是什么网页,而不是去寻找APK中有什么SDK。

Web App开发:响应式设计和前后端分离技术的发展,使得Web App成为一种越来越流行的开发方式,它使用Web技术来创建移动应用程序。Web App基于浏览器运行,无需下载安装,可以跨平台使用,可以节省开发成本并快速迭代。

2

取证分析:

静态分析与动态分析

1

静态分析

静态分析是指通过反编译来获取控制软件程序的源代码,从代码中分析程序的运行过程,了解模块中执行命令的一些功能;获取到软件名称、包名等基本信息;了解接入哪些SDK,这些SDK作用;了解到是使用什么语言进行编译或使用什么编译器进行编译的,了解程序是否受到加壳保护,进而开展下一步取证工作。

2

动态分析

APK动态分析是指对安卓应用程序(APK)在运行时的行为进行监控和分析,以发现其中可能存在的漏洞、恶意行为或其他安全问题。

在APK动态分析中,常见的技术包括hook技术、模拟器检测、网络通信分析等。利用这些技术,可以捕获应用程序的数据流量、函数调用情况、文件操作、系统调用等信息,以便分析应用程序的行为是否正常、是否存在安全风险等。

在打击电信网络犯罪中,动态分析也发挥着重要作用。例如,我们可以使用Burp Suite这样的动态分析工具,对APP进行测试,模拟真实用户操作,从而发现APP的安全漏洞和风险。通过模拟用户操作并记录HTTP/HTTPS请求和响应,Burp Suite可以帮助检测远程代码执行、SQL注入等漏洞,提高打击电信网络犯罪的效率。

APK静态分析和动态分析在打击电信网络犯罪中扮演着重要角色。现实生活中已经出现了此类取证分析工具,这些工具的使用为打击电信网络违法犯罪提供了有力支持,我们将在后面的内容中简单分析一些不同工具的使用场景。

3

常见的APK分析工具

无糖信息-大狗(涉诈网站溯源打击平台):https://dagou.nosugar.tech/

无糖信息-手机应用分析系统:http://browser.nosugar.tech

奇安信-情报沙箱:https://sandbox.ti.qianxin.com/sandbox/page

360-沙箱云:

https://ata.360.net/

VirusTotal:https://www.virustotal.com/gui/home/upload

微步云沙箱:https://www.threatbook.net/next/sandbox

摸瓜:https://mogua.co/

4

常见的APK分析工具

性能对比分析

本文使用的截图均位各家分析工具的免费版,一些功能的分析仅供参考,实际案件还是得自身实际使用后进行评估,不同的APK分析工具都具有自己的特色,我们上传同一个APK进行分析,具体通过下面的内容来看看吧。

无糖-大狗(涉诈线索溯源打击平台)

我们可以在无糖浏览器平台使用账号免费创建一个账号进行使用,上传样本后,后台分析得到下方的APK详情报告,报告内容如下:

    • 反编译源码获取到样本APK分析基础信息包括:文件名、包名、哈希值、应用版本号等;
    • 反编译源码获取接入SDK信息,并提供了所属公司的调证指南信息,以供参考;
    • 后台动态模拟样本APK启动,获取到动态请求信息,暴露APK动态请求的一些重要的数据接口和服务器IP地址,并对请求网站进行分类统计:匹配数据库中的已知样本、正常网站等为下一步人工研判提供线索支持;
    • 使用线索图谱将所有线索串并联,方便办案人员线索研判;

无糖-手机应用分析系统

在无糖浏览器中直接使用手机应用分析系统上传样本APK,得到如下分析报告:

    • 反编译源码获取到样本APK的基础信息包括:文件名、包名、哈希值、应用版本号等;
    • 反编译源码获取到接入SDK信息、域名/IP信息、虚拟身份信息、签名信息、应用权限,支持直接下载反编译后的源码,进行拓展分析;

奇安信-情报沙箱

通过情报沙箱网站直接免费注册账号后,上传样本进行分析得到如下报告:

    • 针对样本APK风险等级进行评估,判定其为恶意APK样本;
    • 检测出APK文件中的威胁情报及对行为异常进行分析,为人工研判提供依据;
    • 反编译APK获得基础信息:文件名、包名、哈希值、应用版本号、界面运行截图等;
    • 提取出APK源码的文件列表、域名及URL、应用权限及组件信息;
    • 对样本APK进行深度分析,未获取到应用层文件、网络行为及运行截图。

360-沙箱云

通过沙箱云网站直接免费注册账号后,上传样本进行分析得到如下报告:
    • 反编译APK获得基础信息:文件名、包名、哈希值、应用版本号、源码压缩文件列表等;

    • 对APK风险等级进行了划分,未发现该样本APK中的威胁情报;

    • 查看威胁指标与文件内容需要升级整体服务

VirusTotal

下载VirusTotal后上传样本进行分析得到如下报告:
    • 反编译APK获得基础信息:文件名、包名、哈希值、应用版本号等;
    • 对APK风险等级进行了划分,并判定出该APK文件中的恶意代码;
    • 对APK软件成分进行详细分析。

微步

在微步云沙箱上传样本后,得到如下详情报告:
    • 反编译APK获得基础信息:文件名、包名、哈希值、应用版本号等;
    • 对APK文件进行风险评估,多引擎检测恶意代码;
    • 样本APK文件不支持动态分析。

摸瓜

在摸瓜上传样本后,得到如下详情报告:
    • 反编译APK获得基础信息:文件名、包名、哈希值、应用版本号等;
    • 提供域名、邮箱、手机号等线索,可直接下载反编译后的源码,判定应用权限的敏感等级;
    • 加壳分析及第三方插件需要会员才能查看。

<左右滑动查看详情>

工具名称

APK反编译

威胁情报检测

网络请求提取

恶意代码分析

串并联线索

大狗

支持

匹配已知样本

提取网站请求与响应数据

支持

以线索图谱展示 ,支持线索扩线和挖掘  

手机应用分析系统

支持

不支持

不支持

不支持

不支持

奇安信-情报沙箱

支持

威胁情报、行为异常

提取DNS、会话信息、HTTP

支持

不支持

360-沙箱云

支持

威胁指标

不支持

支持

不支持

Virustotal

支持

安全分析

扫描网站及IP地址

支持

不支持

微步云沙箱

支持

行为检测

样本APK不支持动态分析

支持

不支持

摸瓜

支持

不支持

不支持

不支持

不支持

在与一些用户交流的时候,也遇到过用户咨询如果APP关闭了,还可以去静态分析和动态分析嘛?当然是可以的,可以抓包、反编译获取APK的(历史)服务器和签名信息等,用来串并案、扩线。虽然APP关闭了,但是嵌在这个APP里面的域名网址还是有的,我们通过动态模拟其实还是能够获取到,获取到之后我们可以通过一些技术手段来进一步处理,比如他这个服务器还没有关闭,我们可以通过DNS反查,查域名历史解析的IP,看看这个IP是否存在,因为现在很多涉网犯罪,他们的域名因为成本很低,会经常换,但是实际上他的服务器可能没有换,那我们找到他历史的IP之后,找到服务器,再去查服务器关联的新的域名,这也是有可能找到一些线索的。

5

往期推荐

👉 护航新征程-无糖信息助力科技兴警三年行动计划 

👉 苏州市局举办全市公安机关打击治理新型犯罪专业人才培训班

👉 山警&无糖 | 警企合作谱新篇,协作共赢谋发展!

无糖浏览器-你身边的办案助手


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg3NTU3NTY0Nw==&mid=2247488153&idx=1&sn=490c2ea6a59473695a39aca660d8cd43&chksm=cf3e32a9f849bbbf6d68ec31896d033d9964398573664d4ba1199fb844d8d455adb53c354e93&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh