前言
關(guān)于抓包的話題我之前也寫(xiě)過(guò),這次主要針對(duì)HTTPS與手機(jī)抓包典蝌。最近這方面工作做的不少曙砂,一邊記錄一邊分享。
正文
1 HTTPS抓包
對(duì)于HTTPS的抓包在之前我的文章中也寫(xiě)到過(guò)骏掀,關(guān)注微信公眾號(hào)“燕幕自安”查看我的歷史文章鸠澈。主要是使用Fiddler4來(lái)實(shí)現(xiàn)的,上次說(shuō)過(guò)的截驮,這次就不說(shuō)了笑陈。
不可否認(rèn),F(xiàn)iddler4是在windows下是很友好葵袭、很好用的網(wǎng)絡(luò)分析軟件了涵妥,它主要針對(duì)HTTP(S)協(xié)議,不僅僅可以做報(bào)文獲取坡锡,重發(fā)等功能也很好用蓬网。
這次要介紹的是另一個(gè)神器--Charles.
原理:所有針對(duì)HTTPS抓包的原理都是一樣的,通過(guò)做中間代理人鹉勒,可觀察到明文報(bào)文帆锋,類(lèi)似于中間人攻擊(MITM),如果要理解這一點(diǎn)需要對(duì)HTTPS的密鑰交換和證書(shū)有所了解禽额。不贅述锯厢。
下面有請(qǐng)Charles出場(chǎng)。
姓名:Charles
用途:HTTP協(xié)議網(wǎng)絡(luò)報(bào)文分析
(Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP andSSL / HTTPStraffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).)
適用平臺(tái):Windows绵疲、Mac哲鸳、Linux
下載地址:https://www.charlesproxy.com/download/
下載完成臣疑,正確安裝之后盔憨,試用版本需要在打開(kāi)時(shí)等待10s,破解也很簡(jiǎn)單讯沈,(鏈接:http://pan.baidu.com/s/1qYTz48s 密碼:t9el)將jar文件替換到charles安裝目錄下的lib目錄中即可郁岩。
然后是配置安裝根證書(shū)婿奔,為了讓計(jì)算機(jī)信任我們的證書(shū),我們需要將Charles提供的證書(shū)安裝在計(jì)算機(jī)上问慎,如下:
如果此時(shí)證書(shū)還是不被信任的萍摊,讓不信任變成信任:打開(kāi)IE瀏覽器—>工具—>Internet選項(xiàng)—>內(nèi)容—>證書(shū)—>把中級(jí)證書(shū)頒發(fā)機(jī)構(gòu)中的charles證書(shū)導(dǎo)出來(lái)—>再把導(dǎo)出來(lái)的證書(shū)導(dǎo)入到受信任的根證書(shū)頒發(fā)機(jī)構(gòu)中。這樣就ok了如叼。
這樣的環(huán)境只能抓取非SSL加密的報(bào)文冰木,如果需要抓取SSL加密的鏈接,繼續(xù)設(shè)置SSL笼恰。如下:
(寫(xiě)*:443是為了抓取去往所有站點(diǎn)的443端口數(shù)據(jù))
現(xiàn)在就可以攔截所有HTTPS數(shù)據(jù)報(bào)文了踊沸。如下:
2 手機(jī)數(shù)據(jù)抓包
針對(duì)手機(jī)數(shù)據(jù)抓包,給出兩個(gè)辦法社证。
1. 使用上述Charles配置的環(huán)境逼龟,對(duì)手機(jī)報(bào)文抓取
2. 利用手機(jī)APPPacket Capture攔截收集數(shù)據(jù)報(bào)文
下面分別說(shuō)這兩種方案。
方案1
之前我們已經(jīng)部署好了Charles抓包的環(huán)境追葡,現(xiàn)在我們只要將手機(jī)的數(shù)據(jù)報(bào)文流經(jīng)PC上的Charles即可腺律。
為此,我們將電腦和手機(jī)鏈接在同一局域網(wǎng)內(nèi)(使用同一wifi即可)宜肉,然后查看計(jì)算機(jī)的ip地址匀钧,windows之下使用cmd命令ipconfig即可,然后在手機(jī)連接Wifi的界面設(shè)置代理谬返,如下:
charles默認(rèn)代理端口為8888榴捡,如果修改了此處對(duì)應(yīng)修改。
安卓也有類(lèi)似的操作界面朱浴,長(zhǎng)按修改網(wǎng)絡(luò)什么的吊圾。(暴露了自己的土豪手機(jī)hiahiahia)。
設(shè)置好以后需要在手機(jī)端安裝證書(shū)翰蠢,在瀏覽器里訪問(wèn)chls.pro/ssl 來(lái)自動(dòng)下載安裝證書(shū)(需要設(shè)置手機(jī)解鎖密碼)项乒。
安卓手機(jī)到這一步就完成了,【重要】iphone手機(jī)需要在設(shè)置->通用->關(guān)于手機(jī)->證書(shū)信任設(shè)置里面打開(kāi)該證書(shū)的開(kāi)關(guān)梁沧。
此時(shí)檀何,在手機(jī)里使用APP,在Charles里面就能看到訪問(wèn)的數(shù)據(jù)信息了廷支,包括HTTPS频鉴。(初次連接的手機(jī)Charles會(huì)彈窗需要點(diǎn)一下Allow)
方案2
Packet Capture是很強(qiáng)大的一個(gè)網(wǎng)絡(luò)分析APP,在我分析華為云備份的協(xié)議報(bào)文時(shí)恋拍,手機(jī)始終不信任Charles證書(shū)垛孔,所有報(bào)文均被加密,后來(lái)是該應(yīng)用拯救了我施敢。使用簡(jiǎn)便周荐,不用證書(shū)等設(shè)置狭莱,下載打開(kāi)即可使用。
APP在Google應(yīng)用市場(chǎng)就有概作,不能翻墻的話腋妙,點(diǎn)這里下載:https://www.coolapk.com/apk/app.greyshirts.sslcapture
安裝完成后界面如下:
點(diǎn)擊綠色箭頭進(jìn)行全局捕獲,點(diǎn)擊帶1那個(gè)綠色箭頭可對(duì)某一應(yīng)用分別捕獲讯榕。
完成后骤素,點(diǎn)擊列表中的某次抓取查看詳情。如下:
在該界面愚屁,點(diǎn)擊右上角的下載按鈕可以保存文件成pcap格式谆甜,通過(guò)PP助手等導(dǎo)出后可以在PC上的WireShark上打開(kāi)分析。
后記
最近做了很多協(xié)議逆向的工作集绰,感覺(jué)協(xié)議逆向要是和APP逆向結(jié)合起來(lái)才嗯那個(gè)威力更大规辱,不然在協(xié)議中莫名其妙出現(xiàn)的密文或者不知名的字符串等,根本無(wú)法破解栽燕,需要與APP逆向結(jié)合罕袋,才能完整了解和模擬整個(gè)通信協(xié)議。
以上提到的軟件(wireshark碍岔、charles浴讯、fiddler4、packet capture)均是我正在使用的蔼啦,如果你有使用上的障礙或者有好的軟件推薦榆纽,請(qǐng)?jiān)诤笈_(tái)留言(留言請(qǐng)注明郵箱,我看到會(huì)回復(fù)郵件說(shuō)明)與我取得聯(lián)系捏肢。
如果覺(jué)得文章靠譜奈籽,也請(qǐng)轉(zhuǎn)該文章給需要的人。
謝謝支持鸵赫!
非經(jīng)過(guò)本人同意衣屏,嚴(yán)禁轉(zhuǎn)載。
如有問(wèn)題辩棒,請(qǐng)關(guān)注公眾號(hào)留言(注明郵箱)狼忱,我看到會(huì)及時(shí)回復(fù)的。