你好,这里是网络技术联盟站。
网络安全是当今互联网最为重要的部分,很多机密信息都是网络安全的目标,其中大家比较熟悉的攻击就是中间人攻击,本文瑞哥就给大家好好普及一下什么是中间人攻击,中间人攻击的原理是什么?怎么去防范中间人攻击等等。
让我们直接开始!
什么是中间人攻击?
- 中间人攻击英文全称:
Man-in-the-Middle
- 中间人攻击缩写:
MITM
中间人攻击是一种网络攻击,其中两方之间的通信被拦截,通常是为了窃取登录凭据或个人信息、监视受害者、破坏通信或损坏数据。
可以这样说只要人类一直在交流,中间人攻击就一直存在。
在很早之前,中间人攻击就存在,1586 年,苏格兰女王玛丽从监狱向一名支持者发送密码信件,这些信件详细说明了暗杀伊丽莎白一世女王并促成西班牙入侵英格兰的计划。警方早已监控玛丽一举一动,并截获了这些信件,然后解密了它们,警方修改了玛丽的密码信件,要求提供所有同谋者的详细信息,最后苏格兰女王和支持者因为这一证据被处决。
这就是早期的中间人攻击。
其实中间人攻击不难理解,而且可能在生活中我们也遇到过或者实施过中间人攻击,比如所谓的截胡,仿写等,听到这些词汇,大家好好想想中学时期有没有调皮过。
中间人攻击的步骤
一般来说,中间人攻击分为两个步骤:
- 拦截
- 解密
想想是不是呢,如果你想篡改小王写给小丽的信,你是不是得先拦截到这封信,并读懂这封信,你才能去篡改呢?
第一步:拦截
第一步拦截就用到了“中间人”这个角色,攻击者在合法数据到达预期目的地之前用假网络拦截它,拦截阶段本质上是攻击者如何将自己插入为“中间人”,攻击者经常通过在不需要密码的公共场所创建一个虚假的 Wi-Fi 热点来做到这一点,如果受害者连接到热点,攻击者就可以访问他们执行的任何在线数据交换。
如图,黑客伪造了一个wifi热点,用户在不知情的情况下连接了这个热点,导致在访问互联网的时候都会走一遍黑客设置的黑网络,此时黑客就充当中间人的角色,拦截到了用户的数据。
有些人可能有疑问了,这个中间人是那么好充当的吗?就不会有人察觉吗?是怎么充当的?
其实黑客达到中间人的效果,一般会通过三种途径:
IP 欺骗
攻击者将自己伪装成应用程序并更改 IP 地址的标头,用户在访问应用程序 URL 的时候将被重定向到攻击者的网站。
如图所示,黑客伪造的wifi中有个网页,地址为http://124.70.152.62:80/index.html
黑客将其重定向到http://188.188.52.52:80/index.html
,其中188.188.52.52
地址就是黑客的地址,达到了IP欺骗的目的。
ARP 欺骗
黑客使用伪造的 ARP 消息将其 MAC 地址与受害者的合法 IP 地址链接起来,从而可以访问正在交换的数据或信息。
如图,假如你真实的路由器ip地址为192.168.31.1
,mac地址为00:4b:51:6a:5b:3a
,你的电脑想要连接到网络,必须先连接到路由器,也就是网关,并且将相关数据传输到网关。
这个时候黑客将虚假 ARP 数据包注入您的网络,ARP 数据包显示地址 192.169.31.1
,其 MAC 地址为 11:5b:56:6a:5b:3b
,这显然不是你的路由器。
ARP缓存存储将 IP地址为 192.169.31.1
与 MAC地址 11:5b:56:6a:5b:3b
进行关联。
此后你的电脑就一直连接的是黑客伪造的路由器,而不是你真实的路由器,这就是ARP 欺骗。
DNS 欺骗
DNS欺骗也称为 DNS 缓存中毒,黑客更改 DNS 服务器,将受害者的 Web 流量重定向到与预期网站非常相似的黑客仿造的网站。
ARP 欺骗和 IP 欺骗都要求黑客和被攻击者处于同一局域网,但是使用 DNS 欺骗,攻击可以来自任何地方,这个就很可怕了,也就是说只要这个黑客技术很牛逼,它可以攻击世界上任何一台联网设备。
我们来看看DNS欺骗是如何工作的?
如图,假设黑客知道你的DNS服务器是哪台,并且能够成功黑进去。
- 黑进去后,将DNS的缓存记录
www.wljslmz.cn:124.82.15.15
修改为www.wljslmz.cn:125.86.17.17
,其中125.86.17.17
是黑客的地址。 - 用户再次访问
www.wljslmz.cn
的时候,就神不知鬼不觉的访问黑客仿造的网站,这个网站和原网站一模一样。 - 这个时候黑客就能在屏幕前像看一张白纸一样看着你输入相关信息。
这就是DNS欺骗!
DNS欺骗对于黑客来说难度最大,因为想要达到这个攻击效果,首先要黑掉DNS服务器,这个难度是在现在的互联网世界中非常大,但是一旦攻破,那么后果将不堪设想。
以上就是三种中间人攻击拦截的方式。
下面我们再来讲一下第二个步骤:解密。
第二步:解密
数据被截获后,需要通过创建双向 SSL 流量进行解密。
解密很好理解,通过第一步,黑客已经能够获劫持到用户的数据,但是用户的数据一般都是加密的,如果不进行解密,那么数据对于黑客来说毫无意义,所以第二步就是要解密这些数据。
如图,黑客作为中间人截取到用户的数据后,进行解密操作,获取到了用户的银行卡信息、身份证信息、个人隐私信息等。
解密有好多种方式,一般常用的就以下三种:
下面我们用图解的形式了解一下这三种方式。
HTTPS 欺骗
HTTPS 欺骗可以让浏览器认为某个网站是安全且真实的,当用户连接到安全站点时,会向他们的浏览器发送虚假证书,从而会链接到黑客的恶意网站,一旦链接到黑客的恶意网站并且没有察觉,那么再加密的数据也跟一张白纸一样透明。
如图:
- 黑客通过某些手段给浏览器发送虚假证书,篡改浏览器的证书;
- 用户访问被污染的证书;
- 浏览器给用户的感觉是”安全“的;
- 用户再被污染的浏览器中输入敏感信息;
- 黑客轻松的看到相关敏感信息。
这就是HTTPS 欺骗。
SSL 劫持
黑客在连接过程中向应用程序和受害者发送伪造的身份验证密钥,这个操作是在TCP握手期间,如果用户没有察觉到,以为很安全,其实,黑客已经控制着整个会话。
如图:
- 黑客通过一些手段先黑进你的浏览器,给你的浏览器发送ca;
- 你安装黑客生成的ca;
- 你访问页面;
- 黑客拦截到你的请求;
- 黑客生成证书,并用ca进行签名;
- 由于浏览器已经安装好黑客的ca,此时已经信任黑客的ca,此时黑客可以完全看到你的数据信息;
- 你在浏览器中输入敏感信息;
- 浏览器将充当中继器的作用,源源不断的将你的信息传输到黑客的电脑上。
这就是SSL劫持。
SSL 剥离
从”剥离“这两个字就能看出应该是将安全的链接转为不安全的连接,其实SSL剥离就是干这样的事,黑客可以使用 SSL 剥离技术来捕获数据包并将其基于 HTTPS 的地址请求更改为等效的 HTTP,HTTP大家都只是纯文本的,没有任何安全可言,对用户来说连接到了不安全的站点,而黑客则保持与安全站点的连接。
如图,当你访问网站时,浏览器会连接到不安全站点 (HTTP),然后重定向到安全站点 (HTTPS)。
如果该网站不加密也能使用,那么黑客可以拦截你的数据包并强制建立 HTTP 连接,从而将登录凭据或其他敏感信息暴露给黑客。
这就是SSL 剥离。
如何避免中间人攻击?
中间人攻击得场景还是蛮多得,而且非常常见,那么平时我们应该如何避免中间人攻击呢?
- 不乱点可疑链接 ⭐
这个其实很重要,可疑链接有时候很明显,比如我们得短信,有时候会收到很明显带有诱惑性的短信,你明知道有猫腻你还去点,那么中招的不是你还能有谁呢?所以我们自己就得要做到不乱点,不要做一只好奇的猫,毕竟我们都是有技术的成年人。
- 谨慎使用公共WiFi ⭐
这个同样重要,很多人中枪中间人攻击,绝大部分都是因为连接了恶意的公共WiFi,试想一下,你连接了一个别人恶意假造的WiFi,结果你的聊天信息、各类软件密码信息、银行卡信息都跟明文一样展示在背后的电脑屏幕中,你的阴影面积得有多大?
所以,连接公共WiFi时一定要谨慎再谨慎,如果有必要,最好不要连公共WiFi!
- 使用安全的协议
这里指的就是HTTPS,现在大多数网站都是HTTPS安全的网站,当然了,考虑到HTTPS欺骗攻击,我们只有HTTPS是远远不够的,我们还得考虑配置 HTTP 严格传输安全,也就是HSTS,HSTS要求所有子域使用 SSL,这样的话服务器能够拒绝不安全的连接,HTTPS欺骗和SSL 剥离等攻击都会显得很弱小。
- 保持良好的密码习惯
你是不是每个支付软件、网银的支付密码都相同?你是不是每个聊天软件、论坛、网站等密码都相同,或者跟自己的个人身份信息相关?
如果是,建议你要注意一下,最好不要设置完全相同的密码,或者说密码设置一定要复杂,这样的话会给黑客带来很大的攻击成本。
- 恰当的安装防病毒软件
这个主要是针对Windows系统和安卓系统,我们不要吝啬那么点内存空间,虽然说防病毒软件不能保证100%的安全,但是作为个人的我们,黑客是不会花那么大代价去攻击你,所以防病毒软件能够防止绝大数常见的病毒。
总结
中间人攻击(MITM)是个非常常见的攻击方式,一旦我们没有做好基本的防范工作,不法分子就会乘虚而入,掌握中间人攻击的基本原理和防范中间人攻击的手段是非常有必要的。
本文主要介绍了中间人攻击的以下内容:
- 什么是中间人攻击?
中间人攻击的步骤
- 第一步:拦截
- 第二步:解密
- 如何避免中间人攻击?
最后感谢您的阅读,如果觉得文章对您有帮助,别忘了点赞👍、收藏⭐哦!有任何问题,欢迎在下方评论区与我讨论!!!