Part1 前言 

在世界杯举办期间,链路劫持的攻击风险估计会升高很多。链路劫持攻击是各类应急响应事件中危害比较大的,溯源起来有一定的难度,很多新手会感觉无从下手。本次ABC_123就分享一个自己曾经做过的真实的链路劫持分析案例。

 Part2 前置基础知识 

为了照顾一下新手朋友,我在这里给出链路劫持分析的前置基础知识,这些基础知识看不懂,后面的分析过程也是看不懂的。已经了解的同学可以直接跳过这一部分。

  • 链路劫持定义:

链路流量劫持,是一种针对骨干网等关键信息基础设施的互联网链路的网络攻击方式,利用网络链路和节点,架设服务器部署攻击程序,实现对用户的互联网数据的分析和修改,替换或嵌入有害链接,从而实现不法获利。

链路劫持多用于篡改HTTP响应数据包,然后投放游戏、色情、博彩等领域广告,或者重定向进行网络钓鱼,捕获用户的正常流量,窃取用户敏感信息,进行广告推广及电信诈骗。攻击者可能是黑客,也可能是有相关权限的内部工作人员

  • IP数据包中TTL作用

TTL(TimeTo Live)生存时间值,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器会把该TTL的值减1,然后再将IP包转发出去。Linux给数据包的默认ttl是64,Windows系统是128,Unix系统是255。设计这个TTL值最初是为了防止环路产生。

  • IP数据包中Identification作用

对于给定地址和协议的ip包来说,它的唯一识别码identification是公差为1的单调递增数列。当程序产生的数据长度超过网络 MTU 而需要分片时,则把标识字段的值复制到所有分片数据包中,最后目的设备才能依据标志字段而正确的重组数据包。因此该字段可以唯一标识某个IP报文

 Part3 溯源分析过程 

  • 事件背景

某运营商的不少宽带用户反映,访问www.xxx.com(真实的域名就不贴出来了)等网站后,会跳转到一个博彩页面,运营商客户请求我们协助进行溯源分析。

如下图所示:访问www.xxx.com后,服务器返回包中被插入了一段js代码,接着跳转到一个博彩站。(以下截图为虚拟机截图)

  • 获取不同区域的流量包

首先,我们找了10多位同事、网友帮忙测试,分别涵盖了移动、电信、联通3大运营商的宽带网及手机热点,让大家用各自的家庭宽带及手机热点去访问www.xxx.com,然后统计哪些同学访问此网站会发生异常行为。这样做目的就是查看异常流量包的影响范围,也可以大致确定攻击手段

最终发现仅有其中一个运营商的用户,而且尽在一个省的网络环境下,访问www.xxx.com网站会出现跳转到博彩网站,而且家庭宽带及手机热点均会发生异常(为了规避风险,真实的运营商及省市就不写出来了)。由此大致猜测,链路劫持的可能性大,而且是一个区域性的链路劫持。

  • 分析异常数据包

接下来使用wireshark抓取一个异常的数据包进行分析,很快发现了异常。同一个http请求,却返回了两个数据包,先到的返回数据包中,被插入了恶意js链接,后到的返回数据包没有被篡改,但是已经被丢弃了。至此基本上确定是链路劫持了。

进一步分析,发现这两个返回数据包的TTL值差别较大,第一个返回数据包的TTL值是56,与上述数据包差别较大,不符合逻辑,第2个正常返回包的TTL值是51。这说明劫持者将篡改后的数据包先于正常的数据包提前给用户返回,导致正常的返回包被丢弃。因为伪造的第一个返回数据包先到,所以正常的返回数据包就被丢弃了。

  • 找到出问题的路由节点

这里以www.baidu.com为例子演示吧。如下图所示,数据包由我本机到www.xxx.com,经过了13个路由节点,初始TTL值假设是64,那么最终正常的返回包的TTL值是64-13=51,这一点与wireshark抓包结果相符合。

而伪造异常返回包的TTL值是56,假设劫持者发送数据包的初始TTL值是64,通过计算64-56=8,说明劫持者的位置与我本机相隔8个路由节点,那么出问题的节点应该是在如下图所示的第9个节点。

通过简单的计算,我们很快就找到了问题路由节点,但是溯源真的到此就结束了吗?没那么简单,有时候攻击者会将TTL值进行伪造,不用默认的64、128或者255。在TTL值被伪造的情况如何溯源出异常路由节点呢?请关注本公众号,敬请期待文章《某运营商链路劫持(被挂博彩页)溯源异常路由节点(下篇)》。

 Part4 总结 

1.  链路劫持攻击是不太可能彻底解决的,对于网站管理者来讲,最有效的解决办法就是全站开启https了,同时要选择可靠的https证书。

专注于网络安全技术分享,包括红队攻防、蓝队分析、渗透测试、代码审计等

每周一篇,99%原创,敬请关注

第32篇:某运营商链路劫持(被挂博彩页)溯源异常路由节点(上篇)相关推荐

  1. 运营商 html劫持 原理,细数宽带运营商常见的几种http劫持行为

    什么是http劫持:http劫持就是第三方(宽带运营商)在你和网站建立交互过程中劫持了你的请求,并返回错误页面的行为,宽带运营商作为基础电信网络服务提供者, 掌握着用户通往互联网大门的钥匙,用户的所有 ...

  2. linux 劫持广告技术,屏蔽运营商广告劫持 - gcudwork的个人空间 - OSCHINA - 中文开源技术交流社区...

    在今天早上我查找知乎时再次遇到了恶心的运营商广告劫持,右下角硕大的广告直接让知乎挂掉了,我刷了五次知乎才好,之前休息的时候逛知乎也是多次加载错误,估计也是这劫持的锅,相信各位也遇到过不少的运营商劫持插 ...

  3. 修复运营商网站劫持,Win8.1怎么修改DNS

    说到运营商网站劫持,相信大多数读者也是身受其害,今天Win8迷:整理下,Win7.Win8.Win8.1系统下如何修改系统的DNS服务器,以及为自己的网络挑选最佳的DNS,轻松上网. 什么是DNS劫持 ...

  4. 防治运营商HTTP劫持的终极技术手段

    运营商HTTP劫持(非DNS劫持)推送广告的情况相信大家并不陌生,解决的方法大多也是投诉增值业务部门进而投诉工信部.但这种方法费时费力,投诉接听人员并不了解情况导致答非所问的情况有很多,有时候不但受气 ...

  5. 运营商 html劫持 原理,域名劫持、运营商流量劫持的现象及分析

    1.域名劫持 现象就是,打开网站的页面,会出现莫名的跳转到站内或站外其他的网址.或者直接显示了站外的内容. 判断方法,更换其他绑定您网站的域名来访问,看是否正常.如果其他域名访问正常,应该基本确定是被 ...

  6. 如何防止运营商网络劫持,避免被他人强行插入广告?

    主要的网络劫持形式: 近年来流量劫持(运营商网络劫持)频频发生,各种方式也是层出不穷,易维信-EVTrust总结各种网络劫持现象和其带来的危害 1.域名劫持,用户想要访问网站A,域名却被解析到其它地址 ...

  7. 你可能已经被运营商http劫持了

    IIS7.COM网站劫持检测 1.检测网站是否被劫持 2.域名是否被墙 3.DNS污染检测 4.网站打开速度检测 5.网站是否被黑.被入侵.被改标题.被挂黑链 [深度检测] 1.可以检测多层js劫持. ...

  8. 防止被运营商DNS劫持 作者:zzc

    文章目录 网络环境 一.网络劫持 怎么劫持网络 互联网劫持 国内公共DNS 国外公共DNS **想用DNS来访问Google是不可取的** 网络环境 这部分不会多写,仅供个人娱乐 一.网络劫持 在家用 ...

  9. HTML5页面被运营商DNS劫持问题及解决方案,app中h5页面源码的获取

    App应用的html5页面经过运营商的移动网络(非wifi网络),被强制插入广告和手机管家的多余信息,在有些场景严重干扰用户的操作,也产生在美丽的页面上加入了不协调的悬浮层.并且这个手机管家类的悬浮层 ...

最新文章

  1. ML之xgboost:解读用法之xgboost库的core.py文件中的get_score(importance_type=self.importance_type)方法
  2. Angular 2 DI系统中 函数forwardRef 的作用?
  3. 【Python基础知识-pycharm版】第十一节-文件操作(IO技术)
  4. 二叉树前序遍历、中序遍历、后序遍历手稿
  5. 关于线程轮流打印0-99
  6. 天线远场定义_高频电磁仿真软件的选型和评估(天线、雷达、电路与器件、无线电总体等)——探讨分享,思路梳理...
  7. 网页版bpc电波对时_BPC电波对时app下载|BPC电波对时安卓版下载 v1.04 - 跑跑车安卓网...
  8. 【学习】从零开始的Android音视频开发(6)——MediaPlayerService中BinderDriver、创建播放器过程、建立StageFright层交互
  9. Jetson Nano python中文语音播报数字距离 基于pyttsx3
  10. 基于国密算法SM2非证书标识公钥密码技术(IPK)
  11. 3dmax2022新功能特性-3ds max2022中文版安装包安装教程
  12. ImportError: _C.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops6narrow4callERKNS_6Ten
  13. 【Unity Shader】(十) ------ UV动画原理及简易实现
  14. 今天简单地把vw/vh总结一下
  15. hyperopt使用
  16. 十大著名的网络黑客事件
  17. [完全免费] 在线UML Use Case Diagram 用例工具 - 教程第2部分
  18. 腾讯云ubuntu20.04,免密登录,安装anaconda,并安装远程jupyter notebook,TensorFlow
  19. 如何应对不间断电源(UPS)设计挑战
  20. matlab表示dbm,关于信号强度单位db和dBm

热门文章

  1. curl下载脚本并执行
  2. b 数据库大全简单介绍
  3. JAVA-使用SAX解析XML数据
  4. Junit单元测试总结
  5. 微机原理学习笔记——寻址方式和传送指令(MOV)
  6. 『网易实习』周记(一)
  7. 审核员必看|不符合项报告还不会写?一篇文章搞定
  8. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java视频管理系统98vta
  9. 【喜科堂】账户密码修改
  10. matlabnbsp;linprog函数nbsp;线…