文章作者:参考来源bughardy.me,转载请注明来自FreeBuf黑客与极客
$ j$ a- k( f7 h! M' S% I+ x<p />
7 G1 _$ B# c# G! U; N' w2 n2 x0 X. P<img src="
绕过WiFi验证:四招教你免费使用WiFi| →『网络安全区』
!small" title="wifi.jpg"/></p>
( _- L) p3 h9 Z a如今越来越多的商场、咖啡店、饭店等公共场所都提供了开放的WiFi网络。不过有时即便我们的设备连上了WiFi,当随便打开一个网页就会立即弹出身份验证页面……是不是很郁闷?藉此新春佳节,小编将向大家分享几种绕过常见WiFi身份验证的方法,祝各位过个开心年。
1 O6 b& l4 Y: K7 k# D, ~仅供娱乐,请各位遵纪守法,别被老板暴打^_^
$ H2 k5 {% Q+ G8 x7 I8 g$ E需要身份认证的WiFi8 X# l7 z; d- k- Q
这是一种开放的WiFi网络。在真正使用该网络之前,当访问任意网页时,通常你会遇到一个强制的身份认证的页面——只有在你输入了正确的用户名和密码之后才能开始使用该网络。
. x6 M# f2 }4 K5 L
# J: z, B5 R7 G+ z; I9 M8 e2 t8 T<img src="http://image.3001.net/images/20150218/14241900946377.png!small" title="captive-portal-example.png"/></p>3 w. l4 q3 o0 M( }3 p/ U
在我们的日常生活中,你可以发现各种强制身份认证页面,例如在麦当劳、医院、机场、公园等等。- N) w/ |0 K' F8 [+ X
Hack it!
I/ L$ _4 D# k, o5 T! O5 y& h$ t首先你需要注意的是,既然是开放WiFi网络,那么你可以毫不费力地连接上它。不过这种WiFi会利用身份验证来限制合法用户上网。通常这种方式是为了防止网络被滥用,例如:防止人们下载色情内容,利用该网络进行非法活动等。3 i7 p& c- a2 y0 Y3 m; r
可不管怎样,当我们连上了,我们就可以扫描网络中所有主机并嗅探他们的通信流量。$ j6 v7 m; [- H
绕过热点身份验证常用方法主要有以下几种,下面我们将逐一进行介绍。
9 E" K. q& m2 g! Y! Y2 X( n) B$ f [1、MAC地址伪造法0 ^; X' U( v, y! o
开放网络的身份验证通常是通过将你的上网设备的MAC地址同你的上网凭证(例如账号、密码)联系在一起来实现。" O4 F7 X$ q( d* h7 o
然而,因为任何设备的MAC地址都很容易修改,例如笔记本电脑、智能手机等设备。所以这种验证方法并不是一种强健的或者安全的身份验证方法。( l* e/ i$ {% m
我们首先要做的就是扫描整个网络,寻找其他已经连接上该网络的客户端。而实现该目的最快的方式是,利用ARP扫描技术,它会提供给我们一个包含所有已连接设备的IP地址和MAC地址的完整ARP表。
9 M& Z2 }5 F0 V$ v- A$ v+ ]
0 Q# z: i9 F& [<img src="
绕过WiFi验证:四招教你免费使用WiFi| →『网络安全区』
!small" title="2.jpg"/></p>: v7 G0 L* x# n
现在,我们可以用上图中的MAC地址一个一个地尝试,以此来查看对应的客户端是否已经通过身份验证。
9 m2 \; O. ^5 M0 o3 L8 m: E为了提高查看的速度,我们可以尝试以下方法:- 1、检测这些设备是否能够产生通信流量。2、如果产生了流量,那么就拦截该流量并查看是否是上网的网络流量。
复制代码 如果以上两个条件同时满足,那么我们可以非常肯定该客户端已经通过了网络认证门户的身份验证。
( K. C* e) u1 b2 u2 p有时这类WiFi对一个用户只提供一定时间或流量的免费服务。在这种情况下,一旦服务过期,我们可以通过随机修改MAC地址来继续享受该网络服务。 V$ l. s0 l% t8 K+ R/ a9 B) H
2、伪造认证页面/ g- ^% [/ h }+ X! S, J
这种方式类似于“钓鱼”:我们创建一个伪造身份认证页面,迫使正常用户登录该页面进行身份验证,然后我们就可以盗取他们的上网凭证。7 K( N# M/ g5 R1 @
正如我之前所写,开放WiFi网络的所有流量都是未经加密的明文数据,所以我们可以拦截并篡改网络流量,做任何我们想做的事情。虽然有时认证页面是通过HTTPS连接,但是它们几乎所有时候都使用同一个定制的证书。5 E$ q( S. Z; z2 @- w/ `& C$ h
为了建立一个假的认证门户,我们不得不下载原来真正的认证页面。你可以使用任何你喜欢的工具来下载,然后编辑该门户网站来存储用户输入的上网凭证信息。一旦我们保存了这些信息,我们应该将用户请求信息转发到原始真正的认证页面中进行身份认证。& v0 ^$ b' G- ]2 k, ~
但是问题来了,我们该如何迫使用户登录我们伪造的认证门户,而不是原来真正的那个呢?
* B7 W& G3 d# Q" e8 f9 K最简单的方法是对所有客户端发起一次ARP中毒攻击,通知上网设备认证门户的MAC地址现在变成了我们自己的MAC地址。- y' G7 r9 r7 ?8 Q
下面的图片可以很好地解释这种方法:7 E8 Y. J+ T P
: C# I8 u6 J1 `( i7 n5 U
<img src="
绕过WiFi验证:四招教你免费使用WiFi| →『网络安全区』
!small" title="3.jpg"/></p>6 X( J& J4 h. b8 a; T8 T
我们上搭建一个Web服务器,然后在上面做一个假的认证页面。至此工作完成,我们只要坐等用户名和密码就行啦。. u3 \. j6 N4 t6 q
3、利用“忘记密码”. k2 d" @$ D B: i
这种方法很简单,一些带身份验证的WiFi热点会在你忘记密码的时候提供重置密码服务。
4 I' k+ K4 L2 r0 E/ V8 w& v通常,这种服务通过你的手机号码来实现,会向你填入的手机号码上发送新密码。然而,也有很多时候是通过电子邮件发送新密码。5 {6 F0 M R, Y5 l
如果是这种情况,那么很可能他们会允许你连接你的邮件客户端到你的IMAP/POP邮件服务器,这意味着此时你可以免费使用他们的网络查看你的邮箱。更普遍的是,他们通常不会检查你所产生的流量是否真的是IMAP或POP流量(主要因为流量加密了)!7 l! F, |. x) ~' K. [
所以你可以在你的VPS上以端口号995或993搭建一个SSH服务器,这两个端口分别是POP3和IMAP加密流量默认的端口号。因此你完全可以创建一个SSH隧道来代理你的网络浏览。$ a5 h$ S7 m; E& T/ O5 d
4、DNS隧道方法
. j5 Q' @3 e$ K# I: Q大多数时候,WiFi热点会允许你进行DNS查询,它们一般使用自己的DNS服务器,同时很多时候他们也允许你查询外部DNS服务器。% q9 A2 o5 a, o+ v; V
创建于几年前的一个比较有趣的项目“Iodine”就是一款有关DNS隧道的软件。使用该软件,你可以使用DNS协议创建一个连接到你的服务器上的隧道,然后利用它上网。$ n' P7 i: D; ~ |& n/ O
这多少有点类似于你用VPN连接到你办公室的网络。一旦你创建了该隧道,你可以再次设置一个代理,通过SSH隧道连接到你的服务器,这样你就可以得到一个加密的安全通道来上网。
; l2 g/ n7 }) ?5 A不过,为了使用DNS隧道服务,还需要满足另一个要求,即你必须拥有一个域名或者能够使用一些动态DNS提供商的子域名。 |