开发者福利:史上最全Android 开发和安全系列工具

By | 2016-06-20
作者:阿里聚安全
链接:https://zhuanlan.zhihu.com/p/25261296
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

取证工具

  • bandicoot – 一个Python工具箱,用于分析手机元数据。它提供了一个完整,易于使用的环境,数据科学家分析手机元数据。只需几行代码,加载数据集,可视化数据,执行分析和导出结果。
  • Android Connections Forensics– 使法庭调查员能够连接到其原始进程
  • Android Forensics– 开源Android Forensics应用程序和框架
  • BitPim – 一个程序,允许您查看和操纵数据在LG,三星,三洋和其他制造商的许多CDMA手机。
  • fridump– 一个开源内存转储工具,主要针对渗透测试人员和开发人员。
  • LiME– (以前称为DMD)是一个可加载内核模块(LKM),它允许从Linux和基于Linux的设备(如Android提供的设备)中获取易失性内存。
  • P2P-ADB – 电话到手机Android Debug Bridge – 一个用于从其他手机“调试”手机的项目。
  • pySimReader – 它允许用户写出任意原始SMS PDU到SIM卡。

开发工具

  • Android SDK – Android软件开发工具包(SDK)包括一整套开发工具。这些包括调试器,库,基于QEMU的手持机仿真器,文档,示例代码和教程。
  • Android NDK – NDK是一个工具集,允许您使用本地代码语言(如C和C ++)来实现应用程序的各个部分。
  • ADT Bundle – Android开发工具(ADT)包是一个单一的下载,包含开发人员开始创建Android应用程序的一切。
Android Studio IDE或Eclipse IDE
Android SDK工具
Android 5.0(Lollipop)平台
Android 5.0模拟器系统映像与Google API
Native Android Runtime Emulation– 本机Android仿真器。

静态分析工具

  • Amandroid – 一个数据流分析框架的Android应用程序的安全审查。
  • Androwarn – 另一个静态代码分析器的恶意Android应用程序
  • ApkAnalyser – 一个静态的虚拟分析工具,用于检查和验证Android应用程序的开发工作。
  • APKInspector– 一个强大的GUI工具,分析人员分析Android应用程序。
  • droid-hunter – Android应用程序漏洞分析和pentesting工具。
  • Error-Prone – 将常见的Java错误作为编译时错误
  • FindBugs + FindSecurityBugs – FindSecurityBugs是FindBugs的扩展,包括Java应用程序的安全规则。它会找到加密问题以及Android的具体问题。
  • FlowDroid – FlowDroid是一个用于Android应用程序的上下文,对敏感对象和生命周期的静态分析工具。
  • Lint– Android lint工具是一个静态代码分析工具,检查您的Android项目源文件的潜在错误和优化改进正确性,安全性,性能,可用性,可访问性和国际化。
  • Smali CFGs – Smali控制流程图
  • Smali和Baksmali– smali / baksmali是dalvik使用的dex格式的汇编/反汇编器,Android的Java VM实现。
  • SPARTA– SPARTA项目(可靠可信应用程序的静态程序分析)正在构建一个工具集,以验证手机应用程序的安全性。
  • Thresher– thresher是一个静态分析工具,专门检查堆可达性。以便对由分析点报告的警报进行精确的符号分析。
  • VectorAttackScanner– 这种工具用于分析Android应用程序以检测攻击点,例如接收器,服务,进程和库

动态分析工具

  • Android Hooker – 此项目提供了各种工具和应用程序,可用于自动拦截和修改目标应用程序所做的任何API调用。
  • AppAudit– 在线工具(包括一个API)使用动态和静态分析检测应用程序中的隐藏数据泄漏。
  • BareDroid– 在Android设备上大规模支持裸机分析。
  • CuckooDroid– Cuckoo Sandbox的扩展,CuckooDroid带来了执行和分析Android应用程序到Cuckoo的功能。
  • Droidbox– DroidBox是开发来提供Android应用程序的动态分析
  • Droid-FF – Droid-FF是一个可扩展的模糊框架Android
  • Drozer– Drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和基础操作系统交互来搜索应用程序和设备中的安全漏洞。
  • Marvin– Marvin是一个分析Android应用程序以搜索漏洞的系统,并允许通过其版本历史跟踪应用程序。
  • Inspeckage– Inspeckage是一个为Android应用程序提供动态分析的工具。通过应用hook到Android API的功能,Inspeckage将帮助您了解Android应用程序在运行时做什么。
  • PATDroid– 用于分析Android应用程序和系统本身的工具和数据结构集合。形成AppAudit的基础。

逆向工程工具

  • Androguard– 反向工程,Android应用程序的恶意软件和好的软件分析
  • Android Apk decompiler – 在线反编译为Apk和Dex Android文件
  • Android loadble内核模块 – 它主要用于在受控系统/仿真器上进行反转和调试。
  • AndBug– Android调试库
  • ApkTool– 用于反向工程Android Apk文件的工具
  • APK Studio– APK Studio是一个IDE,用于在单个用户界面中反编译/编辑然后重新编译Android应用程序二进制文件。
  • Bytecode-Viewer – 一个Java 8 Jar和Android APK反向工程套件(解码器,编辑器,调试器等)
  • ClassyShark– Android可执行文件浏览器,用于分析APK。
  • CodeInspect– 用于Android和Java应用程序的基于Jimple的反向工程框架。
  • dedex– 用于反汇编Android DEX文件的命令行工具。
  • dextra– dextra实用程序开始了它的生命,作为AOSP的dexdump和dx – dump的替代品,两者都相当基本,并产生丰富,但非结构化的输出。除了支持所有的功能,它还支持各种输出模式,特定类,方法和字段查找,以及确定静态字段值。我更新了它以支持ART
  • Dex2Jar– 使用android .dex和java .class文件的工具
  • dexdisassembler– 一个用于拆卸Android DEX文件的GTK工具。
  • Enjarify– Enjarify是一个工具,用于将Dalvik字节码转换为等效的Java字节码。这允许Java分析工具分析Android应用程序。
  • Fern Flower – FernFlower Java反编译器
  • Fino– Android小型检测工具
  • Introspy-Android – Blackbox工具来帮助了解Android应用程序在运行时做什么,并帮助识别潜在的安全问题。
  • JD-Gui– 快速Java解压缩器,方便阅读java源代码
  • JEB – 交互Android Decompiler
  • Lobotomy– Lobotomy是一个Android安全工具包,将自动执行不同的Android评估和逆向工程任务。Lobotomy工具包的目标是提供一个控制台环境,允许用户加载其目标Android APK一次,然后拥有所有必要的工具,而不需要退出该环境。1.2版本将保持开源。
  • smali– Android的dex格式的汇编/反汇编程序
  • smali_emulator – 模拟由apktool生成的smali源文件,例如,以便在APKs中取消模糊处理和加密。
  • Strongdb– Strongdb是一个用Python编写的gdb插件,用于帮助调试Android Native程序。主要代码使用gdb Python API。
  • Xenotix APK Reverser – 一个开源的Android应用程序包(APK)反编译和反汇编由dex2jar,baksmali和jd-core

hooking工具

  • ADBI– Android动态二进制测试(ADBI)是一种用于动态跟踪Android本机层的工具。
  • Cydia Substrate – 适用于Android的Cydia Substrate支持开发人员使用注入到目标进程内存中的Substrate扩展对现有软件进行更改。
  • Diff-GUI – 用于在Android上注入JavaScript的GUI(使用Frida)
  • Dynamic Dalvik Instrumentation Toolkit – 简单易用的Dalvik代码动态仪器工具包。
  • Frida – 注册JavaScript以探索Android上的本机应用
  • Xposed框架 – Xposed框架使您能够在运行时修改系统或应用程序方面和行为,而无需修改任何Android应用程序包(APK)。

在线分析

  • Android Observatory – Android Observatory是一个面向大量Android应用程序存储库的Web界面。它允许用户搜索或浏览成千上万的Android应用程序,并检索这些应用程序的原数据。
  • Android APK Decompiler – 解压APK文件变得容易。在线反编译。
  • AndroidTotal– AndroTotal是一个免费的服务,扫描可疑APK与多个手机防病毒应用程序。
  • Anubis– 未知二进制文件的恶意软件分析。
  • Akana– Akana是一个在线Android应用程序Interactive Analysis Enviroment(IAE),它结合一些插件来检查恶意应用程序。
  • App360Scan– 说明应用程序使用的权限,以及它可能对用户造成的危害。
  • CopperDroid– 它自动执行Android恶意软件的开箱即用的动态行为分析。
  • Dexter– Dexter是一个具有协作功能的交互式Android软件分析环境。
  • Eacus– Android Lite应用分析框架
  • Mobile Sandbox – 移动沙箱提供静态和动态恶意软件分析,结合Android应用程序的机器学习技术。
  • NVISO ApkScan – NVISO的ApkScan web应用程序允许您扫描Android应用程序的恶意软件。
  • Sandroid– 一个自动Android应用程序分析系统
  • Virus Total – VirusTotal是一个免费的服务,可以分析可疑文件和URL,并有助于快速检测病毒,蠕虫,木马和各种恶意软件。

Android测试分发

  • Android Tamer– Android Tamer是一个虚拟/现场平台Android安全专业人士。
  • Androl4b– 基于Ubuntu Mate的Android安全虚拟机。它包括来自不同安全专家的最新框架,教程和实验室的集合,以及用于逆向工程和恶意软件分析的研究人员
  • Appie– 一个便携式软件包为Android Pentesting和一个真棒的替代现有的虚拟机。它是Android应用安全评估,Android Forensics,Android恶意软件分析所需的所有工具的一站式答案。
  • AppUse– AppUse是由AppSec Labs开发的VM(虚拟机)。
  • Mobisec– 移动安全测试环境
  • NowSecure Lab community edition – 它对移动应用程序进行动态分析(网络流量)
  • Santoku Linux– Santoku是一个操作系统,可以作为独立操作系统在VM外部运行。
  • Shadow OS – ShadowOS是一款由Fortify on Demand设计的免费工具,可帮助安全和QA团队测试Android应用程序的安全漏洞。它是一个基于KitKat的自定义操作系统,它拦截设备操作的特定区域,并使安全漏洞的测试应用程序更容易。
  • Vezir Project – 另一个Linux虚拟机的移动应用程序Pentesting和移动恶意软件分析。

Android Vulnerable应用程序

Android安全应用框架

  • Android IMSI-Catcher-Detector – 它是一个用于检测IMSI-Catchers的应用程序。IMSI捕获器是在目标移动电话和服务提供商的真实塔之间起作用的假移动塔(基站)。因此,他们被认为是中间人(MITM)攻击。在美国,IMSI捕捉器技术以名称“StingRay”被称为。
  • Am I Vulnerable– AIV是一种Android安全应用,可通知用户在设备上安装的应用版本中发现的公开已知漏洞。
  • Android Vulnerability Test Suite – 本着开放数据收集的精神,并在社区的帮助下,让我们对Android安全状态的一个脉搏。NowSecure提供了一个设备上的应用程序来测试最近的设备漏洞。
  • NetHunter – Kali Linux NetHunter项目是第一个用于Nexus设备的开源Android渗透测试平台。NetHunter支持无线802.11帧注入,一键式MANA Evil接入点设置,HID键盘(Teensy类攻击)以及BadUSB MITM攻击,并且建立在Kali Linux发行版和工具集的坚固肩膀上。
  • Koodous– Koodous是一个协作平台,将在线分析工具的功能与分析人员之间的社交互动相结合,通过一个庞大的APK存储库,专注于检测Android应用程序中的欺诈模式。您可以下载他们的Android应用程式,检查您的装置是否包含任何可疑应用程式。
  • SecureMe Droid(SMD) – 是一种安全应用程序,用于扫描现有应用程序,新安装和更新的应用程序已知的漏洞和安全问题的Android设备。

应用程序安全框架

  • AndroBugs– AndroBugs框架是一个Android漏洞分析系统,可帮助开发人员或黑客在Android应用程序中发现潜在的安全漏洞。其命令行界面和输出提供了极高的效率和精度。
  • AppMon– AppMon是一个运行时安全测试和分析框架macOS,iOS和Android应用程序。对于移动渗透测试人员来说,通过在运行时检查API调用来验证源代码扫描器的安全问题报告,来验证安全问题报告是非常有用的。还可用于监控应用程序的整体活动,并专注于看起来可疑的事情,例如数据泄露,凭据,令牌等。您可以使用预定义的脚本或者编写自己的在运行时修改应用程序的功能/逻辑,例如欺骗DeviceID ,欺骗GPS坐标,伪造应用内购买,绕过苹果的TouchID等。
  • AppRay– App-Ray查看您的应用程序,并帮助您了解他们真正做什么。在全自动测试中,App-Ray分析应用程序并突出显示漏洞,数据泄露和隐私泄露。
  • Mobile Security Framework (MobSF) – 移动安全框架是一个智能的,一体化的开源移动应用程序(Android / iOS)自动笔测试框架,能够执行静态和动态分析。
  • Qark– 快速Android审查工具包 – 此工具旨在寻找几个安全相关的Android应用程序漏洞,无论是在源代码或打包APK。该工具还能够创建“概念验证”部署APK和/或ADB命令,能够利用它发现的许多漏洞。没有必要根植测试设备,因为此工具侧重于在其他安全条件下可以利用的漏洞。
  • SUPER– 安全,统一,强大和可扩展的Rust分析器可用于自动分析应用程序的漏洞。

Android Malwares相关

教程

Android漏洞列表

Android安全库

  • Android Pinning– Android上的证书固定的独立库项目。
  • Conceal By Facebook– Conceal提供了简单的Android API,用于执行快速加密和数据认证。
  • Dexguard– DexGuard是我们专门的优化和obfuscator的Android。创建更快,更紧凑,更难以破解的应用程序。
  • Encryption – 加密是一种向Android项目创建加密字符串的简单方法。
  • CWAC-Security – 帮助您帮助您的用户保护他们的数据
  • IOCipher– IOCipher是用于应用程序的虚拟加密磁盘,而不需要设备根目录。
  • Java AES Crypto – 一个简单的Android类,用于加密和解密字符串,旨在避免大多数类的经典错误。
  • NetCipher– 这是一个Android图书馆项目,提供多种手段来提高移动应用程序的网络安全性。
  • OpenPGP API – OpenPGP API提供了执行OpenPGP操作(例如签名,加密,解密,验证等)的方法,无需后台线程的用户交互。
  • Proguard– ProGuard是一个免费的Java类文件缩小器,优化器,混淆器和预校验器。它检测和删除未使用的类,字段,方法和属性。
  • Spongy Castle – 为Android免费下载Bouncy Castle
  • SQL Cipher – SQLCipher是SQLite的开源扩展,为数据库文件提供透明的256位AES加密。
  • Secure Preferences – Android共享首选项封装比加密共享首选项的键和值。
  • Trusted Intents – 用于Android应用程序之间灵活的信任交互的库

最佳实践