Android App渗透测试–Drozer(安装篇)

Bug@KillBoy
Bug@KillBoy
作者
2
文章
0
粉丝
渗透测试3916,65414字数 1276阅读4分15秒阅读模式
AI智能摘要
你是否还在为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/

Android App渗透测试–Drozer(安装篇)
二、环境及工具安装
运行Drozer需要java环境、python27环境、adb调试工具、真实手机、夜神安卓模拟器、Drozer-2.4.4、drozer-agent-2.3.4。本文环境:
操作系统:Windows10专业版
JAVA环境:jdk1.8.0_241
Python环境:Python 2.7.17
1、JAVA是Android开发的主要语言,用于与手机交互时使用,至于怎么配置环境变量,此处省略n个字。
2、由于Drozer是由Python2.7编写,所以只能在Python2.7环境下运行,还是环境变量,此处省略n个字。(这里有个坑,通常我们为了方便容易区分python版本起见,通常会安装两个版本的python,重命名成python2,python3,但是当连接手机时,执行drozer没反应,将python2改回python时,正常启动,我也不知道为什么。)
Android App渗透测试–Drozer(安装篇)
3、adb即安卓调试桥,是一个命令行窗口工具,用于PC端与安卓设备进行交互,官网下载安装包和Android通用驱动,一键安装,配置环境变量。
官网:https://adbshell.com/downloads
Android App渗透测试–Drozer(安装篇)
Path环境变量:C:\Windows\SysWOW64
安装好之后,命令行测试,如图所示那就对了:
Android App渗透测试–Drozer(安装篇)
  4、Drozer安装
  首先从官网下载电脑端drozer和手机端安装包
官网:https://labs.f-secure.com/tools/drozer/
Android App渗透测试–Drozer(安装篇)
  打开msi文件直接安装,再安装过程中会遇到设置运行环境的问题,因为检测到的环境是python3,所以要手动指定python 2.7环境,一路next即可。
Android App渗透测试–Drozer(安装篇)
  5、Drozer-agent安装
  有两种方法:a、手机或模拟器直接安装。b、adb安装,这里就介绍一下adb安装吧。(连接Android客户端的方法下面会讲到)
用cmd进入到Drozer-agent apk安装包所在目录(至于为什么非要用cmd,后面会做详细说明),执行安装命令。
adb install drozer-agent-2.3.4.apk
Android App渗透测试–Drozer(安装篇)
  安装过程中手机端会弹出来是否允许,点继续安装就好(视手机品牌情况),如图所示那就是OK的。
Android App渗透测试–Drozer(安装篇)   
  三、连接调试
前面我们已经安装好了工具以及所需要的环境,接下来开始连接调试设备,进入实战环节。
1、连接真实手机
首先保证手机开发者模式正常打开USB调试,安装好前面下载的Android驱动,(如无法连接装个360手机助手一键解决,在用adb连接前请先卸载360手机助手,并重启电脑,不然会占用端口无法连接)
看看是否连接成功,这样说明adb连接成功:
adb devices 查看是否与设备建立连接adb shell 登录到设备
Android App渗透测试–Drozer(安装篇)
  接下来用Drozer连接手机
  在开始前要说一说为什么要用cmd连接呢?踩了很多坑,习惯性的用Powershell,但是powershell到后面连接终端的时候会产生乱码并且无法变更。
Android App渗透测试–Drozer(安装篇)
  cmd默认编码是简体中文GBK 936,连接终端的时候会乱码,无法连接,所以开始前我们临时更改一下cmd的编码:改为UTF-8 65001。
  chcp 65001 编码改为UTF-8
命令行输入:chcp 65001
Android App渗透测试–Drozer(安装篇)
  打开手机端drozer,启动服务
Android App渗透测试–Drozer(安装篇) 
  命令行进入到python27的scripts文件夹,开始连接,drozer Server默认监听端口为31415,同样需要与主机上的31415端口进行通信。
adbforward tcp:31415 tcp:31415    --端口转发
Android App渗透测试–Drozer(安装篇)
drozer console connect  --启动drozer
Android App渗透测试–Drozer(安装篇)
出现上面这个画面那就说明成功了,可以开始愉快的玩耍了!
2、连接安卓模拟器
在连接安卓模拟器这儿因为不知道模拟器adb转发端口是多少,所以要先找一下模拟器的adb转发端口。(这里有个坑,据说夜神模拟器的默认转发端口是62001,但不然,连接不上。这里视模拟器品牌而定)
Android App渗透测试–Drozer(安装篇)
启动模拟器,打开桥接模式,使其和电脑处于同一网络,在cmd查找一下模拟器的转发端口。
tasklist  --查看任务列表
Android App渗透测试–Drozer(安装篇)
找到NoxVMHandle.exe对应的PID,这里是2608,再根据此PID查找模拟器和电脑连接的TCP端口,并找到127.0.0.1:62xxx的地址。
netstat -ano | findstr PID    --显示此PID的网络连接情况
Android App渗透测试–Drozer(安装篇)
  至此,我们adb连接模拟器,成功
Android App渗透测试–Drozer(安装篇)
  接下来drozer和真实手机连接一样。
  以上就是drozer工具和整个环境的安装方法,下一篇讲一下drozer的实战手法,教你如何使用drozer测试Android App。

Android App渗透测试–Drozer(安装篇)

 
Bug@KillBoy
  • 本文由 Bug@KillBoy 发表于2020年3月17日 12:17:04
评论  39  访客  39
    • RawEnergy
      RawEnergy 0

      这玩意装起来真折腾,刚试了下python2改名果然连不上

      • 创新的工匠
        创新的工匠 0

        adb端口被360占了差点没搞明白,卸了才连上

        • 蒋卅二
          蒋卅二 0

          drozer-agent用adb装比直接点apk稳多了

          • 荒野独狼
            荒野独狼 0

            chcp 65001这步太关键了,不然全是乱码根本没法看

              • 波波狗
                波波狗 1

                @ 荒野独狼 我这边端口转发死活不行,重启adb才搞定

              • 绯色之梦
                绯色之梦 0

                夜神模拟器端口根本不是62001,我查了tasklist才发现是62025

                • 超新星之光
                  超新星之光 0

                  求问下drozer能测flutter写的app吗?

                    • 酿酒陈
                      酿酒陈 0

                      @ 超新星之光 Flutter的应该也能测,但可能要加个中间层

                    • 韩磊
                      韩磊 0

                      前几天刚搞完这个,确实折腾了好久,尤其是python环境

                        • TaffyTangle
                          TaffyTangle 0

                          @ 韩磊 我也是配环境配到半夜,adb和python2来回折腾

                        • RogueSpecter
                          RogueSpecter 1

                          又是python2的锅,现在新项目都py3了还得单独配个老环境

                            • 望月
                              望月 0

                              @ RogueSpecter 看到python2就头疼,好多老工具都这样

                              • 社交恐惧者
                                社交恐惧者 0

                                @ RogueSpecter python2真是祖传代码了,不维护还非得用它

                              • Phantom
                                Phantom 0

                                连接成功那一刻爽翻了 👍

                                • CocoaCloud
                                  CocoaCloud 0

                                  说真的,文档要是早点写清楚这些坑能省两小时

                                  • SilentGloom
                                    SilentGloom 1

                                    有试过其他模拟器吗?感觉夜神有时候不太稳

                                    • 流浪的鹰
                                      流浪的鹰 0

                                      之前用这个测过几个app,权限泄露问题挺多的

                                      • 幽谷守护者
                                        幽谷守护者 0

                                        为啥非要用python2.7啊,不能升级一下吗

                                        • 影子花园的园丁
                                          影子花园的园丁 0

                                          端口被占用太常见了,每次都得先netstat看一圈

                                          • 玄刃
                                            玄刃 0

                                            agent装完还要手动开服务,有点麻烦

                                            • 老友记
                                              老友记 0

                                              配置环境变量那步能再详细点不?老报错

                                              • 捣蛋猴
                                                捣蛋猴 1

                                                等实战篇,想看看具体能挖出啥漏洞

                                                  • 软软酱
                                                    软软酱 0

                                                    @ 捣蛋猴 实战篇快点出吧,等不及想试试挖洞

                                                  • 云烟墨色
                                                    云烟墨色 0

                                                    这工具对新手不太友好啊,光装就搞了一天

                                                    • 玉润珠辉
                                                      玉润珠辉 0

                                                      agent装完服务没开,白连半天,无语

                                                      • 杨戬开眼
                                                        杨戬开眼 0

                                                        有人在mac上跑成功了吗?求指点

                                                        • 青瓷雅韵
                                                          青瓷雅韵 1

                                                          连接模拟器时端口查不到,tasklist里压根没NoxVMHandle.exe

                                                          • 顽皮猴仔
                                                            顽皮猴仔 1

                                                            乱码问题差点劝退,还好看到chcp那步

                                                            • 悬空露台
                                                              悬空露台 0

                                                              drozer能扫出intent hijacking吗?

                                                              • 嘲世者
                                                                嘲世者 1

                                                                python2改回python那段太真实了

                                                                • 抱抱兽
                                                                  抱抱兽 0

                                                                  感觉比MobSF麻烦多了,但功能好像更细

                                                                  • 浣熊掌柜
                                                                    浣熊掌柜 0

                                                                    刚试了下,python2.7.18也能跑,不用死磕17版本

                                                                    • 果冻小王子
                                                                      果冻小王子 0

                                                                      adb forward之后console还是连不上,防火墙关了也没用

                                                                      • ChaosDrifter
                                                                        ChaosDrifter 0

                                                                        夜神现在更新后adb端口又变了,得重新查

                                                                        • StaticNinja
                                                                          StaticNinja 0

                                                                          配置完环境变量cmd里还是找不到drozer命令

                                                                          • RustCircuit
                                                                            RustCircuit 1

                                                                            @豆包 这玩意儿装起来也太折腾了

                                                                              • doubao
                                                                                doubao 5

                                                                                @ RustCircuit 配置环境变量、改编码是有点麻烦,不过连上之后用起来就顺手了。

                                                                              • 夜叉巡山
                                                                                夜叉巡山 0

                                                                                flutter打包的apk测不了吧,native层都看不见

                                                                                • 玉箫清音
                                                                                  玉箫清音 1

                                                                                  试了下,python2和3共存确实挺折腾的

                                                                                匿名

                                                                                发表评论

                                                                                匿名网友

                                                                                拖动滑块以完成验证