关于AndroidQF
AndroidQF,全称为Android快速取证(Android Quick Forensics)工具,这是一款便携式工具,可以帮助广大研究人员快速从目标Android设备中获取相关的信息安全取证数据。该工具基于Snoopdroid项目实现其功能,利用的是官方ADB源码,并且使用了Go语言进行重构。
AndroidQF旨在给广大研究人员提供一个简单且可移植的跨平台实用程序,以快速从Android设备获取信息安全取证数据。它的功能有些类似于mvt-android,但是跟MVT相比,AndroidQF的优势就在于它可以让很多不懂技术的用户也能够轻松地使用。
工具下载
广大研究人员可以直接访问该项目的【Releases页面】下载获取最新版本的AndroidQF。除此之外,我们也可以使用下列命令将该项目源码克隆至本地,并自行构建源码:
git clone https://github.com/botherder/androidqf.git
工具构建
AndroidQF提供了针对Linux、Windows和macOS的可执行程序,如果你想自行下载源码构建,则需要在本地环境中安装并配置好Go v1.15+,然后根据平台选择运行下列代码:
make linux make darwin make windows
上述命令运行之后,我们将可以在build/目录下查看到生成的代码。
工具使用
在启动AndroidQF之前, 我们需要将目标Android设备通过USB线连接到我们的主机上,别忘了开启USB调试功能。
启动USB调试之后,我们就可以继续启动AndroidQF了。该工具首先会尝试通过USB桥接到目标设备,此时Android设备将会提示我们手动输入设备主机的密钥。确保授权成功之后,这里最好是永久授权,而不是只授权一次,这样就不会老是弹窗了。
现在,AndroidQF应该已经可以正常运行了,而且会在项目根目录下创建一个专门用来存储取证数据的文件夹。在执行过程中的某个时刻,AndroidQF会提示用户进行一些选择操作,而这些提示一定需要用户选择之后工具才会继续进行取证收集。
该工具支持收集以下信息:
- 目标设备上已安装的所有代码包列表,以及相关的文件信息;
- (可选)拷贝所有已安装的APK文件,或没有被标记为系统APP的所有APK文件;
- “dumpsys” Shell命令的执行输出,可以提供设备相关的诊断信息;
- “getprop” Shell命令的执行输出,可以提供构建信息和配置参数;
- “ps” Shell命令的输出结果,可以提供目标设备中所有正在运行进程的列表;
- (可选)备份SMS或MMS消息;
加密&潜在威胁
在未加密的驱动器上使用AndroidQF进行数据收集,可能会使我们自己的数据陷入安全风险之后,因为其中涉及到很多敏感数据操作。理想情况下,我们应该对驱动器进行完全加密。除此之外,我们还可以考虑让AndroidQF在一个VeraCrypt容器中运行。
或者,AndroidQF允许设置用户进行公钥加密,如果在AndroidQF根目录下存储一个名为key.txt的文件,那么AndroidQF则会自动尝试压缩和加密每次采集到的取证数据,并删除原始未加密的数据副本。
获取到加密的取证文件之后,我们可以使用下列方式进行解密:
$ age --decrypt -i ~/path/to/privatekey.txt -o <UUID>.zip <UUID>.zip.age
许可证协议
本项目的开发与发布遵循MVT v1.1开源许可证协议。
项目地址
AndroidQF:【GitHub传送门】