PPTP通訊協定因為簡單好用,所以很多企業至今仍在使用,其實只須配合適當的工具,要破解PPTP的帳號密碼,真的是輕而易舉。為了讓大家深刻體認事情的嚴重性,本文將實地攔截及監聽PPTP封包,並示範如何加以破解。
可能很多人都說過PPTP已經是一個過時而不安全的協定,但知道為什麼它不安全嗎?究竟PPTP有多麼危險呢?能夠輕易破解嗎?在本文中,將實際進行PPTP封包的攔截、監聽,並進行破解的示範。
在此提醒大家,本文中相關示範單純只是為了增加使用者及管理者的安全概念,管理者亦可藉此驗證使用者密碼強度,所以切勿以身試法進行類似的攻擊行為。
測試架構及方式說明
本次實作的測試架構如圖1所示,PPTP的用戶10.0.0.2透過網路與PPTP Server 10.0.0.1連立VPN連線。
|
▲圖1 測試架構圖。 |
將在區域網路內置放一部模擬遭Hacker入侵的電腦,此電腦會試圖去竊聽PPTP的連線,藉此取得PPTP進行連線時的帳號及密碼。
為了方便測試,進行測試時使用較單純的網路環境。乍看之下,在真實網路環境下似乎無法發生此類攻擊,但事實上這是極可能發生的。
舉例來說,許多ISP都有銷售使用固定IP的網路,有心人士可透過要求更換IP的方式取得與目標相同網段的IP。如果ISP沒有啟用IP Source Guard或Secured-arp之類的安全機制,那麼有心人士就可以透過ARP Spoofing技術來取得目標的封包,進而破解對方的帳號密碼。
如果你也是固定IP的用戶,記得詢問所屬ISP業者,是否有提供IP Source Guard或Secured-arp機制,以確保網路安全。
何謂ARP Spoofing
ARP Spoofing是中間人攻擊的一種,它的原理很簡單,假設有A、B、C三個使用者,使用者C想要知道A與B談話的內容。因此使用者C告訴A使用者我是B,告訴B使用者我是A,然後告訴A來自B的訊息(當然是以B的身分告知),同樣地也告訴B來自A的訊息(當然是以A的身分告知)。因此,A跟B之間所有的訊息,C都會知道。
以網路觀念來說,它利用區域網路會進行廣播,把自己的MAC Address讓所有人知道的機制,搶先宣告自身的ARP資訊(IP與MAC Address的對映),例如C告訴A說B的MAC Address是AA.BB.CC.DD.EE.FF,但事實上AA.BB.CC.DD.EE.FF是C的MAC Address。C藉此去冒充B的身分,進行擷取封包甚至修改封包後再回傳給A。
實作所採用的軟硬體
在軟體方面,將使用以下幾種程式:
arpspoof:目的是透過ARP Spoofing的方式取得
PPTP Client與PPTP Server之間交換的封包。
asleap:用來讀取密碼檔,並與ARP Spoofing取得的資訊進行比對,以破解密碼。
chap2asleap.py:可以說是asleap的前端介面程
式,它簡化了破解的過程。原先的asleap只能透過讀取Wireshark或tcpdump錄製的封包進行破解,而chap2asleap.py簡化了該過程,使用者只需輸入PPTP Username、CHAP Challenge及CHAP Response,並提供適當的密碼檔就可以進行破解。
硬體的部分,圖1中的10.0.0.3是將使用的電腦,且安裝了提供X Window的Ubuntu,並使用圖型化的Wireshark進行操作,以簡化整個操作程序。
安裝軟體並使用
以下說明arpspoof、Wireshark、chap2asleap及asleap的安裝與使用方式。
arpspoof
在Ubuntu中,arpspoof隸屬於dsniff套件。因此必須先安裝dsniff套件:
安裝完成後,使用「dpkg -L」指令來查看是否已成功安裝arpspoof:
可以看出,arpspoof程式已被安裝至「/usr/sbin」資料夾內。