滲透技巧——PPTP口令的獲取與爆破
0x00 前言
PPTP(即點對點隧道協議)可以使遠程用戶通過撥入ISP訪問企業內網。
在滲透測試中,如果獲得了用戶的PPTP口令,就能遠程撥入內網,做進一步滲透。
本文將要介紹命令行下導出PPTP配置信息和口令的方法,開源PPTP口令爆破的腳本。
0x01 簡介
本文將要介紹以下內容:
·Windows系統命令行下PPTP配置信息和口令的獲取
·Windows系統命令行開啟和關閉VPN連接
·Windows系統連接PPTP的方法和細節
·Kali系統連接PPTP的方法和細節
·PPTP口令爆破的腳本細節
0x02 Windows系統命令行下PPTP配置信息和口令的獲取
1、獲取PPTP配置信息
Windows系統撥號和寬頻連接的配置信息存儲在固定位置,路徑如下:
%APPDATA%MicrosoftNetworkConnectionsPbk
asphone.pbk
查看該文件即可獲得PPTP連接的配置信息,包括伺服器IP,不包含連接用戶名和口令
VPN連接的名稱為VPN Connection,如下圖:
PhoneNumber表示連接的伺服器IP,如下圖:
2、獲得內網IP
ipconfig
獲得內網IP,如下圖
3、獲得PPTP口令
使用工具mimiaktz,命令如下:
mimikatz.exe privilege::debug token::elevate lsadump::secrets exit
獲得連接用戶名和口令,如下圖:
4、命令行下連接VPN
rasdial "VPN Connection" zhaodg oZ7iFk25
如下圖:
5、命令行關閉VPN連接
rasphone -h "VPN Connection"
0x03 Windows系統PPTP連接的方法和細節
1.如下圖所示:
2.如下圖所示:
3.如下圖所示:
4.選擇創建新連接
5.填入伺服器IP,選中稍後連接
6.填入用戶名口令
7.點擊連接後,選擇跳過
接下來修改VPN屬性,Security->Type of VPN,選擇Point to Point Tunneling Protocol(PPTP)
註:創建成功後,指定Point to Point Tunneling Protocol(PPTP)可縮短連接等待的時間
8.連接
0x04 Kali系統PPTP連接的方法和細節
方法1:通過界面
1.安裝
apt-get install network-manager-pptp network-manager-pptp-gnome
2.Settings->Network->VPN
3.Identity->Advanced...
去掉PAP,CHAP,EAP
選擇Use Point-to-Point encryption(MPPE)
註:如果無法連接,修改文件/etc/NetworkManager/NetworkManager.conf
managed=false修改成managed=true
重啟系統
方法2:通過pptpsetup
1.連接
遠程IP為192.168.0.1,如下圖
2.修改路由表
將默認路由表修改為遠程IP
route del defaultroute add default gw 192.168.0.1
0x05 PPTP口令爆破
PPTP伺服器默認開放1723埠
1、PPTP brute forcer
源代碼:
https://github.com/BlackArch/thc-pptp-bruter
kali默認支持
通過字典爆破的命令如下:
cat wordlist | thc-pptp-bruter -u zhaodg
如下圖
註:PPTP搭建於centos
2、編寫python腳本實現
有些設備的PPTP無法使用PPTP brute forcer進行爆破
於是嘗試使用python調用pptpsetup實現
通過os.popen執行命令,測試代碼如下:
測試過程中出現bug:
如果登錄成功,進程pptp不會退出,導致腳本阻塞,無法獲得回顯。
只有結束進程pptp後,才能獲得回顯。
所以這裡需要使用子進程的方式實現:子進程執行pptpsetup命令,父進程不等待。
隨之產生新的問題:如何獲得子進程的結果,判斷是否登錄成功。
這裡選擇一個簡單直接的方法:等待10秒,然後執行ifconfig,如果登錄成功,會產生新的網卡設備ppp0,否則,當前用戶名口令錯誤。
登錄成功後,選擇清理進程,執行命令:
pkill pptp
清除連接信息:
pptpsetup --delete testvpn
完整代碼可參考:
https://github.com/3gstudent/Homework-of-Python/blob/master/pptp_password_hack.py
代碼會讀取文件wordlist,獲得口令字典,對指定IP嘗試連接,連接成功後記錄口令,清除進程和連接
測試如下圖:
0x06 小結
本文介紹了命令行下導出PPTP配置信息和口令的方法,通過命令行能夠實現開啟和關閉VPN連接。
實例演示了Windows和Kali系統連接PPTP的方法,最後開源了調用pptpsetup實現PPTP口令爆破的腳本,分析腳本實現細節。


※美國政府最新技術警報:警惕朝鮮黑客組織Hidden Cobra正在使用的兩款RAT和蠕蟲病毒
※利用機器學習&AI判定未知惡意程序
TAG:嘶吼RoarTalk |