APP滲透測試之安卓APP抓包


 之前說過一些信息搜集相關的東西(漏了APP沒講),按照滲透測試的完整流程,我作為測試,測個APP,也很合理吧

既然能用burpsuite測試web,那就能用burpsuite測試APP(有大佬自稱用burpsuite行走江湖多年,靠插件和經驗打遍天下無敵手)

本次演示采用夜神模擬器+burpsuite v2020.11  (啊當然不是因為夜神最niubility,而是我手頭就有它了 ,如果要抓的APP不能在夜神上運行、或者框架安不了,確定是模擬器的問題,就換一個模擬器,什么mumu、雷電、天天、逍遙...)

系統為安卓7  (版本太低的不予討論)

 

為了抓HTTPS的包,沒安裝證書的,自行下載、導入、安裝(簡單說一下,比如瀏覽器安裝證書,如果burpsuite監聽的是本機的8080端口,那就瀏覽器訪問http://localhost:8080,下載CA證書,然后在瀏覽器中導入cacert.der,安到受信任的根證書頒發機構,直到看到PortSwigger CA,證明導入成功)

 

在模擬器配置,長按網絡修改網絡,采用代理,IP為本地主機IP,端口也設一個,啥都行比如8081

 

 

然后在burpsuite中新建一個綁定代理,選擇本機IP和剛剛寫的端口

 

 

最終變成

 

然后在夜神模擬器中用瀏覽器訪問192.168.25.203:8081下載證書(嫌安全警告彈得煩,也可以在本地機器設代理后上訪問http://192.168.25.203:8081,下載證書后再共享到模擬器中安裝)

 

 下載CA證書,然后打開模擬器中“下載”可以看到證書

 

別忘了把后綴從.der改成.cer(der安不了),然后拖到SD卡的路徑中,到設置-》安全-》從SD卡安裝,選擇這個證書

 

 

為證書起個名字,設置PIN碼,隨便搞一個記得住的,安裝成功之后會提示安裝成功

 

 

 完活兒,然后正常來說就可以用burpsuite抓一些模擬器中APP或者其他什么的數據包了

 

but,這只是比較理想的情況

實際上會出現各種問題:

 

1.本機不允許設置網絡代理

像我最初做的例子,就屬於開了模擬器本機的代理,那有些APP就是會檢測代理,你設置了本機代理我干脆就不讓你正常運行!怎么搞嘛

常見的一種方法是在模擬器外部抓包來規避檢測,比較常規的辦法就是利用proxifier(當然,先要按照之前的步驟安證書,區別在於這回不用手動修改模擬器網絡代理配置)

配置代理服務器,選本機IP,端口8080(burpsuite怎么寫,這里就怎么寫,burpsuite默認監聽8080),HTTPS

 

 

 再配置規則,名字隨便起,把夜神模擬器進程Nox.exe(不一定就是這個,看你機器上顯示的是什么就寫什么)導入規則,代理選之前配的

 

 

啟用此規則

 

 

 

 然后用burpsuite即可繞過限制抓包(吧)

 模擬器-》proxifier-》burpsuite

 

2.APP認證機制

有一個問題:HTTPS抓包一個朴素的思想是什么?

答:MITM,對客戶端偽裝成服務端,對服務端偽裝成客戶端

這里有一篇介紹HTTPS認證原理(單向認證、雙向認證)的文章,總結了一下  https://www.cnblogs.com/yaphetsfang/articles/12858356.html

 

但是有些APP會采用SSL-Pinning 機制來進行抵抗抓包

那么,如何繞過SSL-Pinning機制呢?(很多東西,模擬器上是用不了的,必須真實手機環境)

(1)老版本安卓系統(7以下)可能會沒有針對第三方證書的限制,無此機制限制,可按照常規辦法抓包(但前提是APP能在上面正常運行)

(2)或者有root權限,能把這些個第三方證書安到系統默認預置的證書區里面

(3)再或者 Xposed+JustTrustMe、VitualXposed+JustTrustMe 

VitualXposed可以在不需要設備root的情況下,修改App的行為   https://vxposed.com/

Xpose框架是一款可以在不修改APK的情況下影響程序運行或修改系統的框架服務   https://github.com/rovo89/Xposed

JustTrustMe是Github上面的一個開源項目,是xposed中的一個模塊,用於禁止SSL證書驗證  https://github.com/Fuzion24/JustTrustMe?utm_source=testingpai.com

 使用較為復雜,請參考:

https://blog.csdn.net/u011215939/article/details/95461286

http://www.yxssp.com/23278.html

 (4)frida,仍然是比較復雜,參考:

https://xz.aliyun.com/t/6102

https://www.cnblogs.com/Eeyhan/p/12916162.html

 (5)反編譯APK

有殼先脫殼,我等渣渣脫殼只能用大佬寫的工具

之后用工具反編譯,之后。。。之后我就不會了(理直氣壯),安卓一竅不通,正常來說需要修改內容

哪位大佬給條明路

 

 

 

 

3.root檢測問題

 

 

 很多模擬器默認root(先不討論這玩意有沒有實際效果),這可能導致部分APP被限制。。。功能,打不開、閃退,更沒法抓包

要么關掉root

要么繞過root檢測,檢測可能會通過檢測系統版本、看看有沒有安什么root管理器啊、需要root的框架啦什么的

相關軟件有很多,但本菜雞安卓逆向玩的不好,所以這里就只是提一下,具體方法參考其他師傅們的文章吧

 

剩下的,就基本上和web測試一樣了,該用代理池用代理池,該用掃描器用掃描器

 

未經允許,禁止轉載


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM