https://www.ovpn.com/en/blog/pptp-has-become-obsolete/

PPTP has become obsolete

What is PPTP?

PPTP stands for Point-to-Point Tunneling Protocol and was created with the help of Microsoft in the 1990s. It is a continuation of PPP and comes preinstalled on all versions of Windows since Windows 95. It was officially added into the Linux kernel on the 28th of October 2005.

Why is PPTP not secure?

The history of PPTP is filled with flaws that have been detected by security experts. The first incident happened back in 1998, when Bruce Schneier & Mudge published[1] their findings regarding the authentication protocol MS-CHAPv1. The flaws that were found included:

  • Hashing of passwords
  • Vulnerability in the case of man-in-the-middle (MITM) attacks.
  • Encryption – the possibility to decrypt data being sent through the protocol

Following the report made by Bruce Schneier, Microsoft released an update of the authentication protocol, named MS-CHAPv2. However, it didn’t take long before Bruce Schneier & Mudge published[2]an essay detailing the security flaws in the new protocol.

In conclusion, MS-CHAPv2 will only be as secure as the password is in itself. This is problematic since it means that MS-CHAPv2 is vulnerable to, for example, dictionary attacks.

In 2012, it was revealed[3] that a brute-force attack on MS-CHAPv2 has the complexity of just 256, meaning only one single DES key.

How do you intercept PPTP?

Since the complexity is just 256, it is very simple to brute-force the password and gain access to intercept all network traffic in plain text. Using the chapcrack application[4], you can intercept a network for every MS-CHAPv2 ’handshakes’.

When the application finds a ‘handshake’, it can show all kinds of interesting information, such as user name, known plain text, and two known cipher texts, and it can also crack the third DES key.

It will also show you a token that you can use on CloudCracker[5]. CloudCracker will brute-force the password in less than 24 hours, giving you the password, allowing you to continue intercepting the network traffic in plain text using chapcrack.

The traffic that is passing through PPTP can in other words be seen as plain text. This means that VPN providers offering PPTP is offering a service that anyone can decrypt.

So why is PPTP still being used?

There are mainly two reasons why PPTP is still being used.

  1. PPTP has come preinstalled on most operating systems for a long time.
  2. It’s easy to get started. Nothing needs to be installed.

What can you do to increase the security?

The first thing you should do is to avoid PPTP altogether. Even Microsoft[6] has gone as far as to say that you shouldn’t use PPTP. OpenVPN[7] is the most secure alternative as far as VPN tunnels go.

Unfortunately, there is not a whole lot you can do if you’ve already purchased a PPTP subscription by another VPN provider that doesn’t want to change to OpenVPN.

What you can do is ask your provider what kind of authentication protocol they are using for PPTP. EAP-TLS[8] is regarded as the most secure authentication protocol for PPTP to date. If your VPN provider is using EAP-TLS, you can sleep a little bit better at night, but the best alternative remains to be switching to OpenVPN.

Sources

[1] https://www.schneier.com/paper-pptp.pdf
[2] https://www.schneier.com/paper-pptpv2.html
[3] https://www.cloudcracker.com/blog/2012/07/29/cracking-ms-chap-v2/
[4] https://github.com/moxie0/chapcrack
[5] https://www.cloudcracker.com/
[6] https://technet.microsoft.com/library/security/2743314
[7] https://openvpn.net/index.php/open-source.html
[8] http://technet.microsoft.com/en-us/library/cc739638(WS.10).aspx

PPTP has become obsolete的更多相关文章

  1. centos7 配置PPTP、L2TP、IPSec服务

    首先,推荐跑下面的脚本: https://github.com/BoizZ/PPTP-L2TP-IPSec-VPN-auto-installation-script-for-CentOS-7 这个脚本 ...

  2. Juniper SSG5 PPTP VPN 619错误解决

    公司分部的客户端需要使用PPTP VPN连接总部,将网关更换为Juniper SSG5后,客户端出现了每几个小时自动断开的现象,错误619. 解决:Security —— ALG —— 开启PPTP协 ...

  3. Ubuntu Server 设置PPTP客户端连接

    安装PPTP客户端 apt-get install pptp-linux 设置连接账号信息 sudo vim /etc/ppp/chap-secrets 其中$login_name是登录名:$pass ...

  4. 【转】CentOS上部署PPTP和L2TP over IPSec简要笔记

    PPTP部署 安装 PPTP 需要 MPPE 和较高版本的 ppp ( > 2.4.3 ) 支持,不过 CentOS 5.0/RHEL 5 的 2.6.18 内核已经集成了 MPPE 和高版本的 ...

  5. OracleConnection is obsolete

    用EF搞Oracle的 fake CodeFirst 时,一直报错以下错误: 对类型“System.Data.OracleClient.OracleConnection”的存储区提供程序实例调用“ge ...

  6. Ubuntu PPTP 服务器安装

    安装相应的包 sudo apt-get install pptpd 修改配置文件pptpd.conf sudo vim /etc/pptpd.conf 设置对应的VPN网络,localip是服务器的, ...

  7. [原创]解决net-speeder与pptp不兼容的问题

    解决net-speeder与pptp不兼容的问题 终于受不了很多玩意儿都被墙了,每次FQ费半天劲,浪费时间,于是在搬瓦工搞了个VPS,年付19美元,挺便宜的,赶紧的VPN搭起,优化走起. VPN搭建很 ...

  8. centos 安装pptp

    1. 安装依赖 ppp yum -y install ppp 2. 编译安装pptpd wget http://jaist.dl.sourceforge.net/project/poptop/pptp ...

  9. 手动建库时一个小错误:ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

    此前执行了CREATE SPFILE FROM MEMORY.  重新使用SPFILE启动时,出错如下: SYS@ bys3>startup ORA-32004: obsolete or dep ...

随机推荐

  1. 透视效果shader(边缘光)

    思路:渲染两次. 1.第一次渲染:利用Greater进行深度测试,当目标被遮挡时,用一个边缘光的效果显示. 2.第二次渲染:正常渲染. 边缘光的思路:观察方向和顶点法向量夹角越大,边缘光越明显.边缘光 ...

  2. Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解

    简介 最近了解到很多网页开发者对jquery中的 .bind() .live() .delegate() 和 .on() 方法存在很多的疑惑.这些疑惑通常是关于它们之间真正的区别是什么啊,什么时候该使 ...

  3. ScriptManager.RegisterStartupScript()方法和Page.ClientScript.RegisterStartupScript() 方法详解

    ScriptManager.RegisterStartupScript()方法 如果页面中不用Ajax,cs中运行某段js代码方式可以是: Page.ClientScript.RegisterStar ...

  4. Delphi设置表格样式

    //设置表格样式wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderLeft).LineStyle = Word.WdLineS ...

  5. java websocket client

    websocket是H5新推出的协议,一般用于前端,但是在实际项目中我们需要用java代码来获取一些设备的实时运行数据,在后台处理后推送的前台界面,为了保证实时性,我们需要用到websocket协议, ...

  6. github不能访问,可能原因是host里有太多过期的对应

    github好久不能访问 一直以为是墙的原因 今天发现原来是有很多过期的host造成的 删掉那些host好了

  7. Kafka 0.9 新消费者API

    kafka诞生之初,它自带一个基于scala的生产者和消费者客户端.但是慢慢的我们认识到这些API有很多限制.比如,消费者有一个“高级”API支持分组和异常控制,但是不支持很多更复杂的应用场景:它也有 ...

  8. Node.js Express4.x生成程序骨架

    express 4.x版本中将命令工具分出来了,需要再安装一个命令工具,执行命令“npm install -g express-generator”完成后再测试就可以了. 最后通过"expr ...

  9. uni-app 页面配置和跳转(一)转

    今天看Dcloud官网更新了个uni-app,据说一套代码三端发布(Android,iOS,微信小程序),果断一试. uni.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面 ...

  10. 个人总结——Beta版本

    我们这次项目因为种种原因失败了,没办法达到预期的效果,这一点着实让人难过.但是作为一门课程,并不能说因为此次项目的失败就完全一无所获.在不断遇到困难和解决困难中学习,成长.虽然失败,但此次失败的经验教 ...