WireShark如何破解SSL加密網(wǎng)絡(luò)數(shù)據(jù)包
WireShark如何破解SSL加密網(wǎng)絡(luò)數(shù)據(jù)包
一般來說,我們用WireShark來抓取包進(jìn)行分析是沒有多大問題的,但碰到的是用SSL/TLS等加密手段加密過的網(wǎng)絡(luò)數(shù)據(jù)的時(shí)候,往往我們只能束手無策。請(qǐng)看下面學(xué)習(xí)啦小編整理的解決方法!
WireShark破解SSL加密網(wǎng)絡(luò)數(shù)據(jù)包的方法
相信能訪問到這篇文章的同行基本上都會(huì)用過流行的網(wǎng)絡(luò)抓包工具WireShark,用它來抓取相應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)包來進(jìn)行問題分析或者其他你懂的之類的事情。一般來說,我們用WireShark來抓取包進(jìn)行分析是沒有多大問題的。但這里有個(gè)問題是,如果你碰到的是用SSL/TLS等加密手段加密過的網(wǎng)絡(luò)數(shù)據(jù)的時(shí)候,往往我們只能束手無策。在過去的話,如果我們擁有的該傳輸會(huì)話的私鑰的話我們還是可以將它提供給WireShark來讓其對(duì)這些加密數(shù)據(jù)包進(jìn)行解密的,但這已經(jīng)是想當(dāng)年還用RSA進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)加密的年代的事情了。當(dāng)今大家都已經(jīng)逐漸擁抱前向加密技術(shù)PFS 的時(shí)代了,所以該方法就不再適用了。因?yàn)榍跋蚣用芗夹g(shù)的目的就是讓每個(gè)數(shù)據(jù)交互都使用的是不同的私鑰,所以你像以前RSA時(shí)代一樣想只用一個(gè)私鑰就能把整個(gè)session會(huì)話的網(wǎng)絡(luò)數(shù)據(jù)包都破解出來的話是不可能的了。所以這將是一個(gè)挺惱火的事情。
大家先別火起,這里我來告訴你另外一個(gè)簡(jiǎn)單的方法來解決這個(gè)問題!其實(shí)Firefox和Chrome瀏覽器都支持用日記文件的方式記錄下用來加密TLS數(shù)據(jù)包對(duì)稱會(huì)話秘鑰的。這樣你就可以在WireShark中指定該文件來快速完成你的破解目的了。請(qǐng)繼續(xù)往下看具體的步驟。首先你需要配置一個(gè)環(huán)境變量。
3.1 在Windows下的配置:
怎么去到環(huán)境變量配置頁面相信不需要我多說了,畢竟國內(nèi)還是Windows的天下。
在上圖的位置增加一個(gè)新的叫做“SSLKEYLOGFILE”的環(huán)境變量并指定其路徑到你想要保存你的會(huì)話私鑰的地方。
3.2 在Linux或者M(jìn)AC OS X上的配置:
$ export SSLKEYLOGFILE=~/path/to/sslkeylog.log
當(dāng)然,如果你想在你的系統(tǒng)每次啟動(dòng)的時(shí)候都指定該日記路徑的話,你可以在你的Linux下執(zhí)行下面的動(dòng)作:
~/.bashrc
或者在你的MAC OS X上執(zhí)行以下命令:
~/.MacOSX/environment
這樣我們下次啟動(dòng)Firefox或者Chrome的開發(fā)者模式的時(shí)候,TLS秘鑰就會(huì)自動(dòng)寫入到該指定文件下面了。為了支持這個(gè)功能,你當(dāng)前的WireShark版本必須是1.6或者更新。我們僅僅要做的就是先進(jìn)入偏好設(shè)置頁面:
展開協(xié)議選項(xiàng):
找到SSL選項(xiàng)然后如下圖所示打開上面設(shè)置好的會(huì)話秘鑰保存文件:
下圖就是我們通常見到的WireShark抓到TLS數(shù)據(jù)包后的顯示結(jié)果:
This is what it looks like when you switch to the “Decrypted SSL Data” tab. Note that we can now see the request information in plain-text! Success!大家可以看到WireShark下面會(huì)有一個(gè)“已解密的SSL Data”的標(biāo)簽,點(diǎn)擊之后你就可以如下圖所示的看到已經(jīng)解密的TLS數(shù)據(jù)包的相信信息了:
通過本文我真心希望你能從中學(xué)到一些東西,該方法讓我們能夠如此直截了當(dāng)?shù)娜グ裈LS數(shù)據(jù)包給破解出來。這種方式的另外一個(gè)值得一提的好處是,給會(huì)話過程中的兩臺(tái)機(jī)器根本不需要安裝任何Wireshark工具,因?yàn)槟銜?huì)擔(dān)心安裝上去會(huì)搞得問題是做多錯(cuò)多都不知道哪里出問題了。你只需要做的是把他們上面的該會(huì)話秘鑰文件指定到一個(gè)網(wǎng)絡(luò)共享文件夾然后用另外一個(gè)已經(jīng)機(jī)器上安裝WireShark并如前所示指定該秘鑰文件進(jìn)行抓包就了事了。
看了“WireShark如何破解SSL加密網(wǎng)絡(luò)數(shù)據(jù)包”的人還看了