流量劫持网络安全应急响应

admin 2023年12月25日11:48:59评论24 views字数 5744阅读19分8秒阅读模式

流量劫持在网络安全事件中比较常见,它是一种通过在应用系统中植入恶意代码、在网络中部署恶意设备、使用恶意软件等手段,控制客户端与服务端之间的流量通信、篡改流量数据或改变流量走向,造成非预期行为的网络攻击技术。       

我们在日常生活中经常遇到的流氓软件、广告弹窗、网址跳转等都是流量劫持的表现形式。        

流量劫持的主要的目的如下:引流推广 钓鱼攻击;访问限制;侦听窃密。          

根据影响的协议、网络的不同,流量劫持可大致分为:DNS 劫持、HTTP 持、链路层劫持等。

01

基础概念 

1、DNS劫持

DNSDomain Name System,域名系统)用于网站域名与 IP 地址的相互转换。任何连接互联网的设备都会有一个唯一的 IP 地址,通过这个 IP 地址访问该设备。DNS 支持 TCP 协议和 UDP 协议,默认端口为 53 

DNS劫持又称域名劫持,是指控制 DNS 查询解析的记录,在劫持的网络中拦截 DNS 请求,分析匹配请求域名,返回虚假 IP 信息或不做任何操作使请求无效。目的是将用户引导至非预期目标,或禁止用户访问。        

流量劫持网络安全应急响应

DNS劫持流程          

DNS 劫持一般只会发生在特定的网络范围内,大部分集中在使用默认DNS服务器上网的用户。因此,可以通过直接访问目标IP,或设置正确的 DNS服务器来绕过 DNS 劫持。

2、HTTP劫持

HTTPHyper Text Transfer Protocol,超文本传输协议)工作在 OSI 模型的应用层,用于数据通信。HTTP协议基于C/S 架构,客户端主要为浏览器, 服务器为 Nginx 等中间件。

HTTP 的 request 请求包括:请求行、请求头部、请求空行和请求数据四部分,    

流量劫持网络安全应急响应

HTTP的 response 请求也由四部分组成,分别是:状态行、响应头、空行和响应体,如图 10.1.3 所示

流量劫持网络安全应急响应

HTTP 劫持发生在运营商网络节点上。对流量进行检测,当流量协议为HTTP时,进行拦截处理。

HTTP 劫持流程如图 10.1.4 所示,步骤如下:

1)获取网络流量,并在其中标识出HTTP协议流量;

2)拦截服务器响应包,对响应包的内容进行篡改;

3)将篡改之后的数据包抢先于正常响应包返回给客户端;

4)客户端先接收篡改的数据包,并将后面正常的响应包丢弃    

流量劫持网络安全应急响应

上述劫持过程实际可以理解为 TCP 劫持的一部分。在常规的 HTTP 劫持中,攻击者一般会通过入侵源服务器,在网站内植入恶意 JavaScript 脚本。当用户正常访问源服务器时,被篡改的网站源码会运行跳转到指定的恶意网站。    

3、链路层劫持          

数据链路层是OSI参考模型中的第二层,介于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源网络层的数据可靠地传输到相邻节点的目标机网络层。

链路层劫持是指攻击者在受害者至目标服务器之间,恶意植入或控制网络设备,以达到监听或篡改流量数据的目的。    

3.1、TCP 劫持

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF的 RFC 793 定义。面向连接意味着两个使用 TCP 的应用(B/S)在彼此交换数据之前,必须先建立一个 TCP 连接。         

TCP 具有可靠性,主要是因为:

1)应用数据被分成 TCP 最合适的发送数据块;    

2)当 TCP 发送一个段之后,启动一个定时器,等待目的点确认收到报文,如果不能及时收到一个确认,那么将重发这个报文;

3)当 TCP 收到连接端发来的数据时,会推迟几分之一秒发送一个确认;

4TCP 将保持它首部和数据的检验和,这是一个端对端的检验和,目的在于检测数据在传输过程中是否发生变化(若有错误,则不会确认,发送端将会重发);

5TCP 是以 IP 报文来传送的,IP 数据是无序的,TCP 收到所有数据后进行排序,再交给应用层;

6IP 数据报会重复,所以 TCP 会去重;

7TCP 能提供流量控制,其连接的每个位置都有固定的缓冲空间,其接收端只允许另一端发送缓存区能接纳的数据;

8TCP 对字节流不做任何解释,对字节流的解释由 TCP 连接的双方应用层解释。       

3.2、ARP 劫持

ARPAddress Resolution Protocol,地址解析协议)是根据 IP 地址获取物理地址的一个 TCP/IP 协议。

ARP 工作在OSI 模型的数据链路层。在以太网中,网络设备之间互相通信是用 MAC 地址而不是 IP 地址,ARP 的功能是把 IP 地址转换为 MAC 地址。主机在发送信息时,将包含目标 IP 地址的 ARP 请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;在收到返回消息后,将该 IP 地址和物理地址存入本机 ARP 缓存,并保留一定时间,在下次请求时直接查询 ARP 缓存,以节约资源。    

ARP 是建立在网络中各个主机互相信任的基础上的,局域网络中的主机可以自主发送 ARP 应答消息,其他主机收到应答报文时不会检测该报文的真实性,就会将其记入本机 ARP 缓存。与 ARP 相关的协议有 RARP(与 ARP 相反,它是反向地址解析协议,即把 MAC 地址转换为IP地址)、代理 ARP

           

02

常见攻击场景

1.DNS 劫持

DNS 劫持攻击目标为提供 DNS 解析的设备或文件。因此,常见的DNS劫持攻击手法分为:本地 DNS 劫持、路由器 DNS 劫持、中间人 DNS 攻击、恶意DNS服务器攻击。

(1)本地 DNS 劫持,通过修改本地 hosts 文件、更改本地 DNS 设置(非流量劫持)实现攻击。

(2)路由器 DNS 劫持,利用弱密码、固件漏洞等,攻击路由器,更改路由器DNS 设置。

(3)中间人 DNS 攻击,通过拦截 DNS 查询请求,返回虚假 IP,实现攻击。

(4)恶意 DNS 服务器攻击,即通过直接攻击 DNS 服务器,更改 DNS 记录。

          

2.HTTP 劫持

HTTP 劫持的关键点在于识别 HTTP 协议,并进行标识。因此,HTTP 劫持方法较为单一,主要目的如下:

1)嗅探侦听流量,伪造 HTTP 响应;

2)钓鱼攻击;    

3)灰产广告引流。        

HTTP 劫持更多发生在服务端网站被入侵后,攻击者植入了恶意代码实现跳转,较常见的场景有:在通过搜索引擎访问网站时发生跳转,但在直接访问网站时并不会跳转,这是因为攻击者在植入的恶意代码中加入对 HTTP 请求头Referer 内容的判断。     

 3.链路层劫持

1、TCP 劫持

TCP 劫持的主要目的如下:

1)嗅探侦听流量,窃密;

2)访问限制,重定向导致断网或者钓鱼攻击;

3)灰产广告引流。

更多的 TCP 劫持主要发生在运营商层面,用户在上网冲浪时,浏览器的右下角总是会出现各种各样的小广告。

2、ARP 劫持

ARP 劫持多用于局域网攻击,主要目的如下:

1)嗅探侦听流量,窃密;

2)阻断用户网络连接

03

防御方案

1.DNS劫持防御    

根据 DNS 劫持常见的攻击手法,可采取相应的防护方法进行防御。

1、锁定 hosts 文件,不允许修改。

2、配置本地 DNS 为自动获取,或将其设置为可信 DNS 服务器。

3、路由器采用强密码策略。

4、及时更新路由器固件。

5、使用加密协议进行 DNS 查询。

2.HTTP 劫持防御 使用 HTTPS 进行数据交互。

3.链路层劫持防御

3.1、TCP 劫持

1、使用加密通信,如使用 SSL 代替 HTTP,或者使用 IPSec-VPN 等方法实现端到网关、端到端、网关到网关等场景下的通信加密。

2、避免使用共享式网络。

3.2、ARP 劫持

1、避免使用共享式网络。

2、将 IP 地址和 MAC 地址静态绑定。

3、使用具有 ARP 防护功能的终端安全软件。

4、使用具有 ARP 防护功能的网络设备。

           

04

排查方案

         

DNS 劫持排查     

DNS 劫持主要通过电脑hosts文件篡改、路由器或其他网络设备 DNS 设置篡改、DNS 服务器缓存污染等手段实现劫持攻击。因此,可以针对这些方面进行排查。 

1、排查本地信息

hosts文件是计算机系统中一个记录 IP 与域名对应关系的文件,可用于快速解析域名。用户在访问域名网站时,会先在本地查询 hosts 文件,若存在对应关系,则直接访问;若不存在对应关系,则请求 DNS 服务器。

2.排查本地网卡 DNS 配置信息

在 Windows 系统中,打开【网络连接】窗口,双击【以太网】选项,在打开的对话框中单击【详细信息】按钮查看详情。通常情况下,DNS 服务器为自动获取。若为手动填写,则需要检查该处内容是否为本机最初设定的地址,如果发现有改动,可以通过网络检查服务器地址是否异常。

在 Linux 系统中,可使用【cat /etc/resolv.conf】命令查看/etc/resolv.conf 文件。       

3.排查异常 DNS 服务器

使用【nslookup】命令,并使用 server 选项设置不同的 DNS 服务器,可解析域名。当某个 DNS 服务器响应与其他 DNS 服务器不同时,即可初步确认该 DNS 出现问题。

HTTP 劫持排查           

在排查前,可先检查劫持是否因为网站被恶意入侵,攻击者篡改了网站源码所致。打开浏览器,按【F12】键,打开【Network】功能,监测网站加载的本地静态资源与外部资源,从而可判断是在哪一步发生的跳转。在使用【Network】功能时,要注意勾选【Preserve log】复选框,之后在【Initiator】中查看【Request call stack】,如图 10.4.10 所示。排查发现用户首先访问 file:///C:/Users/×××/Desktop/1.html 页面,之后立刻跳转到百度网页,Request call stack 标注问题来自 1.html 文件的第 18 

流量劫持网络安全应急响应

查看目标访问页面第 18 行的代码信息,为 window.location.href=https://www.

baidu.com”,从而判断出该次劫持是因篡改网站源码而造成的,如图 10.4.11 所示。

流量劫持网络安全应急响应    

TCP劫持排查

TCP 劫持事件多为抢先回包劫持会话。如果发生劫持,使用抓包工具(Wireshark)捕获浏览器访问的链路层流量,可发现对浏览器产生的单个请求, 同时会收到两个不同的 TCP 响应报文,因为伪造的第 1个数据包先到,所以第 个正常的 TCP 响应数据包被客户端忽略了。

大部分TCP劫持被用于篡改 HTTP 响应内容,投放的内容多为游戏、色情、 赌博等领域广告。攻击者一般通过旁路设备监听链路流量,实现劫持。也有的攻击者会利用攻击设备,在链路内捕获用户的正常访问流量,记录用户敏感信息,从而进行广告推广、电信诈骗等。       

ARP 劫持排查

使用【arp】命令可查询本机 ARP 缓存中 IP 地址和 MAC 地址的对应关系、添加或删除静态对应关系等。使用【arp -a】命令可查看缓存表,判断 IP 地址与MAC 地址是否存在冲突。在局域网内抓包筛选 ARP 请求,并进行比对。缓存表如图 10.4.14 所示    

流量劫持网络安全应急响应

现今大部分 ARP 攻击都是由于蠕虫病毒造成的,攻击源可能不止一个,在绑定 IP地址和 MAC 地址后,可以通过杀毒软件排查病毒。

          

05

处置方法


DNS 劫持处置

1.局域网 DNS 劫持处置

1)个人终端 DNS 劫持处置

(1)配置静态 DNS 服务器。

(2)配置 hosts 文件,进行静态 IP 域名绑定,并对 hosts 文件加密。

(3)对个人终端进行病毒查杀。

(4)修改路由器等设备的弱密码,并对固件进行版本更新。

(5)加强安全意识,若发现劫持事件,则应在第一时间联系当地运营商投诉。

2)企业 DNS 服务器劫持处置    

DNS 服务器劫持的原因大多是:DNS 服务器存在安全隐患导致服务器被入侵。因此,需要将异常 DNS 服务器隔离,并启用备用 DNS 服务器。隔离异常 DNS服务器的目的是防止攻击者利用 DNS 服务器进一步入侵。

隔离主要采用以下两种方法:

(1)物理隔离主要为断网或断电,关闭服务器/主机的无线网络、蓝牙连接等,禁用网卡,并拔掉主机上的所有外部存储设备。

(2)访问控制主要是指对访问网络资源的权限进行严格的认证和控制。常用的操作方法是加策略和修改登录密码。完成以上基本操作后,为了避免造成更大的损失,建议在第一时间联系专业技术人员或安全从业者,对 DNS 服务器安全隐患进行排查。      

2.广域网 DNS 劫持处置

广域网DNS劫持往往是因为运营商 DNS 服务器出现异常,因此可更换 DNS服务器设置(如更换 DNS 服务器为 8.8.8.8、114.114.114.114、1.1.1.1 等),也可拨打运营商服务电话或相关热线进行求助。

HTTP 劫持处置

HTTP 劫持个人终端无法进行处置,可尝试使用 HTTPS 协议访问服务器,并加强安全意识。若发现劫持事件,则应在第一时间联系当地运营商投诉。          

HTTP劫持处置方法如下。

1、网站使用 HTTPS 证书,客户端使用 HTTPS 协议进行访问。    

2、拆分 HTTP 请求数据包。

3、使用 CSP 与 DOM 事件进行监听防御

          

链路层劫持处置

1.TCP 劫持处置

通过本地复现流量劫持事件,并捕获网络流量,将正常的 TCP 包与伪造的TCP 包进行比对分析。通知发生问题的相关责任单位,若劫持定位在内网,则应 结合网络拓扑图与信息资产表确定大致物理位置,并进行排查;若劫持定位在运营商(ISP)层面,则应及时联系相关客服。       

2.ARP 劫持处置

将 IP 地址与终端 MAC 地址进行绑定,处置方法如下。

1)开启计算机本地 ARP 防火墙。

2)开启网络设备 ARP 防护。

3)定位问题主机,进行处理。

4)如为蠕虫病毒,应尽快部署全面的流量监控    









流量劫持网络安全应急响应流量劫持网络安全应急响应

↑↑↑长按图片识别二维码关註↑↑↑



原文始发于微信公众号(全栈网络空间安全):流量劫持网络安全应急响应

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月25日11:48:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   流量劫持网络安全应急响应https://cn-sec.com/archives/2332039.html

发表评论

匿名网友 填写信息