移動端滲透測驗
目錄- 移動端滲透測驗
- 安卓模擬器安裝與使用
- 安裝
- 配合抓包工具使用
- burpsuite+夜神模擬器
- fiddler+夜神模擬器
- adb工具包的安裝與使用
- 簡介
- adb基本使用
- drozer部署與使用
- 簡介
- drozer部署
- drozer基本使用
- 安卓模擬器安裝與使用
前不久碰到一個專案,需要對一個app進行滲透測驗,一下子碰到了知識盲區,之前都是學習的是web方向的滲透,移動端實在是沒接觸過,只能先從環境搭建開始了,,,
環境:
-
win10
-
安卓模擬器(比如夜神模擬器])
-
python環境2.7
-
jdk1.8
-
drozer
-
adb工具包
安卓模擬器安裝與使用
安裝
如果要嘗試移動端的滲透測驗,就需要借助一個適合的安卓平臺運行app,然后抓包分析,這個平臺就是安卓模擬器,網上搜索后,發現經常被大家用來滲透測驗的安卓模擬器有夜神,雷電等,經過個人使用體驗后,感覺夜神模擬器比較合適,
官網直接點擊下載安裝,

安裝完成后進入模擬器,界面如下:

配合抓包工具使用
burpsuite+夜神模擬器
? 如果要使得burp能抓到安卓模擬器的包,就得將相應代理的ip地址和埠系結好,還有burp對應的證書也要安裝,
- burpsuite配置:
? 打開burpsuite,點擊Proxy-->Options,在第一個Proxy Listener模塊中,點擊add,即可添加一個代理監聽器

?
? 系結埠建議還是8080,之前監聽本機時系結地址都使用的是環回地址127.0.0.1,這次由于是要遠程監聽模擬器,選擇下面的指定地址,
? 旁邊的默認就是本機的ip地址,點擊ok即可完成添加,
? 添加完成后,需要將之前選擇的127.0.0.1:8080選項的√去掉,

2.夜神模擬器配置
- 代理配置
? 點擊設定-->wlan,然后長按連接的網路,在彈出的選項中選擇修改網路,

? 在高級選項中,選擇手動,填好代理服務器主機名(也就是本機ip,剛才burp上顯示的,也可以通過ipconfig命令查看),代理服務器埠(這里就是剛才burp填的 8080埠號,然后點擊保存,

? 接下來就是在模擬器上安裝burp證書,確保burp能抓到https的包,
? 點擊模擬器中的瀏覽器,在地址欄輸入http://burp,在頁面上下載burp的證書,
? 下載后,需在下載中將證書名稱后綴由der修改為cer,

然后進入wlan,點擊右上方的三個點圖案,選擇高級-->安裝證書,

點擊剛剛下載的證書,部分朋友可能會遇到進入選擇證書界面后(處在下載檔案夾下下),證書變灰無法點擊的情況,需要點擊左上角的三橫線圖示,然后選擇進入手機的download檔案夾下,在該檔案夾下,證書可以點擊,


選擇證書后,隨便輸入一個證書名稱,憑證用途選擇vpn和應用,點擊確定,即可完成安裝,至此,配置完成,
burp開啟攔截,模擬器打開瀏覽器,輸入百度地址,嘗試抓包:

成功抓到百度https的包,
但是我發現安裝好burp的包以后,使用瀏覽器正常訪問https的網站,會彈出安全警告,顯示網站的安全證書有問題,我始終沒有搞明白是哪里出了問題,希望知道如何處理的大神可以在評論區說一下解決方法,當然一直點擊繼續可以點到彈窗消失,網站也就能正常訪問,只是太影響平常對網站的測驗,

fiddler+夜神模擬器
利用這次app滲透順便學習使用了第二個抓包工具--fiddler,
Fiddler是一個http協議除錯代理工具,它能夠記錄并檢查所有你的電腦和互聯網之間的http通訊,設定斷點,查看所有的“進出”Fiddler的資料(指Cookie,html,js,css等檔案)
下載地址:https://www.telerik.com/fiddler
進入下載頁面后點擊Try For Free-->Fiddler Classic
Fiddler界面

這里就不詳細介紹fiddler的使用了,感興趣的讀者可以去官網上查看fiddler的用法,(我還是覺得burp好用,可能是具體使用場景有所不同)
簡單的說一下使用它如何配合夜神模擬器進行抓包,
1.fiddler配置
在界面中選擇Tools-->Options-->HTTPS,勾選Decrypt HTTPS traffic和Ignore server certificate(unsafe)選項

然后點擊右邊的Actions選項,選擇Trust Root Certificate,選擇Yes,選擇是,
接著選擇Tools-->Options-->Connections,Fiddler默認埠8888,就不建議改了,勾選Allow remote computers to connect
最后點擊右下角的ok即可完成配置(一定要點擊ok退出,否則剛才配置不會被保存),完成后建議重啟fiddler,重啟后配置才生效,

- 夜神模擬器配置
? 和剛才設定burp時一樣,設定wlan中的代理,這次需要將埠改為8888,

然后就是安裝fiddler證書,也是要確保能順利抓到https包,在瀏覽器中輸入本機ip+8888,即可進入下載的地址,點擊最后一行的鏈接FiddlerRoot certificate即可下載,

下載完成后,按照上述裝burp證書的步驟安裝fiddler證書,(這里就不需要該=修改fiddler證書后綴了),
安裝完成后,在fiddler界面中按鍵shift+Delete鍵,可以清空之前抓的包,
打開夜神的瀏覽器,訪問百度網址,可以看到fiddler成功抓到https的資料包,

adb工具包的安裝與使用
簡介
adb全稱(Android Debug Bridge),它是一個通用命令列工具,它可以做為Android與PC端連接的一個橋梁,所以adb又稱為Android除錯橋,用戶可以通過adb在電腦上對Android設備進行全面操作,比如安裝和除錯應用,操作檔案的傳輸等,
安裝好adb工具后,可以方便我們使用pc端的命令列對安卓模擬器的,也使得我們能夠使用
drozer對模擬器中的app進行安全測驗,
下載地址:https://adbshell.com/upload/adb.zip
下載解壓后,檔案夾如下:

打開cmd,cd到該目錄下,輸入adb.exe即可看到adb工具的幫助資訊,如果想要更方便的使用可以將adb檔案夾路徑放到環境變數中,

adb基本使用
- 開啟和關閉adb服務:
開啟:adb start-server
關閉:adb kill-servers
- 查看當前連接的android設備或模擬器:
adb devices

由于還未做任何操作,顯然還沒有連接任何設備,
- 連接安卓模擬器
在使用adb連接安卓模擬器之前,需要先設定好安卓模擬器,
進入夜神模擬器,打開設定-->關于平板電腦-->版本號,點擊版本號5次即可進入開發者模式

然后進入設定-->開發者選項,
打開USB除錯按鈕,

然后確保模擬器和主機是在同一個網路下,即可開始連接,
cmd輸入 adb connect 127.0.0.1:62001,即可靠adb連接到夜神模擬器上,輸入 adb devices查看是否連接成功:

不同廠商的模擬器,默認連接的埠不同,部分廠商具體如下:
| 廠商 | 默認連接埠 |
|---|---|
| 夜神模擬器 | 62001 |
| 海馬玩模擬器 | 26944 |
| mumu模擬器 | 7555 |
| 雷神模擬器 | 5555 |
| 騰訊手游助手 | 5555 |
4.進入adb的命令列操作模擬器
adb shell

具體命令語法與linux的shell一樣,如果對shell感興趣可以看我的關于[shell編程][https://www.cnblogs.com/jackie-lee/p/16643515.html]的博客,
drozer部署與使用
簡介
drozer是一款針對Android系統的安全測驗框架,可以分成兩個部分:其一是“console”,它運行在本地計算機上;其二是“server”,它是一個安裝在目標Android設備上的app,當使用console與Android設備互動時,就是把Java代碼輸入到運行在實際設備上的drozer代理(agent)中,
相比web端,移動端可以用來滲透的工具少之又少,drozer是我認識的第一個可以用來做安卓滲透測驗的工具,
drozer部署
下載地址:https://labs.withsecure.com//tools/drozer/
用作"console"為msi包,用作"server"的為Agent.apk包,將兩個都下載下來

安裝msi包之前要確保有python2的環境,配置好Python2的環境變數,如果當前環境已經配置了python3,需要將python2所在檔案夾中下的python.exe和pythonw.exe檔案的檔案名改為python2.exe和pythonw2.exe,這樣配置好環境變數后即可在命令后中輸入python2呼叫python2,

做好python2的作業后,我們即可點擊msi安裝包安裝drozer,選擇python環境時,要按照下圖選擇:

點擊Next即可安裝,安裝完成后可在python2目錄的Scripts檔案夾下看到安裝的drozer相關檔案,其中的drozer.bat是馬上要用到的,

接著就是安裝drozer的Agent.apk包,這時可以通過adb將其安裝到模擬器上,
命令列輸入:adb install G:\Desktop\tools\drozer-agent-2.3.4.apk

模擬器中可以看到剛裝上去的drozer Agent,點擊該軟體,點擊右下角按鈕開啟drozer Agent,可以看到彈出提示該服務在埠31415

這里需要將adb埠轉發一下:adb forward tcp:31415 tcp:31415

在使用drozer.bat之前需要先使用記事本編輯一下drozer.bat中的內容,由于命令列中輸入python2才能呼叫python2,這里需要將其中的'python'改為'python2'

然后在當前檔案夾下打開命令列,通過呼叫drozer.bat檔案使用drozer連接模擬器:
輸入drozer.bat console connect

出現一處Warning無需擔心,目前看來不影響使用,出現了上面這個類似安卓的圖案代表drozer運行成功,至此drozer搭建完成,
如果出現了報錯,應該是drozer需要依賴的python2的模塊沒有安裝,根據報錯使用pip2安裝相應缺少的庫即可,以下三個庫是原python2不會自帶的:protobuf 、pyopenssl、pyyaml
在一個系統中要想讓python2和python3的pip共存,需要重新安裝兩個版本的pip,命令如下:
python2 -m pip install --upgrade pip --force-reinstall python3 -m pip install --upgrade pip --force-reinstall # 照上面設定python2的環境變數的方式一樣設定python3,然后就可以分別呼叫pip2和pip3管理兩個python的庫了,
drozer基本使用
list
? 列出drozer所有模塊,
-
run app.package.list列出模擬器上安裝的所有包名,
? 包名是唯一的,只表示apk檔案的名稱,都是以com開頭
-
run app.package.list -f 包名查找指定包名
-
run app.package.info -a 包名
? 獲取指定包名的基本資訊
-
run app.package.attacksurface 包名確定指定包名的攻擊面
這些是基本用法,更多的drozer的用法我還在學習中,,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509385.html
標籤:其他
上一篇:「浙江理工大學ACM入隊200題系列」問題 A: 零基礎學C/C++34—— 3個數比較大小(冒泡排序與選擇排序演算法)
