# android测试环境搭建

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2014-07-24T06:22:00Z
Canonical: https://wepostx.com/topics/531

> 乌云历史资料归档
>
> **原始作者：** 瘦蛟舞
> **原始编号：** superkieran-wooyundrops:308
> **原始发布时间：** 2014-07-24 14:22
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

## 0x01 测试机选择：真机or模拟器

1.1 三大主流模拟器对比
Android EmulatorAndroid-x86GenyMotion
价格freefreeFree: Non-commercial Paid: Freelance, Business
速度Slow for ARM – Faster for x86FastVery fast
支持版本Android Virtual Devices (All android versions)Only certain preconfigured devices, mostly tablet (Android 2.2-4.4)Pre-configured images for many tablet & phone devices of Google, HTC, LG, Motorola, Samsung, Sony (Android 2.3, 4.x)
HTTP代理Yes (command-line option)Yes, via GUIYes, via GUI
Transparent Man-in-the-middleYes – via DNS serverYes, via VirtualboxYes, via Virtualbox
Pre-rootedYesYesYes
虚拟机安全装时间5 minutes15 minutes5 minutes
相机支持Since Android 4.0Very limitedYes
GPS支持YesNoYes
Spoof IDsNoNoPaid version
Drag&Drop SupportNoNoYes
谷歌商店No, but can be installedYesNo, but can be installed
开发者工具支持YesYesYes, via plugins
镜像支持OneOffline, via VirtualboxOffline, via Virtualbox
1.2 总结
真机快功能全，模拟器成本低 有条件的话建议真机模拟器混合使用 如果用模拟器的话建议GenyMotion

## 0x02 探测修改流量

2.1 http代理设置
电脑代理：Fiddler、burp suite等

![原文图片](/media/2016/06/7f19242e7de9f1398ecd61a10861af5e)

手机代理：proxydroid等

![原文图片](/media/2016/06/13876f67e448d14bf3f13f5aa56ec773)

Proxydorid运行机制

![原文图片](/media/2016/06/eaa0632c836735a88aabac7568901a5a)

默认设置只能代理80和443的http流量，如果是其他端口的http流量就需要配置iptables转发端口到手机的8123或者8124端口上。
2.2 Ad-hoc无线网络
简单说就是用自己电脑开个wifi热点，这样做比直接在同LAN中设置代理的好处是，android上的代理软件不一定会把所有流量转发到pc上，如果自己pc开的热点就不会存在该问题，这样就可以用wireshark抓取这些不能代理的流量了。 设置方法如下： Dos下运行，设置热点

```text
netsh wlan set hostednetwork mode=allow ssid=test key=test1234
```
控制面板里共享网络

![原文图片](/media/2016/06/e2688972890ba8cdad580f65e0488453)

Dos下运行开启热点

```text
netsh wlan start hostednetwork
```
2.3 ssl证书
从fiddler中导出证书

![原文图片](/media/2016/06/73f94ae41e98ab0a492d42b2688a3ad3)

手机中安装fiddler证书

![原文图片](/media/2016/06/d0c4dc43e1e3ff48ef5fabe9870deaac)

有些app自带证书，可以解包查看

![原文图片](/media/2016/06/7a0d33534fafd80159529d7adc60f5fa)

然后合并导入手机中

## 0x03 探测修改本地存储

3.1 Root设备
Root后才能进入应用数据目录
3.2 本地存储检索
文件种类： databases - SQLite 数据 shared_prefs – 程序私有文件 cache – 缓存数据 lib – 本地库 files – 其他文件 少数应用在sd卡中也存储数据
3.3 文件管理器应用
ES文件浏览器（不能打开sqlite）

![原文图片](/media/2016/06/9856c25832fe0923d886cf858d346d6a)

RE（root explorer 能直接打开sqlite，要好用一些）

![原文图片](/media/2016/06/3acadc8a7740c2315d67ee47b466ce8b)

3.4 ADB pull
如果用的es没办法打开sqlite所以才有这步，用re的话就不需要这步可以在手机上直接查看。不过pull到pc上看起来更直观点。 Root权限才能对应用程序目录进行操作。

![原文图片](/media/2016/06/f5e18df7ee5d2d28edb17ce0505a3e54)

Chmod把权限改为777就可以pull到pc上查看了。

![原文图片](/media/2016/06/d89e780fa91983159dc76cfa56e61190)

3.5 SSH root server
安装SSHdroid，设置好参数即可远程ssh上android设备。

![原文图片](/media/2016/06/9ad67d0cbbf50d9600ab3421dce71b8e)

![原文图片](/media/2016/06/49b66a8d3f60a265c6ca8b13e999d05b)

![原文图片](/media/2016/06/f2462775edb465967b532dfe91712872)

3.6 快照分析
通过快照进行差异对比能够快速发现一些本地存储的敏感信息。
在进行操作如输入用户信息前拍下应用目录快照，就是复制一下。

![原文图片](/media/2016/06/c011272b15f40985ba718842a51c562d)

![原文图片](/media/2016/06/0f4d3bf2ef56950904e6e02b9c53c93f)

然后进行进行登陆操作拍下再拍下快照

![原文图片](/media/2016/06/5c83c10e909ebb2d253da9369520c758)

最后用diff比较两次快照

![原文图片](/media/2016/06/3e7440c51ea22413b51de0d628dee656)

总结：这种方法适合文件较多的应用，文件少的应用直接观察文件修改时间，然后进行查看。
3.7 常见漏洞
不必要的敏感信息存储 敏感信息明文存储在外置设备如sd卡中 敏感信息明文存储在私有目录下 用弱加密算法加密敏感数据 加密敏感数据用程序的硬编码的静态密钥 加密敏感数据的动态密钥存储在全局可读或者私有目录下

## 0x04 案例

Logcat信息泄漏
[WooYun: 光大银行Android手机客户端密码明文泄漏](http://www.wooyun.org/bugs/wooyun-2012-014590)
shared_prefs信息泄漏
[WooYun: 苏宁易购用户敏感信息泄露](http://www.wooyun.org/bugs/wooyun-2012-014308)
[WooYun: 百度安卓设计不当重要资讯泄漏](http://www.wooyun.org/bugs/wooyun-2014-054438)
明文传输
[WooYun: 微付通Android客户端敏感信息明文存储](http://www.wooyun.org/bugs/wooyun-2014-053037)
ssl证书失效
[WooYun: 中信银行"动卡空间“Android客户端缺陷导致用户名密码等信息被劫持](http://www.wooyun.org/bugs/wooyun-2013-027985)

## Replies
