前言在滲透測試過程中,必不可少的操作就是使用BurpSuite、Fildder等抓包工具對應(yīng)用程序的數(shù)據(jù)包進(jìn)行攔截、觀察和篡改。那么問題來了——對于使用HTTPS協(xié)議的站點,在BurpSuite中攔截到的數(shù)據(jù)包為何也是“明文傳輸”?如下圖所示。 從大神那里獲得解答:
WireShark抓包接下來當(dāng)然是使用WireShare監(jiān)聽數(shù)據(jù)并觀察分析下,先簡單說下WireShare的基本使用。 首先開啟WireShark并配置受監(jiān)聽的網(wǎng)卡: 選擇正在使用的網(wǎng)卡,雙擊WLAN開始監(jiān)聽: 電腦中開啟瀏覽器或其他應(yīng)用的時候都會有流量產(chǎn)生,有流量產(chǎn)生就會被WireShark捕捉到。上圖為剛剛開啟WireShark后的捕捉狀態(tài),會抓到大量各種各樣的流量,稍后我們會進(jìn)行過濾操作。 HTTP站點使用合天網(wǎng)安實驗室的登陸頁面作為觀察對象。 在CMD中Ping域名,獲得站點IP地址58.20.54.226: 在WireShark中設(shè)置過濾規(guī)則“ip.dst==58.20.54.226”,發(fā)現(xiàn)登錄請求傳輸?shù)馁~號密碼信息: 也可以選擇資源為POST /sessions HTTP/1.1的流量然后鼠標(biāo)右鍵選擇追蹤流->TCP流,可以看到用戶名和密碼等敏感信息可以被嗅探: 查看前端代碼,可發(fā)現(xiàn)該HTTP站點確實對賬戶密碼做了前端加密后再進(jìn)行傳輸: HTTPS站點看完上面HTTP站點的數(shù)據(jù)在WireShark中“裸奔”,接下來看看HTTPS站點是不是也如此。 選用站點“墨者學(xué)院”作為觀察對象: 在WireShark中設(shè)置過濾規(guī)則“ip.dst==113.200.16.234”,可發(fā)現(xiàn)HTTP站點的流量均給出了具體的請求資源地址(如上面的POST /sessions HTTP/1.1),而HTTPS站點傳輸?shù)臅r候只提示為“Application Data”: 繼續(xù)選擇任意協(xié)議為TLSv1的流量后右擊選擇追蹤流->TCP流,發(fā)現(xiàn)數(shù)據(jù)均經(jīng)過加密,根本看不懂: 解密HTTPS數(shù)據(jù)HTTPS協(xié)議使用了對稱加密,客戶端擁有并存儲了對稱加密的會話密鑰,瀏覽器在接收到服務(wù)端發(fā)送回來的密文數(shù)據(jù)之后,會使用存儲在本地的秘鑰對數(shù)據(jù)進(jìn)行解密。那么我們通過WireShark監(jiān)聽到的HTTPS站點的密文能否依靠此密鑰進(jìn)行自動解密?答案是——可以。 接下來我們來實際操作并驗證下: 1、以windows系統(tǒng)+Chrome瀏覽器為例,首先要導(dǎo)出瀏覽器存儲的密鑰,通過計算機(jī)屬性——高級系統(tǒng)設(shè)置——環(huán)境變量,新建一個變量名“SSLKEYLOGFILE”的變量,變量值是導(dǎo)出的密鑰具體文件地址。2、設(shè)置后可以通過重啟Chrome瀏覽器打開任意一個HTTPS網(wǎng)址,此時查看變量值對應(yīng)路徑,密鑰成功導(dǎo)出到本地啦,已經(jīng)生成sslkey.log文件: 3、現(xiàn)在可以將密鑰導(dǎo)入到Wireshark了,具體路徑如下:菜單欄—>編輯—>首選項—>Protocols—>TLS/SSL(選擇SSL還是TLS請根據(jù)實際情況): 4、配置完成,來看下最終的實際效果(此處同樣使用上文中“墨者學(xué)院”HTTPS站點作為測試對象,其初始的加密數(shù)據(jù)包狀態(tài)可翻看前文): 5、對比一下文章開頭BurpSuite攔截到的數(shù)據(jù)包: 【總結(jié)】至此,我們可以得知BurpSuite攔截HTTPS站點可獲得明文數(shù)據(jù)包,并非因為HTTPS站點跟HTTP站點一樣進(jìn)行“裸奔”,而是BurpSuite代理服務(wù)器作為中間人,對HTTPS站點的數(shù)據(jù)包進(jìn)行了解密。 監(jiān)聽局域網(wǎng)流量既然HTTP協(xié)議和HTTPS協(xié)議的明文數(shù)據(jù)我們都有辦法通過WireShark進(jìn)行獲取,那么問題來了——WireShark能否輕易獲得局域網(wǎng)內(nèi)部其他主機(jī)的數(shù)據(jù)包呢?(如果可以………我那存有兩毛錢巨款的賬戶的信息安全該咋辦?) 問題的答案是——Windows 10系統(tǒng)可以在一塊真實無線網(wǎng)卡基礎(chǔ)上再虛擬出一塊無線網(wǎng)卡,支持網(wǎng)絡(luò)共享,讓電腦變身WIFI熱點,我們把接網(wǎng)卡共享后設(shè)置其IP為192.168.XXX.XXX,讓這個網(wǎng)卡做網(wǎng)關(guān),別的電腦連上WIFI后都通過這個網(wǎng)卡上網(wǎng),然后你就可以輕易的在這個網(wǎng)卡上捕獲別的電腦的數(shù)據(jù)包。 什么?你不信?那接下來進(jìn)行實操來驗證下吧。 1、要通過Win10系統(tǒng)自帶的移動熱點進(jìn)行WIFI共享,首先確保WLAN網(wǎng)卡開啟,WLAN網(wǎng)卡連接到其它無線WLAN網(wǎng)絡(luò)上: 2、移動熱點即變?yōu)榭砷_啟狀態(tài),并點擊編輯按鈕進(jìn)行SSID無線名稱及連接密碼進(jìn)行設(shè)置即可: 3、在網(wǎng)絡(luò)連接設(shè)置頁面上找到剛剛開啟的虛擬AP網(wǎng)卡信息: 4、在CMD窗口中使用ipconfig命令查詢當(dāng)前主機(jī)的IP,結(jié)果為: 5、設(shè)置虛擬網(wǎng)卡的IP地址、子網(wǎng)掩碼、DNS服務(wù)器地址如下,點擊確認(rèn): 6、選擇WLAN 右鍵屬性—>共享設(shè)置,選擇共享并選擇剛剛開啟的無線AP熱點,點擊確認(rèn): 7、通過手機(jī)或者其他支持WIFI上網(wǎng)的設(shè)備搜索該信號即可進(jìn)行連接并上網(wǎng),此處選擇手機(jī): 8、查看手機(jī)連上電腦熱點后分配到的IP地址: 9、在電腦打開WireShark,監(jiān)聽剛才開啟的虛擬無線網(wǎng)卡: 10、可以看到,成功監(jiān)聽到手機(jī)的數(shù)據(jù)包流量: 11、進(jìn)一步驗證一下!!手機(jī)瀏覽器打開“合天網(wǎng)安實驗室”站點的登錄頁面,并進(jìn)行登錄: 12、在WireShark輸入過濾規(guī)則“ip.src==192.168.137.251 and ip.dst==58.20.54.226”并查看登錄請求包,成功監(jiān)聽到明文賬號和密碼信息(已做前端加密): 至此,我們可以看到,手機(jī)平時在公眾場合連接未知的WIFI后進(jìn)行系統(tǒng)登錄、轉(zhuǎn)賬業(yè)務(wù)等敏感操作將是多么危險?。。?!一不小心賬號和密碼就被監(jiān)聽了! *本文原創(chuàng)作者:True521,本文屬于FreeBuf原創(chuàng)獎勵計劃 |
|
來自: 風(fēng)聲之家 > 《HTML》