APP攻防--反模擬器&反代理&反證書&真機逃逸&XP框架&Frida技術
APP抓包技術
關于APP抓包,使用burpsuite抓模擬器中的數(shù)據(jù)包,需要將模擬器中的網絡設置代理,代理地址為burpsuite監(jiān)聽的地址與端口,要想成功獲取https數(shù)據(jù)包,需要將burpsuite證書導入模擬器中,在Android7.0之后的系統(tǒng)需要將證書導入系統(tǒng)認證,具體操作參考
轉載--逍遙模擬器與burpsuite抓包配置問題
反模擬器檢測繞過
在對目標進行抓包滲透時,有時候會顯示檢測到模擬器,目標APP并不能正常運行。
面對反模擬器時,一般使用以下三種思路進行繞過
- 使用真機進行測試
- 配置模擬器參數(shù)
例如,配置模擬器中的手機號、運營商、手機型號、內存、硬盤等等,使得模擬器能夠繞過目標APP的檢測
- 將APP的apk文件進行逆向,將檢測代碼進行刪除后在進行重打包。這種方式需要看的懂代碼
反代理檢測繞過
在對一些APP進行抓包的時候,明明網絡沒有任何問題,但是就是顯示網絡不可用、網絡不可達、數(shù)據(jù)異常,并且抓不到訪問數(shù)據(jù)包,這時候要考慮APP是不是進行了代理檢測。
- 代理軟件繞過
- 很多軟件只檢測了模擬器中網絡的高級設置是不是使用了高級代理設置,這時候可以嘗試使用代理軟件進行設置。例如Postern,設置代理規(guī)則等即可轉發(fā)流量,具體操作網上查詢。
- 主機逃逸
- 由于我們的APP安裝在模擬器中,相當于放在虛擬機中,APP檢測代理也不會檢測宿主機上的網絡設置。這時候我們可以使用代理工具,比如在proxifier中設置代理規(guī)則,將模擬器進程的流量轉發(fā)至burpsuite監(jiān)聽的端口上,這樣就可以繞過代理檢測。
- APP逆向刪除檢測代理代碼,重打包
主機逃逸方法:
- 想要設置轉發(fā),首先找到模擬器進程。
在proxifier中設置代理服務器,地址為burpsuite所監(jiān)聽的地址和端口
設置監(jiān)聽規(guī)則,將所有運行的進行流量全部攔截,同時運行模擬器。
查看進程名稱,即可找到模擬器進程。
- 重新設置代理規(guī)則
將找到疑似模擬器的進程名稱寫入,動作改為轉發(fā)至burpsuite,之后便可以繞過代理檢測。
反證書檢測繞過
證書檢測有兩種檢測方式,分為單向認證或者雙向認證。
繞過思路分為四種思路:
- XP框架繞過單向認證
- Frida框架通殺腳本轉發(fā)WireShark
- Frida框架配合腳本轉發(fā)burpsuite
- 將APK進行逆向將證書提取安裝至burpsuite
XP框架繞過單向認證
1.使用XP框架中模塊繞過證書檢測
安裝XP模塊:
夜深模擬器直接在應用市場安裝即可
逍遙模擬器:
參考模擬器xposed框架安裝7.1-64教程
- 安裝JustTrustMe模塊
下載地址JustTrustMe
下載apk之后將apk安裝到模擬器即可
- 啟動模塊并重啟模擬器
詳細步驟可以參考
app滲透之Burp抓取app數(shù)據(jù)包
Frida框架通殺腳本轉發(fā)WireShark
- Hook技術
Hook 技術又叫做鉤子函數(shù),在系統(tǒng)沒有調用該函數(shù)之前,鉤子程序就先捕獲該消息,鉤子函數(shù)先得到控制權,這時鉤子函數(shù)既可以加工處理(改變)該函數(shù)的執(zhí)行行為,還可以強制結束消息的傳遞。簡單來說,就是把系統(tǒng)的程序拉出來變成我們自己執(zhí)行代碼片段。
Frida就是Hook技術的一種框架
- Frida框架
Firda 是一款易用的跨平Hook工具, Java層到Native層的Hook無所不能,是一種 動態(tài) 的插樁工具,可以插入代碼到原生App的內存空間中,動態(tài)的去監(jiān)視和修改行為,原生平臺包括Win、Mac、Linux、Android、iOS全平臺
- r0capture腳本
- 僅限安卓平臺,測試安卓7、8、9、10、11、12、13 可用 ;
- 無視所有證書校驗或綁定,不用考慮任何證書的事情;
- 通殺TCP/IP四層模型中的應用層中的全部協(xié)議;
- 通殺協(xié)議包括:Http,WebSocket,Ftp,Xmpp,Imap,Smtp,Protobuf等等、以及它們的SSL版本;
- 通殺所有應用層框架,包括HttpUrlConnection、Okhttp1/3/4、Retrofit/Volley等等;
- 無視加固,不管是整體殼還是二代殼或VMP,不用考慮加固的事情;
Frida框架安裝:
- 本地安裝Frida
pip install frida
pip install frida-tools
- 模擬器中安裝Frida服務端
安裝之前首先確認本地Frida版本
frida --version
- 進入模擬器命令行查看模擬器版本及位數(shù)
abd.exe shell
getprop ro.product.cpu.abi
下載與本地Frida版本以及模擬器位數(shù)一致的服務端,F(xiàn)rida服務端下載地址鏈接Frida
- 將下載解壓后的Frida服務端放入模擬器中,開啟服務端并設置轉發(fā)
adb.exe push frida-server /data/local
adb.exe shell
cd /data/local/
chmod 777 frida-server
./frida-server
adb.exe forward tcp:27042 tcp:27042
- 判斷連接是否成功
frida-ps -U
frida-ps -R
執(zhí)行兩條命令可以看到模擬器中的進程及開啟轉發(fā)成功,frida-ps -R看不到結果是因為沒有做端口轉發(fā).
成功開啟Frida服務并轉發(fā)至宿主機效果如下
通殺腳本轉發(fā)流量
- 下載通殺腳本
通殺腳本下載地址r0capture
- 確認Frida服務端啟動,并成功轉發(fā)進程至宿主機
- 獲取要截取目標APP數(shù)據(jù)包的包名
建議使用APK資源提取器1.0獲取包名
使用效果圖:
- 運行通殺腳本
python r0capture.py -U -f 包名/程序名 -p xxxx.pcap
運行效果或其他使用方法見項目說明
運行腳本之后,模擬器端會自動運行目標APP,下面進行調試即可
- 使用wireshark分析數(shù)據(jù)即可
Frida框架配合腳本轉發(fā)burpsuite
-
設置模擬器網絡代理,轉發(fā)至burpsuite
-
下載Frida腳本
FridaScripts -
確認Frida服務端啟動,并成功轉發(fā)進程至宿主機
-
獲取要截取目標APP數(shù)據(jù)包的包名
-
運行腳本文件
frida -U -f 包名 -l SSLUnpinning.js
這里項目中很多腳本都有不同功能,繞過雙向證書使用SSLUnpinning.js文件。
運行腳本之后,模擬器端會自動運行目標APP,接下來目標APP的數(shù)據(jù)包即可正常轉發(fā)至burpsuite。文章來源:http://www.zghlxwxcb.cn/news/detail-711451.html
反編譯獲取證書
反編譯獲取證書文件需要深厚的逆向知識以及代碼能力,這里不再記錄。文章來源地址http://www.zghlxwxcb.cn/news/detail-711451.html
到了這里,關于APP攻防--反模擬器&反代理&反證書&真機逃逸&XP框架&Frida技術的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!