Conducts OWASP MASTG penetration tests on iOS and Android mobile apps via static/dynamic analysis, Burp/Frida network interception, data storage checks, and authentication bypasses. For pre-release security audits.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
- 在发布前测试移动应用,识别安全漏洞和数据保护问题
Conducts penetration testing on Android/iOS apps using Frida, Objection, MobSF for insecure data storage, certificate pinning bypass, API vulns, binary flaws, runtime manipulation. Useful for mobile security audits.
Conducts OWASP MASTG penetration testing for iOS and Android apps via static binary analysis, dynamic runtime testing with Frida/Objection, and API proxying with Burp.
Conducts OWASP MASTG penetration testing on iOS and Android mobile apps via static binary analysis, dynamic runtime testing with Frida/Objection, and API proxying with Burp Suite.
Share bugs, ideas, or general feedback.
不适用场景:未经应用程序所有者书面授权的移动应用测试、分发修改或重新打包的应用,或未使用单独测试构建版本测试公共应用商店中的应用。
在不执行应用的情况下分析应用二进制文件:
Android 静态分析:
jadx -d output/ target.apk 获取 Java/Kotlin 源代码AndroidManifest.xml 中的导出组件(Activity、Service、Receiver、Content Provider)、权限和可调试标志grep -rn "api_key\|password\|secret\|token\|aws_" output/setJavaScriptEnabled(true)、addJavascriptInterface() 和加载不受信任的内容python manage.py runserver 并上传 APK 进行自动化静态分析iOS 静态分析:
otool -L <binary> 列出链接的框架并识别第三方库拦截并分析所有网络通信:
frida -U -f com.target.app -l ssl-pinning-bypass.js --no-pauseobjection -g "Target App" explore --startup-command "ios sslpinning disable"测试不安全的本地数据存储:
Android 数据存储:
/data/data/com.target.app/sqlite3 /data/data/com.target.app/databases/*.db ".dump"logcat -d | grep -i "password\|token\|key"android:allowBackup="false"iOS 数据存储:
objection -g "Target App" explore,然后 ios keychain dumpfind /var/mobile/Containers/Data/Application/ -name "*.plist" -exec plutil -p {} \;测试移动端专属的认证控制:
测试应用对运行时攻击的抵抗力:
adb shell am start -n com.target.app/.InternalActivity -e "user_id" "admin"| 术语 | 定义 |
|---|---|
| OWASP MASTG | 移动应用安全测试指南;涵盖 iOS 和 Android 平台的综合移动应用安全测试手册 |
| 证书固定 | 限制应用信任的 TLS 证书的移动安全控制,防止通过代理拦截实施中间人攻击 |
| Frida | 动态检测工具包,允许将 JavaScript 注入正在运行的进程,以挂钩函数、修改行为和绕过安全控制 |
| Root/越狱检测 | 应用层面的检查,用于检测设备是否已被修改以授予 Root 访问权限,通常会阻止在已入侵设备上使用应用 |
| Android Keystore | Android 上的硬件支持凭据存储,保护密钥和密钥免受提取,即使在 Root 设备上 |
| App Transport Security(ATS) | iOS 安全功能,默认强制执行 HTTPS 连接;ATS 例外可能表示不安全的网络通信 |
| 深度链接 | 打开移动应用内特定界面的 URL 方案,如果未正确验证,可能绕过正常导航和认证流程 |
背景:一家银行正在为 iOS 和 Android 推出新的移动银行应用。该应用处理账户查看、资金转账、账单支付和支票存款。由于处理金融数据,需要符合 OWASP MASVS L2 合规要求。
方法:
常见陷阱:
## 发现:通过 Frida 检测绕过生物特征认证
**ID**: MOB-003
**严重性**: 高(CVSS 7.7)
**平台**: Android 和 iOS
**OWASP MASVS**: MASVS-AUTH-2(生物特征认证)
**描述**:
移动银行应用的生物特征认证可以使用 Frida 动态检测绕过。
认证回调函数接受来自生物特征 API 的布尔结果,
可以被挂钩并强制返回 true,无需提供有效的指纹或人脸扫描。
**概念验证(Android)**:
frida -U -f com.bank.mobileapp -l bypass-biometric.js --no-pause
// bypass-biometric.js
Java.perform(function() {
var BiometricCallback = Java.use("com.bank.mobileapp.auth.BiometricCallback");
BiometricCallback.onAuthenticationSucceeded.implementation = function(result) {
console.log("[*] 生物特征已绕过");
this.onAuthenticationSucceeded(result);
};
});
**影响**:
拥有已解锁设备物理访问权限的攻击者可以绕过生物特征认证,
访问受害者的银行账户、发起转账并查看金融数据,
而无需生物特征验证。
**修复建议**:
1. 使用与 Keystore 密钥绑定的 Android BiometricPrompt CryptoObject 实施服务端生物特征验证
2. 要求生物特征操作解密服务端质询,使客户端绕过无效
3. 添加运行时完整性检查以检测 Frida 和其他检测框架
4. 对高风险操作(超过阈值的转账)实施升级认证