你是否还在为Android渗透测试工具配置踩坑?Drozer作为顶尖安全框架,却因环境配置复杂让人望而却步。本文手把手带你搞定Windows环境下Drozer的完整部署,揭秘Java、Python2.7、adb的避坑指南,解决adb连接乱码、端口转发失败等常见难题。更关键的是,教你用adb与cmd正确连接真实设备与夜神模拟器,实现控制台成功交互。不走弯路,才是高效渗透的第一步。
— AI 生成的文章内容摘要
前段时间做某项目的Android App渗透测试,发现Drozer这个神器还是挺好用,今天抽时间写篇文章把遇到的坑和一些实战技巧分享一下,不多说,开搞...
一、框架介绍
Drozer是一款领先的Android安全测试框架,可以发现Android应用程序暴露的攻击表面并与其进行交互,尽可能点对点发现Android漏洞,识别组织中易受攻击的设备,并进行远程攻击,Drozer既可以在Android模拟器上运行,也可以在实际设备上运行,可以免费从官网下载工具。
官网:https://labs.f-secure.com/tools/drozer/
运行Drozer需要java环境、python27环境、adb调试工具、真实手机、夜神安卓模拟器、Drozer-2.4.4、drozer-agent-2.3.4。本文环境:
1、JAVA是Android开发的主要语言,用于与手机交互时使用,至于怎么配置环境变量,此处省略n个字。
2、由于Drozer是由Python2.7编写,所以只能在Python2.7环境下运行,还是环境变量,此处省略n个字。(这里有个坑,通常我们为了方便容易区分python版本起见,通常会安装两个版本的python,重命名成python2,python3,但是当连接手机时,执行drozer没反应,将python2改回python时,正常启动,我也不知道为什么。)
3、adb即安卓调试桥,是一个命令行窗口工具,用于PC端与安卓设备进行交互,官网下载安装包和Android通用驱动,一键安装,配置环境变量。
Path环境变量:C:\Windows\SysWOW64
官网:https://labs.f-secure.com/tools/drozer/
打开msi文件直接安装,再安装过程中会遇到设置运行环境的问题,因为检测到的环境是python3,所以要手动指定python 2.7环境,一路next即可。
有两种方法:a、手机或模拟器直接安装。b、adb安装,这里就介绍一下adb安装吧。(连接Android客户端的方法下面会讲到)
用cmd进入到Drozer-agent apk安装包所在目录(至于为什么非要用cmd,后面会做详细说明),执行安装命令。
adb install drozer-agent-2.3.4.apk
安装过程中手机端会弹出来是否允许,点继续安装就好(视手机品牌情况),如图所示那就是OK的。
前面我们已经安装好了工具以及所需要的环境,接下来开始连接调试设备,进入实战环节。
首先保证手机开发者模式正常打开USB调试,安装好前面下载的Android驱动,(如无法连接装个360手机助手一键解决,在用adb连接前请先卸载360手机助手,并重启电脑,不然会占用端口无法连接)
在开始前要说一说为什么要用cmd连接呢?踩了很多坑,习惯性的用Powershell,但是powershell到后面连接终端的时候会产生乱码并且无法变更。
cmd默认编码是简体中文GBK 936,连接终端的时候会乱码,无法连接,所以开始前我们临时更改一下cmd的编码:改为UTF-8 65001。
命令行进入到python27的scripts文件夹,开始连接,drozer Server默认监听端口为31415,同样需要与主机上的31415端口进行通信。
adbforward tcp:31415 tcp:31415 --端口转发
drozer console connect --启动drozer
出现上面这个画面那就说明成功了,可以开始愉快的玩耍了!
在连接安卓模拟器这儿因为不知道模拟器adb转发端口是多少,所以要先找一下模拟器的adb转发端口。(这里有个坑,据说夜神模拟器的默认转发端口是62001,但不然,连接不上。这里视模拟器品牌而定)
启动模拟器,打开桥接模式,使其和电脑处于同一网络,在cmd查找一下模拟器的转发端口。
tasklist --查看任务列表
找到NoxVMHandle.exe对应的PID,这里是2608,再根据此PID查找模拟器和电脑连接的TCP端口,并找到127.0.0.1:62xxx的地址。
netstat -ano | findstr PID --显示此PID的网络连接情况
以上就是drozer工具和整个环境的安装方法,下一篇讲一下drozer的实战手法,教你如何使用drozer测试Android App。

湖南省长沙市 1F
这玩意装起来真折腾,刚试了下python2改名果然连不上
北京市 2F
adb端口被360占了差点没搞明白,卸了才连上
印度 3F
drozer-agent用adb装比直接点apk稳多了
香港 4F
chcp 65001这步太关键了,不然全是乱码根本没法看
日本 B1
@ 荒野独狼 我这边端口转发死活不行,重启adb才搞定
北京市 5F
夜神模拟器端口根本不是62001,我查了tasklist才发现是62025
上海市 6F
求问下drozer能测flutter写的app吗?
湖南省长沙市 B1
@ 超新星之光 Flutter的应该也能测,但可能要加个中间层
日本 7F
前几天刚搞完这个,确实折腾了好久,尤其是python环境
河北省唐山市 B1
@ 韩磊 我也是配环境配到半夜,adb和python2来回折腾
云南省临沧市 8F
又是python2的锅,现在新项目都py3了还得单独配个老环境
台湾省 B1
@ RogueSpecter 看到python2就头疼,好多老工具都这样
中国 B1
@ RogueSpecter python2真是祖传代码了,不维护还非得用它
北京市 9F
连接成功那一刻爽翻了 👍
韩国 10F
说真的,文档要是早点写清楚这些坑能省两小时
日本 11F
有试过其他模拟器吗?感觉夜神有时候不太稳
马来西亚 12F
之前用这个测过几个app,权限泄露问题挺多的
湖南省长沙市 13F
为啥非要用python2.7啊,不能升级一下吗
新西兰 14F
端口被占用太常见了,每次都得先netstat看一圈
韩国 15F
agent装完还要手动开服务,有点麻烦
印度 16F
配置环境变量那步能再详细点不?老报错
山东省济南市 17F
等实战篇,想看看具体能挖出啥漏洞
北京市 B1
@ 捣蛋猴 实战篇快点出吧,等不及想试试挖洞
韩国 18F
这工具对新手不太友好啊,光装就搞了一天
台湾省 19F
agent装完服务没开,白连半天,无语
湖南省岳阳市 20F
有人在mac上跑成功了吗?求指点
浙江省金华市 21F
连接模拟器时端口查不到,tasklist里压根没NoxVMHandle.exe
福建省厦门市 22F
乱码问题差点劝退,还好看到chcp那步
贵州省六盘水市 23F
drozer能扫出intent hijacking吗?
浙江省 24F
python2改回python那段太真实了
辽宁省沈阳市 25F
感觉比MobSF麻烦多了,但功能好像更细
柬埔寨 26F
刚试了下,python2.7.18也能跑,不用死磕17版本
广东省佛山市 27F
adb forward之后console还是连不上,防火墙关了也没用
日本 28F
夜神现在更新后adb端口又变了,得重新查
江西省南昌市 29F
配置完环境变量cmd里还是找不到drozer命令
浙江省温州市 30F
@豆包 这玩意儿装起来也太折腾了
荷兰 B1
@ RustCircuit 配置环境变量、改编码是有点麻烦,不过连上之后用起来就顺手了。
澳大利亚 31F
flutter打包的apk测不了吧,native层都看不见
上海市 32F
试了下,python2和3共存确实挺折腾的