2018-M03 - MITM (短篇)
> 已知用火 II
## 前言 ##
最近寫了一個新的爬蟲
因為目標網站在 Web 端沒有開放內容 只有手機端才可以看
但是手機端又走 HTTPS 不想為了他來逆向 iOS APP
所以用 MITM 的方式來看發了哪些 HTTP requests
## 內容 ##
MITM[0] 是一種攻擊方式:透過攔截雙方通訊並竊取、竄改其中的內容
在 HTTPS[1] 的世界中 假設在不安全的網路環境中建立一個安全通道
使用 HTTPS 需要滿足一些假設
- Client 端正確實作 HTTPS 並信任 CA[2] 頒發的憑證
- 信任 CA 僅頒發合法的網站
- Server 使用一個有效 CA 頒發的憑證
- 憑證正確驗證 Server
- 使用的加密技術是可被信任
因此如果需要在 HTTPS 環境中進行 MITM 攻擊 就需要違反其中的假設
小品的 MITM 簡單操作就是在受害者裝置中:1) 安裝惡意 root CA 憑證 2) 使用 proxy
透過 mitmproxy[3] 就可以簡單架設一個竊取 HTTPS 的 MITM 環境
## 相關資料 ##
- Lenovo 筆電預設安裝 root CA 憑證[4]
- 企業監聽HTTPS傳輸協定存在風險[5]
- CVE-2017-3898[6]
[0]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack
[1]: https://en.wikipedia.org/wiki/HTTPS
[2]: https://en.wikipedia.org/wiki/Certificate_authority
[3]: https://mitmproxy.org/
[4]: https://www.ithome.com.tw/news/94193
[5]: http://www.nccst.nat.gov.tw/NewsRSSDetail?seq=15941
[6]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3898