原文:https://hackersonlineclub.com/mobile-security-penetration-testing/
多合一移动安全框架的移动安全渗透测试列表,包括 Android 和 iOS 应用程序渗透测试。
移动应用安全测试环境
1、 Appie 用于 Android Pentesting 的便携式软件包,是现有虚拟机的绝佳替代品
https://manifestsecurity.com/appie
2、Android Tamer 是面向 Android 安全专业人士的虚拟/实时平台。
https://androidtamer.com/
3、AppUse 是由 AppSec Labs 开发的 VM(虚拟机)
https://appsec-labs.com/AppUse/
4、 Androl4b 用于评估 Android 应用程序、逆向工程和恶意软件分析的虚拟机
https://github.com/sh4hin/Androl4b
5、 Mobisec 移动安全测试实时环境
https://sourceforge.net/projects/mobisec/
6、 Santoku 是一种操作系统,可以作为独立操作系统在 VM 之外运行
https://santoku-linux.com/
7、 Vezir 项目是移动应用程序渗透测试和恶意软件分析环境
https://github.com/oguzhantopgul/Vezir-Project
多合一移动安全框架
1、Mobile Security Framework 是一个智能的、一体化的开源移动应用程序 (Android/iOS) 自动化渗透测试框架,能够执行静态和动态分析。
https://github.com/ajinabraham/Mobile-Security-Framework-MobSF
2、Needle 是一个开源的模块化框架,用于简化对 iOS 应用程序进行安全评估的过程,包括二进制分析、静态代码分析、使用 Cycript 和 Frida 挂钩的运行时操作等
https://github.com/mwrlabs/needle
3、Objection 是一个运行时移动探索工具包,由 Frida 提供支持。它的构建旨在帮助评估移动应用程序及其安全状况,而无需越狱或植根的移动设备
https://github.com/sensepost/objection
安卓应用渗透测试
逆向工程和静态分析
1、APKinspector 是一款功能强大的 GUI 工具,供分析师分析 Android 应用程序
https://github.com/honeynet/apkinspector/
2、APKTool 可以从 apk 安装包中提取出 resource、dex、manifest、xml 等文件;也可以修改资源文件之后 rebuild 一个apk
https://ibotpeaches.github.io/Apktool/
3、Sign.jar 自动使用 Android 测试证书对 apk 进行签名
https://github.com/appium/sign
4、Dex to Java decompiler:命令行和 GUI 工具,用于从 Android Dex 和 Apk 文件生成 Java 源代码
https://github.com/skylot/jadx
5、将 .oat 文件转换为 .dex 文件的工具
https://github.com/testwhat/SmaliEx
6、FindSecurityBugs 是 FindBugs 的扩展,其中包括 Java 应用程序的安全规则,FindBugs 通过静态分析的方式从 java 代码中查找 bug,FindBugs:
http://findbugs.sourceforge.net/
FindSecurityBugs:
https://h3xstream.github.io/find-sec-bugs/
7、Qark 旨在查找多个与安全相关的 Android 应用程序漏洞,无论是源代码还是打包的 APK
https://github.com/linkedin/qark
8、SUPER 是一个可在 Windows、MacOS X 和 Linux 中使用的命令行应用程序,可分析 .apk 文件以查找漏洞。它通过解压缩 APK 并应用一系列规则来检测这些漏洞来做到这一点
https://github.com/SUPERAndroidAnalyzer/super
9、AndroBugs 框架是一种高效的 Android 漏洞扫描程序,可帮助开发人员或黑客发现 Android 应用程序中的潜在安全漏洞。无需在 Windows 上安装
https://github.com/AndroBugs/AndroBugs_Framework
10、Simplify 可以将 android 包反混淆成 Classes.dex 的工具,可以使用 Dex2jar 和 JD-GUI 提取 dex 文件的内容
https://github.com/CalebFenton/simplify
11、ClassNameDeobfuscator 用于解析 apktool 生成的 .smali 文件并提取 .source 注释行的简单脚本
https://github.com/HamiltonianCycle/ClassNameDeobfuscator
12、Android 备份提取器
https://github.com/nelenkov/android-backup-extractor
动态和运行时分析
1、Cydia Substrate是一个代码修改平台。它可以修改任何主进程的代码,不管是用Java还是C/C (native代码)编写的。而Xposed只支持HOOK app_process中的java函数,因此Cydia Substrate是一款强大而实用的HOOK工具
http://www.cydiasubstrate.com/
2、Xposed 框架使您能够在运行时修改系统或应用程序方面和行为,而无需修改任何 Android 应用程序包 (APK) 或重新刷新
https://forum.xda-developers.com/xposed/xposed-installer-versions-changelog-t2714053
3、logcat-color 是 Android SDK 中 adb logcat 命令的彩色且高度可配置的替代方案
https://github.com/marshall/logcat-color
4、Inspeckage 是一种为 Android 应用程序提供动态分析而开发的工具。通过对 Android API 的函数应用挂钩,Inspeckage 将帮助您了解 Android 应用程序在运行时正在做什么
https://github.com/ac-pm/Inspeckage
5、Frida 工具包使用客户端-服务器模型工作,让您不仅可以在 Android 上注入正在运行的进程,还可以在 iOS、Windows 和 Mac 上注入运行的进程
https://www.frida.re/
6、Diff-GUI 是一个 Web 框架,用于开始使用可用模块进行检测,挂钩本机,使用 Frida 注入 JavaScript
https://github.com/antojoseph/diff-gui
7、AndBug 是一个针对 Android 平台的 Dalvik 虚拟机的调试器,面向逆向工程师和开发人员
https://github.com/swdunlop/AndBug
8、Cydia Substrate:Introspy-Android 是一个黑盒工具,可帮助了解 Android 应用程序在运行时正在做什么,并协助识别潜在的安全问题
https://github.com/iSECPartners/Introspy-Android
9、Drozer 允许您通过扮演应用程序的角色并与 Dalvik VM、其他应用程序的 IPC 端点和底层操作系统交互来搜索应用程序和设备中的安全漏洞
https://www.mwrinfosecurity.com/products/drozer/
网络分析和服务器端测试
1、Tcpdump 是一个命令行数据包捕获实用程序
http://www.androidtcpdump.com/
2、Wireshark 开源数据包分析器
https://www.wireshark.org/download.html
3、Canape 任意协议的网络测试工具
http://www.contextis.com/services/research/canape/
4、Burp Suite 是一个用于执行应用程序安全测试的集成平台
https://portswigger.net/burp/download.html
5、Proxydroid 适用于 Android 系统的全局代理应用程序
https://play.google.com/store/apps/details?id=org.proxydroid
绕过根检测和 SSL 固定
1、 Xposed 模块绕过 SSL 证书固定
https://github.com/Fuzion24/JustTrustMe
2、Android Xposed Module 绕过 SSL 证书验证(Certificate Pinning)
https://github.com/ac-pm/SSLUnpinning_Xposed
3、Cydia Substrate 模块:Android SSL Trust Killer 黑盒工具,可绕过设备上运行的大多数应用程序的 SSL 证书锁定
https://github.com/iSECPartners/Android-SSL-TrustKiller
4、Cydia Substrate 模块:RootCoak Plus 修补根检查以了解常见的根指示
https://github.com/devadvance/rootcloakplus
5、Android-ssl-bypass 一种 Android 调试工具,可用于绕过 SSL,即使实现了证书固定以及其他调试任务。该工具作为交互式控制台运行
https://github.com/iSECPartners/android-ssl-bypass
安全库
1、PublicKey Pinning:Android 中的 Pinning 可以通过自定义 X509TrustManager 来完成。X509TrustManager 除了执行固定配置外,还应该执行常规的 X509 检查
https://www.owasp.org/images/1/1f/Pubkey-pin-android.zip
2、Android Pinning 用于在 Android 上固定证书的独立库项目
https://github.com/moxie0/AndroidPinning
3、Java AES Crypto 一个用于加密和解密字符串的简单 Android 类,旨在避免大多数此类类遭受的经典错误
https://github.com/tozny/java-aes-crypto
4、ProGuard 是一个免费的 Java 类文件收缩器、优化器、混淆器和预验证器。它检测并删除未使用的类、字段、方法和属性
http://proguard.sourceforge.net/
5、SQLCipher 是 SQLite 的开源扩展,它提供透明的 256 位 AES 数据库文件加密
https://www.zetetic.net/sqlcipher/sqlcipher-for-android/
6、Secure Preferences:Android 共享首选项包装器,而不是加密共享首选项的密钥和值
https://github.com/scottyab/secure-preferences
7、Trusted Intents 用于 Android 应用程序之间灵活可信交互的库
https://github.com/guardianproject/TrustedIntents
iOS 应用渗透测试
访问 iDevice 上的文件系统
1、FileZilla 支持 FTP、SFTP 和 FTPS(基于 SSL/TLS 的 FTP)
https://filezilla-project.org/download.php?show_all=1
2、Cyberduck 适用于 Mac 和 Windows 的 Libre FTP、SFTP、WebDAV、S3、Azure 和 OpenStack Swift 浏览器
https://cyberduck.io/
3、itunnel 用于通过 USB 转发 SSH
https://code.google.com/p/iphonetunnel-usbmuxconnectbyport/downloads/list
4、iFunbox 适用于 iPhone、iPad 和 iPod Touch 的文件和应用程序管理工具
http://www.i-funbox.com/
逆向工程和静态分析
1、otool 命令显示目标文件或库的指定部分
http://www.unix.com/man-page/osx/1/otool/
2、Clutch 解密应用程序并将指定的 bundleID 转储到二进制或 .ipa 文件中
http://cydia.radare.org/
3、Dumpdecrypted 将加密的 iPhone 应用程序中的解密 mach-o 文件从内存转储到磁盘。该工具对于安全研究人员能够深入了解加密机制是必不可少的
https://github.com/stefanesser/dumpdecrypted
4、class-dump 一个命令行实用程序,用于检查存储在 Mach-O 文件中的 Objective-C 运行时信息
http://stevenygard.com/projects/class-dump/
5、Weak Classdump 为传递给函数的类生成头文件的 Cycript 脚本。当您无法 classdump 或 dumpdecrypted 时,当二进制文件被加密等时最有用
https://github.com/limneos/weak_classdump
6、IDA 是一个 Windows、Linux 或 Mac OS X 托管的多处理器反汇编器和调试器,它提供了很多功能,很难一一描述。
https://www.hex-rays.com/products/ida/index.shtml
7、Hopper 是适用于 OS X 和 Linux 的逆向工程工具,可让您反汇编、反编译和调试 32/64 位 Intel Mac、Linux、Windows 和 iOS 可执行文件
http://hopperapp.com/
8、Hopperscripts 可用于对 HopperApp 中的 Swift 函数名称进行解构
https://github.com/Januzellij/hopperscripts
9、Radare2 是一个类 unix 的逆向工程框架和命令行工具
https://www.radare.org/
10、iRET 是 iOS 逆向工程工具包是一个工具包,旨在自动化与 iOS 渗透测试相关的许多常见任务
https://www.veracode.com/iret-ios-reverse-engineering-toolkit
动态和运行时分析
1、Cycript 允许开发人员通过具有语法突出显示和选项卡补全功能的交互式控制台,使用 Objective-C 和 JavaScript 语法的混合体来探索和修改 iOS 或 Mac OS X 上正在运行的应用程序
http://www.cycript.org/
2、Frida-cycript 这是 Cycript 的一个分支,我们将其运行时替换为由 Frida 提供支持的名为 Mjølner 的全新运行时。这使得 frida-cycript 可以在 frida-core 维护的所有平台和架构上运行
https://github.com/nowsecure/frida-cycript
3、AppSec 实验室 iNalyzer 是一个用于操纵 iOS 应用程序、篡改参数和方法的框架
https://appsec-labs.com/cydia/
4、Passionfruit 简单的 iOS 应用黑盒评估工具,具有完全基于 Web 的 GUI。由 frida.re 和 vuejs 提供支持
https://github.com/chaitin/passionfruit
5、idb 是一个用于简化 iOS 渗透测试和研究的一些常见任务的工具
https://github.com/dmayer/idb
6、snoop-it 一种辅助 iOS 应用程序安全评估和动态分析的工具
http://cydia.radare.org/
7、Introspy-iOS 黑盒工具,帮助了解 iOS 应用程序在运行时正在做什么,并帮助识别潜在的安全问题
https://github.com/iSECPartners/Introspy-iOS
8、gdb 执行 IOS 应用程序运行时分析的工具
http://cydia.radare.org/
9、keychaindumper 一旦 iOS 设备被越狱后,用于检查攻击者可以使用哪些钥匙串项的工具
http://cydia.radare.org/
10、BinaryCookieReader 从二进制 Cookies.binarycookies 文件中转储所有 cookie 的工具
http://securitylearn.net/wp-content/uploads/tools/iOS/BinaryCookieReader.py
11、Scwapper for iOS 枚举应用程序视图控制器并让您在它们之间跳转——有效地允许客户端绕过,例如越狱检测和避免支付屏幕
https://github.com/psmith-sec/Scwapper
网络分析和服务器端测试
1、Canape 任意协议的网络测试工具
http://www.contextis.com/services/research/canape/
2、Burp Suite 是一个用于执行应用程序安全测试的集成平台
https://portswigger.net/burp/download.html
3、Charles Proxy 是 HTTP 代理/HTTP 监视器/反向代理,使开发人员能够查看他们的机器和 Internet 之间的所有 HTTP 和 SSL/HTTPS 流量
http://www.charlesproxy.com/
绕过根检测和 SSL 固定
1、SSL Kill Switch 在 iOS 和 OS X 应用程序中禁用 SSL 证书验证(包括证书固定)的黑盒工具
https://github.com/nabla-c0d3/ssl-kill-switch2
2、iOS TrustMe 在 iOS 设备上禁用证书信任检查
https://github.com/intrepidusgroup/trustme
3、Xcon 绕过越狱检测的工具
http://apt.modmyi.com/
4、tsProtector 另一个绕过越狱检测的工具
https://cydia.saurik.com/package/kr.typostudio.tsprotector8/
安全库
1、PublicKey Pinning:iOS pinning 是通过一个 NSURLConnectionDelegate 来执行的。委托必须实现
https://www.owasp.org/images/9/9a/Pubkey-pin-ios.zip
2、OWASP iMAS 是 MITRE 公司的一个合作研究项目,专注于开源 iOS 安全控制
https://project-imas.github.com/