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