【建议收藏】Android和iOS逆向分析/安全测试/渗透测试工具

2024-06-11 19:09:45 浏览数 (2)

一、移动应用安全测试环境

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/

如果觉得有用,就请关注、点赞、在看、分享到朋友圈吧!

0 人点赞