《drozer简介及使用》由会员分享,可在线阅读,更多相关《drozer简介及使用(11页珍藏版)》请在金锄头文库上搜索。
1、目录1 Drozer简介 22 Drozer的特点 23 Drozer的安装 33.1硬件要求 33.2安装准备 33.3安装控制台 43.4安装客户端代理 44 drozer的使用 44.1启动age nt,使用 drozer 连接客户端 age nt 44.2 drozer 命令 44.3 测试应用程序(sieve) 51 Drozer 简介drozer是一款针对 An droid系统的安全测试框架。Drozer可以通过与Dalivik VM,其它应用程序的IPC端点以及底层操作系统的交互,避免正处于开发阶段,或者部署于你的组织的an droid应用程序和设备暴露出不可接受的安全风险。dr
2、ozer提供了很多An droid平台下的渗透测试 exploit 供你使用和分享。对于远程漏 洞,drozer能够生产shellcode 帮助你部署drozer代理作为一个远程管理工具,最大化对 设备的利用。更快的An droid安全评估drozer可以大大缩减 An droid安全评估的耗时,通过攻击测试暴露An droid APP的漏洞。基于真机的测试drozer运行在An droid模拟器和真实设备上,它不需要USB调试或其他开发即可使用。自动化和扩展drozer有很多扩展模块,你可以找到他们进行测试以发现An droid安全问题。2 Drozer的特点社区版专业版与 Dalvik V
3、M 交互发现已安装的应用XX发送Intents到IPC端点XX广播 IntentsXX从其它应用进入数据库XX与其它应用的服务交互XX任意java执行XX与an droid OS交互运行一个交互式 shell XX漏洞利用通过远程攻击进入设备:XX根权限升级XX用户接口命令行接口XX图形接口X注释结果X保存/恢复会话XAn droid工具集成自动安装代理X控制AVD模拟器X模拟传感器输入X提高与扩展下载附加模块XX编写自定义模块XX兼容性在物理设备上使用 drozerXX在an droid模拟器上使用 drozerXX同时测试多台设备X支持通过Dithub获得社区支持XX邮件支持X价格X3 D
4、rozer的安装3.1硬件要求1. 一台 PC (运行 Windows, Linux , MacOS均可);2. 一台An droid设备或者 An droid模拟器(An droid2.1 以上);3.2安装准备pc上需要安装:1.JRE或者 JDK;2.An droid SDK;3.Adb;4.Java;3.3安装控制台直接下载 Windows平台下安装包直接解压安装(Linux,Mac OS平台参见软件指导书)3.4安装客户端代理通过adb将age nt.apk安装于被测试的 an droid设备。(先将设备与 PC连接,且PC能正确 识别设备)$ adb instali agent *
5、 apJc4 drozer 的使用4.1启动agent,使用 drozer 连接客户端 agentdrozer Conaclc dz4.2 drozer 命令命令描述run Module执行一个 drozer模块list显示当前会话所能执行的所有drozer模块。此处隐藏了未获得相应权限的模块。shell在设备上启动一个交互式 Linux shell ,cd挂载一个特定的命名空间作为会话的根目录,避免重复输入模块全称。clea n移除An droid设备上由drozer存储的临时文件。con tributors显示对于drozer框架和模块有突出贝献的人贝echo在控制台打印信息exit终止d
6、rozer 会话help ABOUT显示一个特疋指令或模块的帮助信息load加载一个包含drozer命令的文件并且按顺序执仃。module从互联网发现并且安装一个额外的模块。permissi ons显示drozer age nt被授予的权限。set将一个值存储在一个变量中,这个变量将作为一个环境变量传递给任何由drozer 生成的 liunx shellun set移除一个已命名的变量。这个变量是由drozer传递给linux shell的。4.3测试应用程序(sieve )1. 找出应用程序run ipp. package, list *f sieve uurn mwr . example
7、gieve2. 列出应用程序基本信息tun info -a电乳厲币尹 1乜.Package: comnwr.examplesieveProcpss Ha*ne: com, mwr xa-npl*, sipveVe ra iori 1.0Data Lurectcry: /ddca/dtata/com.ftwr.exajip丄芒丄亡站亡APK Path: /da/app/com.nMr ,gitv-2. apkU1D: 10056GID; J028, 1015, 30031Shared Libraries: nullSharei User ID: nullsea rcrnisaiona:* and
8、roid.permiEsion.b_LAD exlKRIal idraije-android.permissiOn.KRITE EXTERNAL STORAGE- aLndroidperEiissionINTERNETDefines Petmlsslans;- com + mwr + exanple, s iev a READ KEYS- com*nwr H-iexairple sievie. WRITE KEYS此处列出信息包括应用程序版本,应用程序数据存储路径,应用程序安装路径,相关权 限等;3. 确定攻击面dz run. app*package attacsurfacc coiriniw
9、ri example * sieve Attack Surface:3 ac twj_tis expor te-d0 broadcast receivers exported2 content providers exported2 seirvj_Ges exportetLis debuggablc此处显示了一些潜在的攻击方向,这个应用程序输出了一些activities,。nte ntproviders 和services。我们注意到服务是可调式的,这意味着我们可以将调试器附加到进程上,进行逐步调试。4. 启动 activities我们可以通过特定的命令深入这个攻击面。例如,我们可以查看任何一
10、个activities的详细信息。dz run app .activity i-a cori*mwr sieve. PWList此处,PWlist很特别。由于这个 activity被输出并且不需要任何权限,我们可以使用drozer 启动它:dz run app., activity 5tdrt -component commwr xampl亡“ miuvucom.myr,example.sieve * PWList此处在后台制定了一个合适的意图,并且通过startActivity call将其传递给了系统。可以确定,我们已经成功绕过了授权并且查看到了用户凭证列表。Email5. 从 Conte
11、nd Provider 读取信息dz run app. provider. info -a com mvr. example * sieve Packagei com .mwr.example .sieveAuthority: com. mwr . example. s ieve . DBCon tent ProviderRead Pcrmigg ion: nullWrite Permis5ion: nullContent Provider : com tmwr . exaniple.sieve .DBContentProvider Multiprocess Allowed: TrueGran
12、t Uri Permissions: FalsePath Perni.i ssions :Path: /KeysType: PATTERN LITERALRead Perm!Sion: com.mwr example * sieve.READ KEYSWrite Permission : commwr * exanple x sieve * WRITE KEjfSAuthority; com,mwr.exairplesieve + FileBackiupProviderRead Permission: nullWxilLe Femi&aiQH: nullContent ?rcvider : c
13、om. example siev皀 Fi 丄皀BaukupFi:。曾iidEJ:Muitiproce3S Allowed: TrueGrant Uri Permissions: False可以确定,这两个con te nt provider都不需要任何特殊的权限才能和它们交互,除了DBContentProvider 的 /keys 路径。a. 基于数据库的Content Provided数据泄露)很容易可以猜测出,名为DBContentProvider 的Content Provider必然存在某种形 式的数据库。然而,由于不知道Content Provider是如何组织的,我们还需要花一番功夫去提取信息。我们可以重建部分内容URIS,以进入Content Providerdrozer提供了一个扫描模块,其中包含了多种猜路径的方式,并且可以将可进入的 内容URIs显示出来:dz run e carine E & prSvidex- - ind.uzis -a com - mwz - xaimple - sieve 5cann_ng corn nwx. sieve * 4Unable to Query content: / /com .