Wireshark PPTP ARP VPN 資安 漏洞 安全 破解

驗證駭客破解PPTP手法 驚見VPN帳密全都露

2016-01-06
PPTP通訊協定因為簡單好用,所以很多企業至今仍在使用,其實只須配合適當的工具,要破解PPTP的帳號密碼,真的是輕而易舉。為了讓大家深刻體認事情的嚴重性,本文將實地攔截及監聽PPTP封包,並示範如何加以破解。
最後,執行chap2asleap.py:


以下說明該訊息中的代表意義:

-u: 此參數後面接的是使用者名稱,在Wireshark的 Info欄位中CHAP Response的內容裡可以看出NAME='test',因此使用者名稱就是test。

-r:這個參數後面接的是CHAP Challenge的內容(之 前儲存的Hex Steam)。

-c:此參數後面接的是CHAP Response的內容(同樣是之前預先儲存的Hex Steam)。

-x:指的是在處理後再丟給asleap進行密碼破解。

-v:指的是顯示詳細資訊(整個操作過程)。

不久後,就可以得到以下的資訊:


這樣一來,可以得知PPTP的帳號是test,密碼是test123。

進行加密測試

之前的實驗中,在PPTP連線建立時,資料加密使用的是:可省略加密,再加上Server端並未設定加密,因此在連線建立過程中是沒有加密的。

接著做資料加密並進行測試,以驗證加密是否能讓自身的密碼不被破解。要進行加密的話,PPTP Server也要進行調整,筆者使用Cisco Router作為PPTP Server使用(相關說明請參考網管人技術專欄「發揮路由器VPN功能,提供PPTP及L2TP連線」一文,http://www.netadmin.com.tw/article_content.aspx?sn=1403070003&jump=1)

先在interface Virtual-Template1新增MPPE的相關設定,並且指定其加密長度是最長的128位元,設定如下:


接著調整PPTP Client相關設定,如圖6所示。資料加密的部分,將之改為【最大長度加密】,身分驗證的部分只保留MS CHAP2的驗證協定。(其他協定可不加密,因此Windows會要求取消這些不加密的協定)。


▲圖6 調整PPTP Client資料加密及身分驗證設定。

接著,以同樣的方式側錄其封包並進行測試。在測試過程中,可能會因為ARP Timeout更新週期的關係,導致ARP Spoofing失敗,沒有抓到資料,遇到這種狀況是難免的,多測試幾次就會抓到資料。測試結果如下:


輸出結果如下:(以下將重要的部分加粗)


由於加上-v參數,因此可以看到整個破解過程,包含了它呼叫asleap程式及其所下的參數。同樣也是在幾秒內就測試出來,以本例而言只花了0.52秒。破解的時間取決於硬體效能,只要密碼檔裡剛好有這個密碼,破解只是時間長短的問題。

不過,筆者要強調一下,這個方式其實是暴力破解法,但因為它是在自己的機器上模擬運作,而不是直接連上Server去試密碼,因此不會在PPTP Server端產生Log。如果Hacker有心的話,甚至可以結合字元產生器進行破解,如此一來,密碼被破解只是早晚的問題。

結語

其實PPTP的破解早在2010年就有人提出,但由於PPTP簡單好用,因此很多公司企業一直沿用至今。但據本文的測試經驗來看,只要觀念正確再配合適當的工具,其實要破解PPTP的帳號密碼,真的不是件困難的事。因此建議各位網管人儘早汰換PPTP這項已過時的協定,以更安全的SSL VPN或IPSec來取代。如果真的不能汰換PPTP,煩請使用極為複雜的密碼,讓駭客或有心人力必須花較多的時間來破解。

最後再次重申,此次的示範只是為了驗證PPTP的安全性,請讀者不要以身試法鑄成大錯。

<本文作者:丁光立,在ISP工作多年。對於Cisco設備較熟悉,除此之外也研究Linux,這幾年慢慢把觸角伸到資安的領域,並會在自己的blog(http://tiserle.blogspot.com/)分享一些實務上的經驗和測試心得。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!