<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/tips/2997

            0x01 準備工作


            測試環境:

            1) 手機root權限

            2) Adb.exe

            3) 手機usb連接開啟debug模式(在設置>關于手機>連續點擊多次版本號,即可開啟開發者模式)

            4) Window下安裝drozer

            5) 安裝完drozer后在其目錄下把agent.apk安裝到手機

            6) WebContentResolver.apk

            7) 附帶測試案例使用app sieve

            0x02 drozer安裝與使用


            安裝

            1) windows安裝 下載:

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

            在Android設備中安裝agent.apk:

            #!bash
            >adb install agent.apk
            

            或者直接連接USB把文件移動到內存卡中安裝

            2) *inux安裝(Debian/Mac)

            #!bash
            $ wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
            $ sh setuptools-0.6c11-py2.7.egg
            $ easy_install --allow-hosts pypi.python.org protobuf
            $ easy_install twisted==10.2.0
            $ easy_install twisted ./drozer-2.3.0-py2.7.egg
            $ drozer        //運行測試
            

            下面介紹三種方法運行

            1) USB方式

            #!bash
            >adb forward tcp:31415 tcp:31415        //adb目錄下運行次命令
            選擇drozer>Embedded Server>Enabled
            >drozer.bat console connect     //在PC端drozer目錄下運行此命令
            

            2) Wifi方式

            #!bash
            >drozer.bat console connect --server 192.168.1.12:31415  //在PC端執行192.168.1.12為android端ip和端口
            

            3) Infrastructure Mode 這種模式涉及到三個通信方,drozer server、drozer agent(Android 設備中)與drozer console。

            其中server與agent,server與console需要網絡互通。這種模式的好處是你不需要知道android設備的ip,

            agent與console的ip段可以隔離的,并且可以支持一個server對應多個設備的操作。

            #!bash
            >drozer.bat server start
            

            在Android設備上新建一個New Endpoint,修改配置Host為PC server端ip,并且啟用Endpoint

            #!bash
            >drozer console connect --server 192.168.1.2:31415      //192.168.1.2為server端ip和端口
            

            使用

            > list  //列出目前可用的模塊,也可以使用ls
            > help app.activity.forintent       //查看指定模塊的幫助信息
            > run app.package.list      //列出android設備中安裝的app
            > run app.package.info -a com.android.browser       //查看指定app的基本信息
            > run app.activity.info -a com.android.browser      //列出app中的activity組件
            > run app.activity.start --action android.intent.action.VIEW --data-uri  http://www.google.com  //開啟一個activity,例如運行瀏覽器打開谷歌頁面
            > run scanner.provider.finduris -a com.sina.weibo       //查找可以讀取的Content Provider
            > run  app.provider.query content://settings/secure --selection "name='adb_enabled'"    //讀取指定Content Provider內容
            > run scanner.misc.writablefiles --privileged /data/data/com.sina.weibo     //列出指定文件路徑里全局可寫/可讀的文件
            > run shell.start       //shell操作
            > run tools.setup.busybox       //安裝busybox
            > list auxiliary        //通過web的方式查看content provider組件的相關內容
            > help auxiliary.webcontentresolver     //webcontentresolver幫助
            > run auxiliary.webcontentresolver      //執行在瀏覽器中以http://localhost:8080即可訪問
            以sieve示例
            > run app.package.list -f sieve         //查找sieve應用程序
            > run app.package.info -a com.mwr.example.sieve         //顯示app.package.info命令包的基本信息
            > run app.package.attacksurface com.mwr.example.sieve   //確定攻擊面
            > run app.activity.info -a com.mwr.example.sieve         //獲取activity信息
            > run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList     //啟動pwlist
            > run app.provider.info -a com.mwr.example.sieve        //提供商信息
            > run scanner.provider.finduris -a com.mwr.example.sieve        //掃描所有能訪問地址 
            >run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/--vertical  //查看DBContentProvider/Passwords這條可執行地址
            > run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "'"   //檢測注入
            > run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts    //查看讀權限數據
            > run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/data/data/com.mwr.example.sieve/databases/database.db /home/user/database.db //下載數據
            > run scanner.provider.injection -a com.mwr.example.sieve       //掃描注入地址
            > run scanner.provider.traversal -a com.mwr.example.sieve
            > run app.service.info -a com.mwr.example.sieve         //查看服務
            

            0x03 Android App Injection

            1) 首先用drozer掃描Android應用可注入的Url

            #!bash
            Dz > run scanner.provider.injection
            

            enter image description here

            2) 啟動WebContentResolver.apk應用程序,Web界面訪問url格式如下

            http://localhost:8080/query?a=providers&path0=Parameter1&path1=Parameter2&pathn=parametern&selName=column&selId=id

            enter image description here

            解釋: providers:為content://后第一個參數比如records Parameter1:為第二個參數operations Parameter2..parametern:為后門的依次類推的參數,如果后面有這么多參數 Column:表字段例如上面字段<_id> Id:為字段數據

            注意:格式必須是這樣,selName、selId這兩個參數第二個單詞是大寫的。

            3) 在PC端運行adb

            #!bash
            >adb forward tcp:8080 tcp:8080  //此時在地址欄輸入http://localhost:8080即可訪問Web界面
            

            4) 以content://settings/bookmarks/為例,在地址欄輸入

            http://localhost:8080/query?a=settings&path0=bookmarks&selName=_id&selId=1
            

            enter image description here

            5) 自動化結合SQLMAP

            enter image description here

            0x04 總結&&解決方案


            總結:雖然很多小伙說直接用文件管理進去查看數據庫更方便,我也不多說什么,就像上次看到一帖子為了查看wifi密碼寫了一大篇的,直接進去數據庫看不就是了,我能呵呵一句么。 避免這個漏洞方法只需要指定標志讀取權限和限制寫入權限。如果我們不想共享存儲第三方應用程序記錄,另一個解決方案可以消除provider或將其設置為false。

            0x05 參考:


            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线