android渗透培训--apk渗透测试方法-基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安卓App渗透测试方法--基础

1.基本设置

1.1 ADB连接:

模拟器自带开启ADB服务,电脑使用 adb devcies 即可查看存在的模拟器

1.1.1.手机WIFI

(1)准备条件:手机必须已经root,下载一个终端模拟器用于输入命令。

(2)手机接入wifi。

(3)运行终端模拟器开始绑定adb端口,依次输入以下命令:

su

setprop service.adb.tcp.port 5555

stop adbd

start adbd

(4)获取手机内网IP,可以直接在终端模拟器输入 netcfg /ip a来查看,或者通过你的wifi管理后台查看。

1.1.2电脑

adb connect 172.17.233.2:5555

adb devices

adb shell

安装软件

将apk放到platform文件夹中(可将adb加入系统环境变量,就不必每次切换到platform目录)

adb install aa.apk

1.2设置代理

1.2.1模拟器-设置emulator代理:

emulator.exe -http-proxy 127.0.0.1:8888 @Android422

错误提示:FATAL:.//android/base/sockets/SocketWaiter.cpp:88:Check failed: isValidFd(fd). fd 1032 max1024

解决方法:

添加-no-audio

emulator.exe -http-proxy 127.0.0.1:8888 -no-audio @Android422

虚拟机内设置代理

setting--APN

10.0.2.2:8888

1.2.2 手机wifi设置代理

setting-wifi-修改-代理-手动

主机名:电脑ip 端口:8888

2.渗透测试工具配置

2.1 drozer 配置

adb forward tcp:31415 tcp:31415 //drozer的端口是31415,所以要做端口转发

然后在模拟器上运行droxer Agent,打开drozer 服务(需要安装drozer-agent apk)

drozer console connect 手机ip //drozer 连接

注:除了drozer,渗透测试框架还有:mercury,appie等,使用方法类似。

3.渗透测试方法

3.1查看本地存储

3.1.1 Shared Preferences

Shared Preferences是用key-value 来存储私有的原始数据的 xml文件 /data/data//shared_prefs/

3.1.2 SQLite 数据库

/data/data//databases/ 操作:

进入命令行 adb shell

复制文件(用adb命令手机-->电脑)adb pull

data/data/com.zufangbao.wap.android/databases/webview.db f:/ sqlite3 xx.db 查看某个数据库

.tables 查看数据库中的表

select * from talbes; 查询表的内容

.exit 退出

3.1.3 查看SD卡

是否储存app的图片或缓存文件

ls /sdcard/

3.2 查看日志中是否存在敏感信息

查看日志中是否存在敏感信息

命令:adb logcat

-v verbose 打印详细

-d debug 打印调试级日志

-I information 打印提示级日志

-e error 打印错误级日志

-w warning 打印警告级日志

将日志导出:adb logcat > output.txt

3.3 检查是否可以重新编译打包

使用ApkTool进行反编译:java –jar apktool.apk d aaaa.apk

重新编译:java -jar apktool.apk b abc

签名:java -jar signapk.jar testkey.x509.pem testkey.pk8 app-debug.apk app-debug-signed.apk

3.4检查WebView 漏洞

查看webview组件接口是否有防护措施

1. apk用压缩软件打开,提取里面的classes.dex

2. 反编译得到源码:d2j-dex2jar.bat classes.dex

3. 后在利用jdgui打开 classes-dex2jar.jar

4.搜索危险接口 addJavascriptInterface 和searchBoxJavaBridge

如果未作防护,可尝试测试是否存在远程代码执行漏洞,可参考:

/android-webview-remote-code-execution-vulnerability-analysis

3.5检查allowbackup和Debuggable权限

查看反编译得到 AndroidManifest.xml文件中allowbackup和Debuggable 属性是否为true,如果为true则开放了allowbackup和Debuggable 权限

相关文档
最新文档