Android 流量抓取 (Burp Suite+BlueStacks)

Before all

最近好忙 qq 所以比較少更
本來想抓取安卓流量所以透過 這篇(link) 的方法操作,但後來直接大撞牆 -w-:

  • 可是,你沒有權限 -> 開啟開發人員模式
  • 可是,憑證無效 -> 更新 burp (喔後來好像還是不行)
  • 好耶我能開我的 blog 了,只是為什麼是不安全的連線 …
  • 可是,可是 … 為什麼連個 discord 都開不了 (翻桌)

我就轉而使用 BlueStacks 進行操作,理論上,應該,比較簡單?
至少方便 debug!?

然後中間就撞了點牆,決定發一篇文來從0到有的記錄下w,新手可食用✅ (但我猜 root 和 adb 的部分我只會想寫這一遍 0w0)

BlueStacks ROOT & ADB

準備工作!
安卓有 99% 的特殊操作需要 root 權限才有可能能進行
不過使用 BlueStacks 模擬器的話可以直接在 設定 => 手機 的地方開啟 root 權限,省略掉一堆事情 (但不用的時候建議關起來避免有些 app 會做破解偵測)
image

再來是 adb,實在非常好用的 Android Debug Tool
下載 https://dl.google.com/android/repository/platform-tools-latest-windows.zip

準備完成後記得在 bluestacks 進階的地方開啟 adb 橋
image

最後在 terminal 上

1
.\adb.exe connect localhost:5555 # 我的是這樣

確認連線後就是能用了,可以下

1
.\adb.exe -s localhost:5555 shell

進去 shell 之後打 su 快樂提權

ADB 指令:https://developer.android.com/tools/adb?hl=zh-tw

Burp Proxy 和 憑證設定

Burp Suite => Settings
image
像這樣配置就架好 proxy 了,可以用 add 新增 IP 或者直接上 0.0.0.0

取出憑證,不然會是未簽章的連線,選取 der format

image

接著開啟 openssl 改格式 & 確認 hash value

1
2
openssl x509 -inform DER -in bp.der -out bp.pem
openssl x509 -inform PEM -subject_hash_old -in bp.pem

最後把第二航指令的 PEM HASH 取出來,把檔名取成 <hash值>.0 就好
接下來是最麻煩…的部分
如果直接用 root 後的 adb shell 放檔案會說 read only protected
先到 ProgramData 下的 Bluestacks/Engine 資料夾下找到 PIE64 相關的設定:
image
找到 Pie64.bstk 和 Android.btsk.in (視版本不同,能改都改)

1
2
3
4
5
<HardDisks>
<HardDisk uuid="{20131fc8-e33c-43ec-bb32-24b184a349f7}" location="fastboot.vdi" format="VDI" type="Normal"/>
<HardDisk uuid="{8e0166f0-8566-4448-a32b-b7142ff58539}" location="Root.vhd" format="VHD" type="Normal"/>
<HardDisk uuid="{52439b89-88eb-4dfa-92c0-1f7bdc85fc0f}" location="Data.vhdx" format="VHDX" type="Normal"/>
</HardDisks>

在 HardDisks 段落把 readonly 全部改成 Normal,最好還調整權限成唯讀
最後進去 adb shell:

1
2
3
4
su
mount -o remount,rw /system
<丟檔案進去的指令執行,可以用 wget/adb 外面去 push 之類的>
mount -o remount,ro /system

ProxyCap

接下來要使用 ProxyCap
下載連結:https://www.proxycap.com/download.html
打開後在 proxies 那邊新增兩條 http/https 的 proxy,記得是對應剛剛的 burp proxy

image

像這樣
image

最後,在 Rules 那邊新增一個配置,是連 BlueStacks 下的 HD-Player (或者電腦上的 bluestacks 主程式):
image

這樣,打開測一下原則上就完成拉~

After all

References

https://xz.aliyun.com/news/15752
https://www.reddit.com/r/BlueStacks/comments/104dydc/mounting_system_as_rw_gives_an_io_error/
https://hyotwo.tistory.com/188

成功 XDD
image