当前位置 博文首页 > 文章内容

    局域网流量劫持后利用 揭秘详解黑客劫持的攻击手段与防御方法

    作者:ccxjianye09 栏目:网站安全 时间:2020-12-09 15:13:48

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



         流量劫持是一种古老的网络攻击手段,在沉寂了一大段时间后,最近又开始闹的沸沸扬扬。众多知名品牌的路由器相继爆出存在安全漏洞,引来国内媒体纷纷报道。只要用户没改默认密码,打开一个网页甚至帖子,路由器配置就会被暗中修改,互联网一夜间似乎变得岌岌可危。

         攻击还是那几种攻击,报道仍是那千篇一律的砖家安全提醒,以至于大家都麻木了。早已见惯运营商的各种劫持,频繁的广告弹窗,大家也无可奈何。这么多年也没出现过什么损失,也就睁只眼闭只眼。

         事实上,仅仅被运营商劫持算是比较幸运了。相比隐匿在暗中的神秘黑客,运营商作为公众企业还是得守法的,弹窗广告劫持虽无节操但还是有底线的。这不,能让你看见广告了,也算是在提醒你,当前网络存在被劫持的风险,得留点神;相反,一切看似风平浪静毫无异常,或许已有一个天大的间谍潜伏在网络里,随时等你上钩 —— 这可不是弹广告那样简单,而是要谋财盗号了!

    我会被劫持吗?

         不少人存在这样的观点:只有那些安全意识薄弱的才会被入侵。只要装了各种专业得牛逼闪闪的防火墙,系统补丁及时更新升级,所有的密码都设置得很复杂,被入侵的肯定是轮不到我了。

         的确,安全意识强的自然不容易被入侵,但那只对传统的病毒木马而已。而在流量劫持面前,几乎是人人平等的。网络安全与传统的电脑操作系统安全不同,网络是各种硬件设备组合的整体,木桶效应尤为明显。即使有神一样的系统,但遇到猪一样的设备,你的安全等级瞬间就被拉低了。现在越来越流行便宜的小路由,它们可是承载着各种网银、支付宝等等真金白银的交易流量,你能放心使用吗?

         即使你相信系统和路由器设备等都绝对可靠,就能高枕无忧了吗?事实上有问题的设备并不多,但出问题的事却不少,难道其中还存在什么缺陷?没错,还遗漏了最重要的一点:网络环境。

         如果网络环境里有黑客潜伏着,即使有足够专业的技术,是在所难逃了,敌暗我明,稍不留神就会落入圈套。当然,苍蝇不叮无缝的蛋。有哪些隐患导致你的网络环境出现了裂缝?太多了,从古到今流行过的攻击方式数不胜数。甚至可以根据实际环境,自己创造一种。现在回忆下尝试过的劫持案例。

    上古时代:

         Hub 嗅探         

         MAC 欺骗        

         MAC 冲刷        

         ARP 攻击         

         DHCP 钓鱼      

         DNS 劫持        

         CDN 入侵        

    中世纪:

         路由器弱口令    

         路由器 CSRF     

         PPPoE 钓鱼       

         蜜罐代理           

    工业时代:

         WiFi 弱口令       

         WiFi 伪热点       

         WiFi 强制断线    

         WLAN 基站钓鱼 

    Hub 嗅探

         集线器(Hub)这种设备如今早已销声匿迹了,即使在十年前也少有人用。作为早期的网络设备,它唯一的功能就是广播数据包:把一个接口的收到的数据包群发到所有接口上。且不吐槽那小得惊人的带宽,光是这转发规则就是多么的不合理。任何人能收到整个网络环境的数据,隐私安全可想而知。

         嗅探器成了那个时代的神器,只要配置好过滤器,不久就能捕捉到各种明文数据,用户却没有任何防御对策。 防范措施:还在用的赶紧扔了吧。

         这种设备目前唯一可用之处就是旁路嗅探。利用其广播的特性,可以非常方便用于分析其他设备的通信,例如抓取机顶盒的数据包而不影响正常通信。

    MAC 物理地址欺骗

         交换机的出现逐渐淘汰了集线器。交换机会绑定 MAC 地址和接口,数据包最终只发往一个终端。因此只要事先配置好 MAC 对应的接口,理论上非常安全了。

         不过,很少有人会那么做,大多为了偷懒,直接使用了设备默认的模式 —— 自动学习。设备根据某个接口发出的包,自动关联该包的源地址到此接口。然而这种学习并不智能,甚至太过死板,任何一个道听途说都会当作真理。用户发送一个自定义源 MAC 地址的包是非常容易的,因此交换机成了非常容易被忽悠的对象。只要伪造一个源地址,就能将这个地址关联到自己的接口上,以此获得受害者的流量。

         不过,受害者接着再发出一个包,绑定关系又恢复原先正常的。因此只要比谁发的频繁,谁就能竞争到这个 MAC 地址的接收权。如果伪造的是网关地址,交换机就误以为网关电缆插到你接口上,网络环境里的出站流量瞬间都到了你这里。

         当然,除非你有其他出站渠道,可以将窃取的数据代理出去;否则就别想再转发给被你打垮的真网关了,被劫持的用户也就没法上外网。所以这招危害性不是很大,但破坏性很强,可以瞬间集体断网。

         防范措施:机器固定的网络尽量绑定 MAC 和接口吧。貌似大多数网吧都绑定了 MAC 和接口,极大增强了链路层的安全性。同时,独立的子网段尽可能划分 VLAN,避免过大的广播环境。

         大学里见过千人以上还不划分 VLAN 的,用一根短路网线就可以毁掉整个网络。

    MAC 冲刷

         之前说了集线器和交换机的转发区别。如果交换机发现一个暂时还未学习到的 MAC 地址,将会把数据包送往何处呢?为了不丢包,只能是广播到所有接口。

         如果能让交换机的学习功能失效,那就退化成一个集线器了。由于交换机的硬件配置有限,显然不可能无限多的记录地址对应条目。我们不停伪造不重复的源地址,交换机里的记录表很快就会填满,甚至覆盖原有的学习记录,用户的数据包无法正常转发,只能广播到所有接口上了。

         防范措施:还是 MAC 和接口绑定。一旦绑定,该接口只允许固定的源地址,伪造的自然就失效了。当然,好一点的交换机都有些策略,不会让一个接口关联过多的 MAC 地址。

         曾经在家试过一次,捕捉到小区内用户上网的流量。不过伪造包发的太快,~15万包/秒,更致命的是发错目标地址,发到城域网准入服务器上,导致工作人员切断了整个小区半天的网络... 所以必须得选一个 VLAN 内的、并且实际存在的地址做为目标 MAC,以免产生大量的数据风暴。

    ARP 攻击

         这种攻击大家几乎都听出老茧了,即使不懂电脑的人也知道装个 ARP 防火墙 保平安,其危害之大可想而知。简单的说,ARP 就是广播查询某个 IP 对应的 MAC 地址,在用这个 IP 的人回个声。知道这个 IP 对应的 MAC 地址,就可以链路通信了(链路层只能通过MAC地址通信)。

         如果有人冒充回复,并抢在正常人之前,伪造的答案也就先入为主。IP 被解析到错误的地址上,之后所有的通信都被劫持了。

         事实上,早期的系统还有个更严重的BUG:直接给用户发送一个 ARP 回复包,即使对方从没请求过,系统也会接受这个回复,并提前保存里面的记录。这种基于缓存的投毒,让劫持成功率更上一层楼。

         防范措施:由于这种攻击太过泛滥,以至大部分路由器都带了防 ARP 攻击的功能。客户端的 ARP 防火墙也数不胜数,似乎成了安全软件的标配。当然,系统也支持强制绑定 IP 与 MAC 的对应,必要时可以使用。

         很多教程都是用 Wireshark 来演示,事实上当年有一款叫 Iris 的软件非常好用,可以修改封包再次发送,用它可以很容易搞明白各种攻击的原理。不过N年没更新了还不支持64位的。

    DHCP 钓鱼

         现实中,并不是每个人都会配置网络参数,或者出于方便,让网络系统自动配置,自动分配IP地址设置DNS等。出于这个目的,DHCP 服务诞生了。

         由于没有配置IP地址、网关、DNS 等,在网络上是寸步难行的,因此首先需要从 DHCP 那获得这些信息。然而,既然连 IP 地址都没有,那又是如何通信的?显然,只能发到广播地址(255.255.255.255)上,而自己则暂时使用无效的IP地址(0.0.0.0)。(事实上,链路层的通信只要有 MAC 地址就行,IP 地址已属于网络层了,但 DHCP 由于某些特殊需要使用的是 UDP 协议)

         因为是发往广播,内网环境里的所有用户都能听到。如果存在多个DHCP服务器,则分别予以回复;用户则选择最先收到的。由于规则是如此简单,以至于用户没有选择的余地。

         尚若黑客也在内网里也开启了 DHCP 服务,用户收到的回复包很可能就是黑客发出的,这时用户的网络配置完全听天由命了,不想被劫持都难了。

         防范措施:如果是用网线上网的话,最好还是手动的配置。当然,管理员应该严格控制 DHCP 回复的权限,只允许交换机特定的接口才有资格发送回复包。

         只要是这类提问/抢答模式的,都面临被冒充回答的风险。很多原理都类似。

    DNS 劫持

         如同 ARP 将 IP 解析成 MAC 地址 一样,DNS 负责将域名解析成 IP 地址。作为网络层的服务,面对的用户更广泛,当然面临的风险也大的多。一旦遭到入侵,所有用户都倒霉了。近些年的重大网络事故无不和 DNS 有关。

         DNS 服务一旦被黑客控制,用户发起的各种域名解析,都将被暗中操控。将正常网站解析成黑客服务器的 IP,并事先开启了 HTTP 代理,用户还是能正常上网,并且几乎看不出任何破绽;只不过所有流量都是经由黑客的代理服务器收发的,因而黑客可以轻易获取各种明文传输的密码,比如各种网站账号信息都将一览无余。

         由于 DNS 服务器的重要性,现实中通常有着较高的安全防护,想入侵它系统不是件易事。但实际未必如此兴师动众,一些 DNS 程序本身就存在着设计缺陷,导致黑客能控制某些域名的指向。其中最恶名昭彰的当属 DNS 缓存投毒。

         大家或许已发现,域名->IP->MAC->接口,只要是动态查询的就会多一个环节,风险自然增加。灵活性与安全性始终是不可兼得。 防范措施:手动设置一些权威的 DNS 服务器,例如谷歌的 8.8.8.8,4.4.4.4 会靠谱的多。

         公网上的 DNS 劫持很少发生,但家用路由器的 DNS 劫持已泛滥成灾了。开头报道的路由器漏洞,最终的利用方式也就是修改了 DNS 地址。

    CDN 入侵

         CDN 能加速大家都知道,但其中原理不少人都不清楚。其实,CDN 本身就是一种 DNS 劫持,只不过是良性的。不同于黑客强制 DNS 把域名解析到自己的钓鱼 IP 上,CDN 则是让 DNS 主动配合,把域名解析到临近的服务器上。这台服务器同样也开启了 HTTP 代理,让用户感觉不到 CDN 的存在。

         不过 CDN 不像黑客那样贪心,劫持用户所有流量,它只『劫持』用户的静态资源访问,对于之前用户访问过的资源,CDN 将直接从本地缓存里反馈给用户,因此速度有了很大的提升。然而,只要是有缓存的地方,都是大有可为的。一旦 CDN 服务器遭受入侵,硬盘上的缓存文件就岌岌可危了,网页被注入脚本,可执行文件被感染,一大波僵尸即将出现。

         防范措施:感觉运营商不靠谱的话,换个第三方不带加速的 DNS,或许就不会解析到 CDN 服务器上了。

         不少 CDN 黑白通吃,为了省流量不按套路出牌,超过了缓存时间也不更新,甚至还有忽略 URL 问号后面的,导致程序猿们在资源更新的问题上头疼不已。

    路由器弱口令

         当电脑价格一再下降,到了大家打算买第二台的时候,路由器市场也随之火热起来。但由于繁琐的配置,差劲的用户体验,至今仍有相当部分的用户不明白如何配置路由器。192.168.1.1 和 admin/admin 几乎成了国内路由器的常量。多少回,用这毫无技术含量的方法进入网吧或图书馆的路由器后台。

         如果有人恶搞重启路由,或者给他人限速,你得感谢他的仁慈,这都算不严重。要是把路由器的DNS给改了,那就相当严重了!公网的 DNS 劫持一般不会持续太久,但路由器的 DNS 劫持也许长年累月都不会觉察到。

         事实上,不乏一些安全意识强的用户也使用默认密码。理由很简单,目前的路由器有两道门槛:一个 WiFi 连接密码,另一个才是管理密码。很多人设置了复杂的 WiFi 密码就高枕无忧了,心想都连不到我的网络里怎么可能进的了后台?

         之前我也有过这观念,但总觉不对劲:万一家里其他电脑或手机中毒了,自动尝试用弱口令爆进路由器后台怎么办。城门都被占领了,城墙再牢固又有何用。

         事实上,黑客除了修改 DNS 配置外,还有更恐怖的行为:升级路由器的固件 —— 替换成一个看似完全相同但植入了恶意程序的固件!尽管这目前还尚未普及,然而一旦流行,大批路由器将成为潘多拉魔盒。

         防范措施:千万别轻视路由器的密码,其实它比你所有账号都重要。

         不改默认密码的用户,神都保佑不了你~

    路由器 CSRF

         回到本文开始所说的,为什么有那么多路由器会出现这个漏洞呢?也许是路由器的开发人员太高估用户了,认为绝大多数用户都会去修改了默认密码,因此 CSRF 几乎难以产生。事实上,国内网民的安全意识远超他们的想象。加上刚才说的,只设置了 WiFi 密码而忽略了管理密码,导致一个恶意程序就能悄悄进入路由器后台。没想到现在这种病毒还真出现了,而且居然还是 Web 版的!

         CSRF 漏洞让病毒木马都用不着了。用户直接访问一个网页,甚至是一帖子,浏览器就会自动向路由器发起修改配置的请求。由于国产路由器的网页开发是如此的差劲,登录基本都是用既不安全又丑陋的 HTTP 401 弹框。这种登录只需在 URL 里填上『用户名:密码@』即可自动通过,即使登录失败也不会有什么提示。

         防范措施:绝对要看管好路由器密码,并且定期去检查配置是否被篡改。

         看过路由器页面源代码会发现,那简直是惨不忍睹,甚至还是 IE5 时代的风格。路由器芯片都是采购的,内核也有开源的,所谓的『自主研发』就是做了那几个页面?

    PPPoE 钓鱼

         好了,不吐槽路由器了,下面说说再高级的路由器也无法避免的事。除了一些大公司或学校,用的是固定的专线接入上网,个人或者小组织很少会使用这种土豪级套餐,只能老老实实的拨号上网 —— 无论是电信,还是网通铁通各种通。

         不少人都存在误区,认为拨号是物理信号的建立过程,在没有拨上之前,点对点是不通的。如果真是这样,那么拨号时账号密码是如何传过去的呢?显然不可能。事实上,终端之间时刻都是畅通的,只不过不拨号就无法得到IP、网关、会话等参数,即使强制把包发给网关,人家虽能收到,但没有认证的会话是不予理睬的,你自然没法上网。

         PPPoE,大家经常在拨号时看到这词。Point-Point Protocol over Ethernet,故名思议,就是点对点的协议:用户发送账号密码认证给终端(BRAS),并得到上网 IP、网关地址、会话等。而且协议是基于以太网的,哪怕线路不是,也得想办法把数据封装进去。

         传统的 ADSL 是通过电话线上网的,于是需要一个『猫』来把以太网数据调制成电话信号,最终通过电信交换机传输。这种设备保障每家每户都是独立的,以免电话信号被窃听。

         然而,后来兴起的各种通就不一定了。不少打着的『千兆到楼,百兆到家』的宽带,就是建了N个小区局域网,然后合并到一个大的城域网(MAN)里。所谓的『百兆』,无非就是拖进你家的那根网线插在楼下一个 100Mbps 的交换机上而已。

         用过网通的都知道,百兆带宽并没有快到哪里,甚至在一些南方地区网速慢如蜗牛。但在下载的时候,却能轻松飙到数兆每秒。这时局域网的作用就发挥出来了,如果附近有多个人在看同样的视频,P2P 就直接在内网里共享流量了,大幅减轻了节点的压力。

         但是,整个小区成了一个局域网,是多么的不安全。有时甚至不合理的 VLAN 划分,导致多个小区成一内网。要是有人开启 DHCP 服务,其他用户插上网线就能上网了,连拨号都不用,难道天上掉馅饼了?如果敢吃,那可能就落入黑客的陷阱了。

         当然,现在直接插网线的并不多,基本通过路由器自动拨号了。但他们的协议都是一样的 —— PPPoE,一种极不安全的协议。

         类似 DHCP 协议,PPPoE 也是通过广播来探寻有哪些可用的终端,意味着整个小区的内网用户都能收到;同时探寻包一直往上冒泡,直到被城域网的终端们收到,然后开始纷纷回应。

         如果小区里有人私自开启一个 PPPoE 终端服务,显然是最先被收到的。真正的回应包还在大街小巷里传递着,用户和黑客已经开始协商认证了。

         不过或许你会说,这必须有人拨号才能上钩,现在都用路由器,长年累月不会断开。如果不想耐心等,也有很简单的方法:来一次集体掉线。刚刚说过,可以用短路的网线,引发一场广播风暴。不过这太过暴力了,甚至会引起流量异常的报警。我们可以使用更简单有效的方法:MAC 欺骗,不停伪造终端服务器的 MAC 地址,就可以将小区用户的数据包统统吸过来了。

         PPPoE 使用的是一种隧道方式,将任何数据都封装在其栈下,因此捕捉到用户任意一个包,即可得到 PPPoE 栈上的会话 ID。然后冒充终端,向用户发送一个『断开连接』的指令,用户就乖乖下线了。使用这种方法,分分钟就能让整个小区的用户重新拨一次号,于是可以快速钓鱼了。

         还有更糟的是,PPPoE 绝大多数时候都是明文传输用户名和密码的,因此还能额外获得用户发来的认证账号。

         前面吐槽了大学寝室楼 1000 多机器还不划 VLAN 的,于是写一个简单的 PPPoE 模拟器,就能轻松抓到整个网络环境里的上网账号。(还支持一键全都拨上,集体下线的恶作剧功能~)

         防范措施:由于 PPPoE 的安全严重依赖物理层,所以尽量不要装以太网接入的宽带。当然,管理员们应该严格限制 PPPoE 搜寻回复包,就像 DHCP 那样只允许特定接口出现。事实上小区内部是不可能出现 BRAS 服务器的,因此只允许交换机的 WAN 口出现回复包,那样就不容易被钓鱼了。

         PPPoE 还有个更严重 BUG,会话 ID 只有 2 字节,最多 65536 种可能。事先构造个『拨号断开』的请求包,接着把会话 ID 依次遍历一下,就能让某个终端服务器的所有用户下线。如果事先收集好所有终端服务器地址,可以发起一次全城断网- -

         这个 BUG 应该早已经修复了,只需绑定 <会话 ID,用户 MAC,小区 VLAN-ID> 关系即可。而且一个小脚本就能断开全城各县市的网络,说明终端部署不能太过集中。

    蜜罐代理

         由于众所周知的原因,某国对代理的需求居高不下。不管黑的白的,透明的还是高匿的,只要能翻出去就是好的。VPN 需要用户名密码以及各种认证,中途被劫持几乎是不可能的。黑客抓住了人们的纯真的心里,将目光转到代理上面。的确,加密后的数据中途确实难以劫持,但最终仍要在服务端还原出真实内容吧。如果一时大意,连接了某个免费的 VPN,或许就登上了黑客的贼船了。

         相比 HTTP 代理只影响部分功能,VPN 将整个系统的流量都通过穿越过去了。而这一切应用程序并不知晓,仍然将一些重要的数据往外发送,最终被黑客所劫持。

         防范措施:不要贪图小利,用那些打着免费幌子的代理。天下没有免费的午餐。

         很多蜜罐代理未必是黑客布下的,而是你懂的。

    WiFi 弱口令

         当互联网延伸到移动设备时,网线成了最大的累赘,无线网络逐渐进入人们视野。如今,由于无线的廉价和便利,几乎应用到所有的便捷设备。一切都不再受限制,人们可以随时随地上网,这是过去难以想象的;黑客也可以随时随地发起攻击,这是过去梦寐以求的。

         但无论上网方式如何变化,以太网始终是网络的核心。如同刚才说的 ADSL,尽管载体是电话线路,但最终解调出来的仍是以太网数据。WiFi 也一样,无论电波怎样传播,最终只有还原出标准的以太网封包才能被路由。

         无线网络形同一个看不见的巨大集线器,无需任何物理传播介质,附近所有人都可以收听数据信号,专业设备甚至能在更远处直接捕获。如果没有一种强有力的加密方式把数据封装起来,那么就毫无隐私可言了。

         在经历了各种加密被攻破后,WPA2 如今成为无线网络标准加密算法。如果企图通过传统爆后台那样,一次次的尝试弱口令去连接,那效率将是何其的低下。

         和拨号不同,WiFi 用户首先需『关联』热点,以建立起物理通道。类似 PPPoE 那样,WiFi 在认证之前也是可以通信的,并且是明文数据 —— 不过,这仅仅是认证数据包明文而已,真正密码显然不会出现在其中。毕竟它和拨号的目的完全不同:一个是为了加密之后所有的流量,而后者仅仅识别下你有没有上网的权限。

         通过传统的嗅探工具,可以方便获取这些握手通信包。尽管找不出密码,但里面保存着密钥初始化相关的数据。通过专业的 WPA2 破解工具,加上丰富的密码字典,有相当一部分的无线网络,能在可接受的时间里被破解。

         对于不少人来说,无线密码是他第一道也是唯一一道防线。连上之后,不出意外即可轻易进入路由器后台,然后就可以控制他整个内网的流量了。

         防范措施:最简单也是最有效的方法:给密码加些特殊符号。

         如果给他的路由器刷一个固件,能自动破解其他的无线网络,破解之后自动进后台,自动给它升级自己的固件。。。排山倒海的路由器木马爆发了。

         WiFi 热点钓鱼

         上面简单的说了无线密码的破解。但若本来就知道密码的情况下,又如何发起入侵呢?这种场合很常见,在一些商场、餐厅、旅馆等地方,无线网络即使有密码,大家一般也能在墙上或卡片上找到,处于半公开的状态。或者是破解了邻居的无线密码,但无法进入路由器后台,又该如何继续?

         如今越来越智能的无线设备,已能很好的防御诸如 MAC 欺骗以及 ARP 攻击这类原始入侵了,因此需要一个更先进和隐蔽的方式,能绕过网络设备,直接发起点对点的进攻。

         在大公司或大商场上过无线网的用户会发现,在室内无论走到哪里网络都存在,即使从一层到五层信号照样满格,而在自己家中信号隔墙就下降不少。难道是开了信号特别强大的热点吗?但在建筑外面却收不到。事实上,不难发现每层楼天花板上,都吸附着不少盘子似的东西。没错,正是这些分布在各处的设备,覆盖了整栋楼的无线网络,让信号死角变得更少。

         但是同时存在那么多热点,搜索列表里显示的却没有几个。因为他们都有着同样的热点名(SSID),客户端通常会将同名热点合并成一个。至于连接时,系统会选择信号