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

article/2025/11/11 15:24:15

271bd3a98dc521207c86ead31b7dcd3f.png

 

 Part1 前言 

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

 Part2 前置基础知识 

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

  • 链路劫持定义:

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

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

ed2ffdaf2e4fbfc358f2311697bf0a79.png

  • IP数据包中TTL作用

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

7382d9de4d060b807a2ac9416617c985.png

  • IP数据包中Identification作用

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

92c7d8444500e5cb7c0b42399b60a6b0.png

 Part3 溯源分析过程 

  • 事件背景

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

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

6cd2dbc8b4af2a8972d086683ad3465e.png

  • 获取不同区域的流量包

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

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

  • 分析异常数据包

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

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

d4bf64624490bba22c7e3f644416e6a5.png

1d204c0c6ce623e3bf5398a53084253f.png

  • 找到出问题的路由节点

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

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

65f7726ad8cea37d0d7e4e81551faad7.png

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

 Part4 总结 

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

19a39784d5978527a23f5ca92cd158c9.png

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

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


http://chatgpt.dhexx.cn/article/mAeuLE3g.shtml

相关文章

《运营商劫持, 中间人攻击, 黑客入侵怎么办?》- HTTPS 技术反制

目录 1.HTTPS 是什么 1.1 运营商劫持 1.2 加密是什么 2. HTTPS 的工作过程 2.1 对称加密 2.2 非对称加密 2.3 引入证书 1.HTTPS 是什么 HTTPS 也是一个应用层协议 . 是在 HTTP 协议的基础上引入了一个加密层 . HTTP 协议内容都是按照文本的方式明文传输的 . 这就导…

Hive字符串转日期细节

日期函数:to_date();date_format();from_unixtime(unix_timestamp()) 测试数据:t1 t2 2020/4/1 13:01 2020-04-01 目的:将t1转成 2020-04-01 t2 -> 2020/04/01 方法(针对t1进行处理) from_unixtime(unix_timestamp(substr(t1,1,length(reg…

mysql 字符串转日期及其他日期转换

mysql 字符串转日期及其他日期转换 -- 字符串转日期 select str_to_date(2019/1/1, %Y/%m/%d) -- 2019-01-01SELECT STR_TO_DATE(concat(Cyear,/,Cmonth,/,Cday),%Y/%m/%d) SELECT date_format(DATE_ADD(DATE_FORMAT(CONCAT(2020-03,-01),%Y-%m-%d),INTERVAL -1 month ),%Y-%m…

SimpleDateFormat 字符串转日期

使用SimpleDateFormat类,可以将Date对象或具有日期格式的字符串进行互相转换使用SimpleDateFormat可以设置期日格式 默认的日期格式为 下面为构造函数中字符串字母所代表的内容 转换方法 此处构造函数使用的无参,方法中的参数格式需要于构造函数中设置的…

vue字符串转日期

vue中的数据判断对数据类型要求很高。 下面的代码是想根据 beginTime 和 endTime 来决定记录的状态,但是不起作用。 效果: 原因是 beginTime 和 endTime 的类型是字符串而非日期类型,所以无法与 new Date()进行比较。解决方法如下代码&#x…

JAVA字符串转日期及日期转字符串

一、字符串转日期 Testpublic void test10(){String date"2022-09-30";SimpleDateFormat simpleDateFormatnew SimpleDateFormat("yyyy-MM-dd");Date parse null;try {parse simpleDateFormat.parse(date);System.out.println("parse " pars…

云服务器可以存放文件吗,存放文件的云服务器

存放文件的云服务器 内容精选 换一换 本节操作介绍华为云上云服务器的跨账号跨区域迁移,建议采用镜像迁移方式。服务器迁移的常见场景与常用的迁移方式请参考迁移的背景知识。跨账号跨区域迁移的方法请参考方案介绍常见的服务器迁移场景包括物理服务器与云服务器之间…

文件服务器存储,文件服务器存储

文件服务器存储 内容精选 换一换 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 HPC是高性能计算(High Performance Computing)的简称。通常指以计算为目的,使用了很多处理器的单个计算机系统或者使用了多台计…

文件存储技术-OSS云存储服务

控制台 后台代码 获取访问阿里云API的密钥创建 service_oss 模块引入阿里云oss相关依赖 <dependencies><!-- 阿里云oss依赖 --><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId></depen…

NFS文件共享存储服务器简介

NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中&#xff0c;本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件&#xff0c;就像访问本地文件一样。 在企业集群架构的工…

文件服务器和nas存储,nas存储 文件服务器

nas存储 文件服务器 内容精选 换一换 资源池是BCE所需要使用的计算资源的集合。BCE的资源池由CCE和CCI提供&#xff0c;分为共享资源池、专属资源池、cromwell资源池。批量任务投递时所选择的队列&#xff0c;在进行任务调度时&#xff0c;会根据队列的权重进行优先调度。通过作…

服务器可以储存多久文件,云服务器储存文件

云服务器储存文件 内容精选 换一换 设置“云服务器名称”。名称可自定义&#xff0c;但需符合命名规则&#xff1a;只能由中文字符、英文字母、数字及“_”、“-”、“.”组成。如果同时购买多台弹性云服务器&#xff0c;系统会自动按序增加后缀。一次创建多台弹性云服务器时&a…

文件服务器如何保存,文件保存服务器

文件保存服务器 内容精选 换一换 环境: centos、jdk1.8、vsftpd、nginx、spring boot、dockerftp上传附件&#xff0c;上传的附件有两种方式回显&#xff0c;在下面再详细说明此处省略ftp服务器、docker服务器nginx服务器搭建过程。上传首先在application.yml文件中添加ftp配置…

企业文件存储服务器规划,企业文件存储服务器

企业文件存储服务器 内容精选 换一换 鲲鹏BoostKit分布式存储使能套件特性清单 云硬盘(Elastic Volume Service&#xff0c;EVS)可以为裸金属服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务&#xff0c;满足不同场景的业务需求&#xff0c;适用于分布式文件系统…

文件存储服务器 方案,文件服务器存储方案

文件服务器存储方案 内容精选 换一换 本方案采用DESS作为存储方案。因昆仑服务器仅支持使用DESS提供SBD盘&#xff0c;为了节省成本&#xff0c;在昆仑服务器高可用的场景下用户也可选择ISCSI盘用作SBD卷作为存储方案&#xff0c;详细方案请参考方案简介(ISCSI)。单节点部署方案…

文件上传,还存储在应用服务器?

前言 一般项目开发中都会有文件、图片、视频等文件上传并能够访问的场景。要实现这样的场景&#xff0c;要么把文件存储在应用服务器上&#xff0c;要么搭建文件服务来存储。但是这两种方式也有不少的缺点&#xff0c;增加运维的成本。 因此&#xff0c;追求用户体验的项目可…

Linux文件服务NFS共享存储服务

&#x1f618;作者简介&#xff1a;一名99年运维岗位员工&#xff0c;正在自学云计算课程。&#x1f44a;宣言&#xff1a;人生就是B&#xff08;birth&#xff09;和D&#xff08;death&#xff09;之间的C&#xff08;choise&#xff09;&#xff0c;做好每一个选择。&#x…

云服务器 能存储文件吗,云服务器存储文件

云服务器存储文件 内容精选 换一换 外部镜像文件在从原平台导出前&#xff0c;没有按照“Windows操作系统的镜像文件限制”的要求完成初始化操作&#xff0c;推荐您使用弹性云服务器完成相关配置。流程如图1所示。云服务器的正常运行依赖于XEN Guest OS driver(PV driver)和KVM…

Java -- OSS对象存储服务(Object Storage Service,简称 OSS)文件服务器

一个成熟的技术架构要有一定的分离性&#xff0c; 平台级的产品一般会这么分&#xff1a;应用服务器、数据库服务器、文件服务器。一般文件、数据库、应用服务器&#xff0c;都应该做逻辑和物理的分离。 以前我们想要做文件上传可能要自己去搭建一个专门的服务器&#xff0c;然…

文件服务器存储解决方案探索

1 定义 文件服务器(file servers)是一种器件&#xff0c;它的功能就是向服务器提供文件。 它加强了存储器的功能&#xff0c;简化了网络数据的管理。 它一则改善了系统的性能&#xff0c;提高了数据的可用性&#xff0c;二则减少了管理的复杂程度&#xff0c;降低了运营费用。…