当前位置: 早知道-热集合 > 正文

防不胜防,中间人攻击有多可怕,我们来实践一下


前两天母上大人的手机里面出现了不知名的VPN加速软件,给大家写出来之后很多人就会觉得iN在危言耸听。例如就有这些回复:

其实,任何技术都是有两面性的,如果对一项技术不了解或者极度鼓吹,往往会出问题的。尤其是很多小白用户,觉得听到了某些人提到的某个技术在某一个方向上有优势,就忽略掉了这些技术所带来的危害。甚至在别人提出这些危害的时候,还有鸵鸟心态。

今天咱们就简单的说说中间人攻击,以及你的网络流量是如何被劫持的。

前两天说了,中间人攻击是指在一个网络路径上出现了一个“中间人(攻击者)”,攻击者悄悄的中继了两端互信的通信。

这里有一个关键的东西叫做“互信”,其实是网络上各种服务器和客户端的相互信任机制。我们的安全通信就建立在这种“信任”上。

但这种信任其实都是相当盲目的。说个生活中的例子。iN所在城市中,自来水的TDS数值在145-160之间波动,虽然说没什么太大的问题,但是iN依旧还是装了净水器,把自来水的TDS数值控制在0-15之间。因为什么呢?觉得水里面的杂质过多,心里面觉得不安全,哪怕是用来洗澡都是觉得难以接受的。

但是,日常喝的呢,就是这种矿泉水:

前天刚邮寄过来的,快递点放了的时间长了,还给冻裂了,正在等商家换货……

这种矿泉水的TDS高达450多,但iN依旧是敢于往嘴巴里灌的。

这里就是一个信任的问题。自来水的TDS只有140,但不知道里面的杂质是什么不可信,矿泉水有品牌保证,即便TDS高达450,也是属于一个可信范畴。这种信任仅仅来自于对厂商的公信力的认可。是不是很盲目?

在互联网上你可能会信任某个商家或平台为你提供的服务,也是基于这种盲目的信任。这个东西和技术并没有太大的关联性。都是以厂商平台自己的信用度做背书的。

你可以暂且相信联通不会偷你的数据;也可以暂且相信微软不会偷你的数据;甚至可以暂且相信某个网站不会偷你的数据……

如果这种天真的“相信”都能成为大家的安全保障,那么《中华人民共和国个人信息保护法》也就完全没有立法的必要性了。现在呢?事实不言而喻吧?在这个基础上我们又选择相信《中华人民共和国个人信息保护法》……这些都是正途,但要记得法外狂徒张三的存在。

现代的网络架构,基本上都是仅仅防君子不妨小人的。

那么来,做下小人的范例,iN这里有一台简单的小路由器。咱们在这台小路由器上动动手脚:

如果我们想访问支付宝,那么我们就要经过家里的电脑-家里的路由器-小区的宽带-运营商的宽带-IDC机房-支付宝的服务器。

我们ping一下支付宝,在iN的所在位置支付宝的IP地址是这样返回的:

访问支付宝,你可以看到这样的界面:

在小路由器上动下手脚先劫持一下DNS的查询,让一台伪装过的假的DNS服务器来提供域名解析:

这个过程很简单,仅仅需要将用于DNS查询的53端口上的UDP数据包转向到伪装的服务器上就可以做到。

过滤出53端口上的数据包,将这些数据转发给伪装的DNS地址(172.16.149.153),

一方面这个DNS再次转发数据到正确的DNS上,可以让用户完全正常的使用网络。另一方面则对重点要监视的DNS做一个截流,这里做的就是利用这个DNS把支付宝的域名指向到iN自己的一台主机上。

这时候,iN自己网络内的这台小主机就可以冒充支付宝了。所有的对于支付宝主机的访问就转移到了iN自己搭建的页面上

在这个页面中,你还可以看到支付宝的“小锁头”依然存在,其实也是利用了一个中间人的方式劫持了SSL证书,当然了,这个事情就别说太细了。

真正的攻击者绝对不会给你一个和目标网站不同的界面,而是会力求页面的效果相同。

这是一个假的登录页面,大家看下有啥线索?

并且这种方法的后端还可以利用真实的SSL证书接入到正确的网站上,你使用的时候丝毫不会有任何感觉。

这时候你就可能在上面输入自己的用户名密码,或者按照这个假网站的引导来做对方希望你做的事情。

有个读者在之前的文章中留言:

以“从业者”的身份来说事情,但是谁会全盘记录所有的信息呢?往往真正的信息窃取都是抓重点的,反正信息窃贼并不关心你刷抖音的流量,仅仅关注你和几个银行以及网络支付平台的数据交换就足以了。这些致命的数据一天也没有多大的数据量。真正做起来也相当的简单随意,并不需要太多的技术含量。所以大家以为这些张三们不会做这种事情吗?天真了吧?

回顾一下我们是怎么访问支付宝的,要经过家里的电脑-家里的路由器-小区的宽带-运营商的宽带-IDC机房-支付宝的服务器。

家里的电脑有可能有木马或者病毒,并不安全。

家里的路由器,这就得说说了——很多人搞软路由,你的路由器里面运行的固件是哪里来的?来源可信吗?不明白什么意思?去搜索下:“openwrt被挖矿了”

你以为家里的软路由仅仅被通过漏洞或直接嵌入了挖矿代码吗?这里的网络黑洞比你想象的要大得多。

在很多官方的固件下载页面中不仅仅为你提供了相关的固件,还提供了这个文件的MD5或者SHA256指纹信息。

为什么要增加后面这一段晦涩难懂的16进制指纹呢?主要就是为了验证你下载的固件是开发者编译后一个字节都没有更改的原始固件。

不过……某些固件下载网站上的文件:

相同版本的固件不仅仅隐去了SHA256指纹,而且文件的大小也不一样,里面是增加了功能还是减少了内容就不得而知了。如果敢用这种固件的伙计们还就真叫胆肥了。你知道里面有啥“贴心”的小功能吗?

软路由固件毕竟是装在家里的软路由上,还存在一点点可控性。但是梯子呢?本身梯子的提供商就都是在阴暗的角落里生存的准犯罪份子。你指望黑产能给你提供安全保障?是不是又有点天真了呢?

梯子的另一端并不直接是你想访问的站点,而是黑产从业者的机房。无论你是找机场还是自建机场,很可能你要面临的是一开始iN给大家做的那个示范。

能防范吗?其实也能,例如iN自己,在家里的路由器上是设置很多规则的。

特定域名、特定端口、特定内容实际上都会严格限制数据流动方向。但这些工作的维护量很大很大,一般家庭用户根本没有办法负担得起来。这也就导致iN的方式对于大家来说还不如不用。而且,iN即便是做了这些设置也从来没有认为过自己的网络是安全的网络。

当然了你也可以在情绪上欺骗自己,让自己觉得家里的软路由、梯子什么的东西是安全的。

最新文章