CERT Keyfinder 是一个用于在文件系统以及 Android APK 文件中查找和分析密钥文件的实用程序。CERT Keyfinder 的开发由美国国土安全部(DHS)资助。安装要求:
git clone,或下载仓库的 zip 文件来完成。$ pip3 install androguard python-magic PyOpenSSL
在 Windows 平台上,请使用 python-magic-bin 包代替 python-magic。这将提供分析文件魔数所需的 DLL。$ python3 keyfinder.py usage: A tool for analyzing key files, with Android APK support [-h] [-e EXTRACT_APK] [-u] [-k CHECK_KEYFILE] [-p PASSWORD] [-v] [-d] [apkpath]
positional arguments: apkpath APK file or directory
optional arguments: -h, --help show this help message and exit -e EXTRACT_APK, --extract EXTRACT_APK Extract specified APK using apktool -u, --checkused Check if the key file is referenced by the app (slow) -k CHECK_KEYFILE, --key CHECK_KEYFILE Key file or directory -p PASSWORD, --password PASSWORD Specify password -v, --verbose Verbose output -d, --debug Debug output
## Key Parsing
CERT Keyfinder 可用于扫描系统中的文件,默认只报告私钥和/或受密码保护的密钥文件。
### Simple Example
例如,在 CERT Tapioca 系统的 `~` 目录上运行 Keyfinder:```
$ python keyfinder.py -k ~/tapioca
keyfile: /home/tapioca/tapioca/.mitmproxy/mitmproxy-ca-cert.p12
type: pkcs12
protected: True
=====================
keyfile: /home/tapioca/tapioca/.mitmproxy/mitmproxy-ca.pem
private: True
protected: False
iskey: True
iscert: True
encoding: pem
type: pkcs8
certhash: 902073e933d0bf9b3da49a3a120d0adecdf031960f87576947bdc3157cd62d8e
keyhash: 3aae8d85450bae20aaf360d046bc0d90b2998800b3a7356f0742ef6a8824e423
=====================
上述命令行将检查指定目录中的每个文件,通过文件扩展名和文件魔术字节判断其是否为可能的密钥文件,最后会为每个被认定为私钥和/或受密码保护的密钥文件显示简要详情。