Drozer-Android安全测试

作者: 简言之_ | 来源:发表于2020-03-28 16:59 被阅读0次

    文章首发自个人博客:https://jwt1399.top/2020/03/23/drozer-android-an-quan-ce-shi/

    1.Drozer简介

    drozer是一款针对Android系统的安全测试框架。drozer可以帮助App和设备变得更安全,其提供了很多Android平台下的渗透测试exploit供你使用和分享。对于远程的exploit,它可以生成shellcode帮助你进行远程设备管理。

    2.环境配置

    1.jdk1.6+
    2.python2.7
    3.android sdk
    4.安装adb
    5.模拟器也要安装drozer agent
    6.确保配置了adb、java环境变量

    安装drozer

    方法一:直接下载drozer

    下载地址:https://labs.mwrinfosecurity.com/tools/drozer/ (下载drozer (RPM)),解压后drozer在drozer\usr\bin路径下

    方法二:利用Appie里面带有drozer

    下载在appie解压后drozer在Appie\base\路径下

    image-20200323145839773

    模拟器安装agent.apk

    将agent.apk下载后,通过cmd安装或者直接拖进模拟器进行安装

    adb install 安装路径/agent.apk
    

    模拟器安装sieve.apk

    sieve.apk为官网给的测试apk,上面自带各种漏洞,后面的案例以sieve.apk为例演示

    将sieve.apk下载后,通过cmd安装或者直接拖进模拟器进行安装

    adb install 安装路径/sieve.apk
    

    3.连接mumu模拟器

    打开cmd运行

    adb connect 127.0.0.1:7555
    
    image-20200323152045767

    4.进入Drozer控制台

    首先要在mumu模拟器中打开drozer-agent

    image-20200325164417700

    然后使用 adb 进行端口转发,转发到上边Drozer使用的默认端口31415,并进入Drozer 控制台

    adb forward tcp:31415 tcp:31415
    
    e:
    cd Appie/base  //进入drozer的安装路径下
    drozer console connect
    

    <img src="https://i.loli.net/2020/03/23/esFra6tB3mGWNxw.png" alt="image-20200323152410484" style="zoom: 50%;" />

    看到如上显示,说明启动成功,下一步则可以进行测试

    5.配置Siveve

    为了我们后面的安全案例讲解,我们需要先配置Sieve。
    打开sieve,第一次进入需要输入16位的密码,提交后需要创建4位数的PIN
    设置密码:1234567890123456
    PIN:1399

    进去功能界面,添加新的密码,邮箱;主要是为了往数据库添加数据,方便之后的攻击显示结果,,随便乱填就可以了。我添加了一个名为jwt的信息

    image-20200325172230954

    配置好就可以开始安全测试了

    6.Drozer之sieve安全测试

    6.1列出安装的所有应用包名

    dz> run app.package.list
    
    image-20200325170145671

    中文乱码解决方法:

    使用run app.package.list命令可能会出现中文乱码,下面是我在网上找的解决办法,找到下图路径下文件进行对应修改,就可以了。亲测有效!

    img 20200317171434174.png

    6.2利用关键词搜索得出包名

    run app.package.list -f 关键字

    dz> run app.package.list -f sieve
    com.mwr.example.sieve
    

    6.3查看包的详细信息

    dz> run app.package.info -a  com.mwr.example.sieve
    
    image-20200323154127954

    通过上述方式,我们可以获得应用数据目录、apk的路径、UID、GID等信息。

    6.4识别攻击面

    dz> run app.package.attacksurface com.mwr.example.sieve 
    
    image-20200325171038417

    这里我们发现有3个activities,2个content providers,2个services exported是导出的,这些都是潜在风险入口。

    6.5测试activities exported (绕过登陆验证)

    dz> run app.activity.info -a com.mwr.example.sieve 
    //显示暴露的Activity信息
    
    image-20200325173246279.png

    根据名称可以猜测出.FileSelectActivity可能是和文件有关,.MainLoginActivity就是主界面,.PWList可能和密码有关。

    app需要输入PIN或者密码才能进去主界面,

    image-20200325174056229.png

    但是看到FileSelectActivityPWList明显是登陆进去后的界面,这里我们可以直接调用此两个activity,从而绕过登陆验证。

    dz> run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList     //该命令会生成一个合适的intent来启动activity
    

    运行之后可以直接进入到我们一开始配置的测试信息界面,绕过了登录验证

    image-20200325174409332

    6.6利用内容提供商

    run app.provider.info -a 
    run scanner.provider.finduris -a 
    run app.provider.query 
    run app.provider.update  --selection    
    run scanner.provider.sqltables -a 
    run scanner.provider.injection -a 
    run scanner.provider.traversal -a 
    

    6.7利用广播接收器

    run app.broadcast.info -a 
    run app.broadcast.send --component   --extra   
    run app.broadcast.sniff --action 
    

    6.8开发服务

    run app.service.info -a 
    run app.service.start --action  --component  
    run app.service.send   --msg    --extra    --bundle-as-obj
    

    参考:drozer之玩转sieve
    参考:安卓四大组件审计实验(drozer)
    参考:Android安全测试框架Drozer(使用篇)
    参考:drozer-Android安全测试基本使用教程(Windows10)

    相关文章

      网友评论

        本文标题:Drozer-Android安全测试

        本文链接:https://www.haomeiwen.com/subject/ualsuhtx.html