自己在网上搜集了一些App安全学习教程及工具,项目地址:https://github.com/Brucetg/App_Security
这段时间因为某些原因接触了Android App渗透测试,发现了几个不错的App渗透测试工具(虽然这些工具早就出来了 2333),搭建测试环境的过程中遇到了一些问题,特地总结一下,希望能给大家带来帮助。
一. drozer简介
drozer(以前称为Mercury)是一款Android安全测试框架。
drozer允许您通过承担应用程序的角色并与Dalvik VM,其他应用程序的IPC端点和底层操作系统进行交互来搜索应用程序和设备中的安全漏洞。
drozer提供工具来帮助您使用,共享和理解公共Android漏洞。它可以帮助您通过开发或社会工程将drozer Agent部署到设备。使用weasel(MWR的高级开发负载)drozer能够通过安装完整代理,将有限代理注入正在运行的进程或连接反向shell以充当远程访问工具(RAT)来最大化其可用权限。
项目地址:https://github.com/mwrlabs/drozer
Mac 安装drozer
1. 安装Python 2.7(系统自带)
2. 安装Protobuf 2.6 or greater
3. 安装Pyopenssl 16.2 or greater
4. 安装Twisted 10.2 or greater
5. 安装JDK 1.7
这里我安装的是JDK 1.8,最后也安装成功了。
6. 安装Python的service_identity模块(不安装的话后面运行drozer时总会显示警告)
7. 安装 adb(Android Debug Bridge)
可以去 https://developer.android.com/studio/releases/platform-tools下载相应平台上的安装包,解压后配置下环境变量即可,这里仅演示Mac下的安装方式:
安装homebrew(已安装的话可跳过)
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安装adb
测试是否安装成功
如果不报错就说明安装成功啦。
8. 安装drozer
到 https://labs.mwrinfosecurity.com/tools/drozer/ 下载相应平台的安装包:
这里我下载的是drozer(Python .whl)
然后进入文件所在目录,执行以下命令:
注意:这里的2.x.x要替换成自己下载的版本,比如这里下载的是2.4.4,就替换成2.4.4
安装成功后,执行drozer命令后输出如下:
Windows和Linux平台上的安装大体上类似,就不一一测试了。
客户端安装
同样到:https://labs.mwrinfosecurity.com/tools/drozer/ 下载客户端,也就是drozer(Agent .apk only),然后安装到手机或者模拟器上就好。
使用
使用Android模拟器:
如果使用Android模拟器,则需要设置合适的端口,以便PC可以连接到模拟器内部或设备上的代理打开的TCP套接字。默认情况下,drozer使用端口31415:
列出所有设备:
启动drozer服务端:
接着执行:
启动移动设备中的drozer agent,将右下角的关闭置为打开状态:
然后,使用drozer控制台进行连接,在PC终端中执行以下命令:
如果连接成功,PC终端效果如下:
此时,Android客户端状态如下:
常用命令:
其他用法如下:
Dex是Android系统中可以在Dalvik虚拟机上直接运行的文件格式。java源代码经过ADT的复杂编译后转换成Dex文件,这是一个逐步优化的过程。Dex文件的指令码就是Dalvik虚拟机专有的一套指令集,专门为嵌入式系统优化过,相比标准java的.class文件,它体积小,运行效率高。
二. Androguard
Androguard简介:
Androguard是一款使用Python编写的跨平台的Android逆向工具,它可以在 Linux/Windows/OSX上运行。使用它可以反编译android应用,也可以用来做android app的静态分析(static analysis)。
安装Androguard:
Androguard的使用:
主要文件:
使用方法:
使用方法:
使用方法:
使用方法:
使用方法:
使用方法:
使用方法:
使用方法:
实例:
执行完该命令后,所有输出均在crackme0502中
如果上述执行上述命令后报错:AttributeError: ‘DiGraph’ object has no attribute ‘edge’
只需要安装networkx低版本即可(最新版2.2),改为1.9后程序正常运行:
更详细的使用方法请参考:
https://media.readthedocs.org/pdf/androguard/latest/androguard.pdf
常用的Android 渗透测试框架除了文章中提到的,还有好几个,不过这里限于篇幅原因就先写这么多吧!
参考文章:
http://blog.orleven.com/2017/06/22/android-base/
*本文作者:Brucetg,转载请注明来自FreeBuf.COM
领取专属 10元无门槛券
私享最新 技术干货