Android逆向渗透测试实用清单
The following article is from 编码安全 Author 编码安全
背景
在android的安全测试、逆向破解分析、爬虫分析、渗透测试等过程中都免不了借助各类型的工具进行工作,顺手的分析工具可以大大降低分析过程中的时间成本。
下面就梳理下关于安全、破解、渗透、爬虫这些工作过程中需要做交互的工具。
安全测试
【Appie工具】
它是一个软件包,可以在 Windows 的机器上用于 Android 渗透测试环境,而无需虚拟机 (VM) 或双启动,也可以基于android手机进行安全分析,这个软件可以用于 Android 应用程序安全评估、Android 取证、Android 恶意软件分析所需的所有工具的一站式解决方案。
https://manifestsecurity.com/appie
【Android Tamer】
Android Tamer 它是面向 Android 安全专业人士的虚拟/实时平台,它也是一个开源免费的项目,它可以提供android所有安全相关需求的分析的产品。
https://androidtamer.com/
【drozer】
Drozer 的核心功能就是通过分析 AndroidManifest.xml,看四大组件中有没有可 export 的,如果有那么就进一步检测这些可导出的组件是不是存在相应的安全问题。
https://github.com/FSecureLABS/drozer
【Androl4b】
它可以用于评估 Android 应用程序、逆向工程和恶意软件分析的一个虚拟机。
https://github.com/sh4hin/Androl4b
【Mobisec】
它是移动安全测试、取证、逆向工程和无线分析的实时环境,不过这工具16年就停止更新了。
https://sourceforge.net/projects/mobisec/
【Santoku】
它主要集成了三个强大的功能,移动取证数据分析、检查移动恶意软件分析、移动应用安全评估分析。并且它是个免费开源的。它可以作为独立操作系统在 VM 之外运行。
https://santoku-linux.com/
【Vezir】
它是为移动安全研究人员提供最新的测试环境。它是基于Ubuntu,同时配合使用 VMWare Fusion 6.0.4 创建的。
https://github.com/oguzhantopgul/Vezir-Project
静态分析
【APKInspector】
它是一款强大的android的GUI工具,它主要通过qt和python相结合的,它只能在linux系统上(主要可以在kali中)运行分析。
https://github.com/honeynet/apkinspector/
【APKTool】
它可以用于逆向工程中反编译重打包apk程序的Android 应用程序工具。它可以将资源或代码解码为几乎原始的形式,并在进行一些修改后重建它们。
https://ibotpeaches.github.io/Apktool/
【GDA】
GJoy Dex Analyzer(GDA),号称中国第一款也是唯一一款全交互式的现代反编译器,同时也是世界上最早实现的dalvik字节码反编译器。
http://www.gda.wiki:9090/index.php
【Sign.jar】
它将公钥和私钥嵌入在 jar 中,它可以自动使用 Android 测试证书对 apk 进行签名。
https://github.com/appium/sign
【jadx】
jadx它是dex转换为java代码的反编译器,它用于从 Android Dex 和 Apk 文件生成 Java 源代码的命令行和 GUI 工具。它支持全文搜索,跳转声明,突出显示语法查看反编译的代码。
https://github.com/skylot/jadx
【SmaliEX】
支持将 oat 文件转换为 dex,并且能够 smali/baksmali 多 dex文件的工具。
https://github.com/testwhat/SmaliEx
【FindSecurityBugs】
它是 FindBugs 的扩展,其中包括 Java 应用程序的安全规则,FindBugs 通过静态分析的方式从 java 代码中查找出代码中的错误。
http://findbugs.sourceforge.net/
https://h3xstream.github.io/find-sec-bugs/
【Qark】
它可以查找源代码或打包 APK 中的多个与安全相关的 Android 应用程序漏洞,无论是源代码还是打包的 APK。
https://github.com/linkedin/qark
【SUPER】
它是一个可在 Windows、MacOS X 和 Linux 中使用的命令行应用程序,可分析 .apk 文件以查找漏洞。它通过解压缩 APK 并应用一系列规则来检测这些漏洞。
https://github.com/SUPERAndroidAnalyzer/super
【AndroBugs】
它是一种高效的 Android 漏洞扫描程序,可帮助开发人员或黑客发现 Android 应用程序中的潜在安全漏洞。
https://github.com/AndroBugs/AndroBugs_Framework
【Simplify】
它可以将 android 包反混淆成 Classes.dex 的工具,可以使用 Dex2jar 和 JD-GUI 提取 dex 文件的内容的工具。
https://github.com/CalebFenton/simplify
【ClassNameDeobfuscator】
它用于解析 apktool 生成的 .smali 文件并提取 .source 注释行的简单脚本。
https://github.com/HamiltonianCycle/ClassNameDeobfuscator
【Android 备份提取器】
它可以用于提取和重新打包使用adb backup(ICS+) 创建的 Android 备份的实用程序。
https://github.com/nelenkov/android-backup-extractor
动态调试分析
【Cydia Substrate】
适用于 Android 的 Cydia Substrate 使开发人员能够,使用注入目标进程内存的 Substrate 扩展来修改调整软件的功能逻辑。
http://www.cydiasubstrate.com/
【Xposed框架】
它能够在运行时修改系统或应用程序方面和行为,而无需修改任何 Android 应用程序包 (APK) 或重新刷新。它还能进行模块功能二次开发,以修改设备相关信心而无需刷新自定义 ROM。
https://forum.xda-developers.com/xposed/xposed-installer-versions-changelog-t2714053
【Inspeckage】
Inspeckage 是一种为 Android 应用程序提供动态分析而开发的工具。通过对 Android API 的函数应用挂钩,Inspeckage 将帮助您了解 Android 应用程序在运行时正在做什么。
https://github.com/ac-pm/Inspeckage
【Frida框架】
该工具包使用客户端-服务器模型工作,它不仅可以在 Android 上注入正在运行的进程,还可以在 iOS、Windows 和 Mac 上注入运行的进程。还支持js脚本和python定制化功能开发。
https://www.frida.re/
【Diff-GUI】
它是一个 Web 框架,可以用于可用模块进行检测,HOOK本机,使用 Frida 注入 JavaScript的功能。
https://github.com/antojoseph/diff-gui
【Introspy-Android】
它是一个黑盒工具,lackbox 工具可帮助了解 Android 应用程序在运行时正在做什么,并协助识别潜在的安全问题。它包含两个独立的组件:一个用于配置挂钩、过滤器和选项的 GUI 界面,以及一个包含工具功能核心的 Cydia Substrate 扩展,包括挂钩和潜在问题分析。
https://github.com/iSECPartners/Introspy-Android
安全框架
【Mobile Security Framework】
移动安全框架 (MobSF) 是一种自动化的一体化移动应用程序 (Android/iOS/Windows) 渗透测试、恶意软件分析和安全评估框架,能够执行静态和动态分析。MobSF 支持移动应用程序二进制文件(APK、XAPK、IPA 和 APPX)以及压缩源代码,并提供 REST API 以与您的 CI/CD 或 DevSecOps 管道无缝集成。
https://github.com/ajinabraham/Mobile-Security-Framework-MobSF
【Objection】
objection它是一个运行时移动探索工具部,它是有frida提供的,一般需要借助python进行安装使用。它同时可以支持ios和android,可以执行和内存相关操作,还能绕过SSl。它的构建旨在帮助评估移动应用程序及其安全状况,而无需越狱或植根的移动设备。
https://github.com/sensepost/objection
网络抓包分析
【Tcpdump】
它是一个命令行数据包捕获实用程序。它可以从您的 Wi-Fi 连接、蜂窝连接以及在 Android 设备上可能拥有的任何其他网络连接中捕获数据包。
http://www.androidtcpdump.com/
【Wireshark】
它是一个开源数据包分析器,window和android都可以进行分析的强大网络数据包抓取分析工具。
https://www.wireshark.org/download.html
【Burp Suite】
它是一个用于执行应用程序安全测试的集成平台。
https://portswigger.net/burp/download.html
【Proxydroid】
它适用于 Android 系统的全局代理应用程序。
http://android.dailydownloaded.com/zh/communications/sms-tools/63713-proxydroid-download-install
【Android-ssl-bypass】
它是 android 调试工具,可用于绕过 SSL,即使实现了证书固定以及其他调试任务。该工具作为交互式控制台运行。
https://github.com/iSECPartners/android-ssl-bypass
【charles】
Charles可以监控浏览器发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
https://www.charlesproxy.com/download/
安全插件
【PublicKey Pinning】
Android 中的 Pinning 可以通过自定义 X509TrustManager 来完成。X509TrustManager 除了执行固定配置外,还应该执行常规的 X509 检查。
https://www.owasp.org/images/1/1f/Pubkey-pin-android.zip
【Android Pinning】
它是一个独立的 Android 库项目,可促进来自 Android 应用程序的 SSL 连接的证书固定,以最大限度地减少对证书颁发机构的依赖。
https://github.com/moxie0/AndroidPinning
【Java AES Crypto】
它是一个用于加密和解密字符串的简单 Android的aes库,它旨在避免大多数此类类遭受的经典错误。
https://github.com/tozny/java-aes-crypto
【Proguard】
它是一个免费的 Java 类文件收缩器、优化器、混淆器和预验证器。它检测并删除未使用的类、字段、方法和属性,目前很多项目还是用这个工具进行java代码保护。
http://proguard.sourceforge.net/
【Secure Preferences】
它是 Android Shared 首选项包装器,它使用AES 128、CBC和PKCS5填充加密 Shared Preferences 的值,并以 SHA 256 哈希的形式进行完整性检查。
https://github.com/scottyab/secure-preferences
【Trusted Intents】
它是用于 Android 应用程序之间灵活可信交互的库。
https://github.com/guardianproject/TrustedIntents
小结
还有很多在实际过程中会用到的工具,例如太极xposed、jeb、虚拟大师vmos、edxposed、magisk等等,也可以通过下面的地址进行下载和了解。
https://tool.pediy.com/
在android的安全分析过程中,还有很多安全研究员自定义的内部分析工具和内部的一些基于frida的脚本。通过这些工具可以实现非常强大的功能。
参考借鉴
https://hackersonlineclub.com/mobile-security-penetration-testing/
0结束1
Android10系统定制之frida逆向分析速成培训班(定制专业的安全手机)
推荐阅读
强烈推荐Google系列Android机型(Android逆向的最佳机型)
2022全球20多款知名的Android刷机ROM镜像和Android系统开源源码(覆盖全球机型)
进群添加微信(以上链接有群介绍,添加微信请备注进哪一个群)
点个在看你最好看