一、流量劫持概述

1、流量劫持简介

是一种通过在应用系统中植入恶意代码、在网络中部署恶意设备、使用恶意软件等手段,控制客户端与服务端之间的流量通信、篡改流量数据或改变流量走向,造成非预期行为的网络攻击技术。如流氓软件、广告弹窗、网址跳转。
流量劫持的主要目的:
引流推广、钓鱼攻击、访问限制、侦听窃密。

2、常见流量劫持

1)DNS劫持
DNS是一项互联网服务,用于网站域名与IP地址的相互转换。
DNS劫持又称域名劫持,是指控制DNS查询解析的记录,在劫持的网络中拦截DNS请求,分析匹配请求域名,返回虚假IP信息或不做任何操作使请求无效。目的是将用户引导至非预期目标,或禁止用户访问
一般只会发生在特定的网络范围内,大部分集中在使用默认DNS服务器上网的用户。因此我们可以通过直接访问目标IP,或设置正确的DNS来绕过DNS劫持。

2)HTTP劫持
HTTP(超文本传输协议)工作在OSI模型的应用层,用于万维网数据通信。基于C/S架构,客户端主要为浏览器,服务端为Nginx等中间件。http的request请求包括:请求头部、请求行、空行、请求数据。response请求包括:状态行、响应头、空行和响应体

HTTP劫持发生在运营商网络节点上。对流量进行检测,当流量协议为HTTP时,进行拦截处理。劫持流程如下:
(1)获取网络流量,并在其中标识出HTTP协议流量
(2)拦截服务器响应包,对响应包的内容进行篡改
(3)将篡改之后的数据包抢先于正常响应包返回给客户端
(4)客户端先接收篡改的数据包,并将后面的响应包丢弃
上述过程可以说是TCP劫持的一部分。在常规的HTTP劫持中,攻击者一般会通过入侵源服务器,在网站内植入恶意JavaScript脚本。当用户正常访问源服务器时,被篡改的网站源码会运行跳转到指定的恶意网站。

3)链路层劫持
数据链路层介于物理层和网络层之间。最基本的服务是将源网络层的数据可靠地传输到相邻节点的目标机网络层
链路层劫持是指攻击者在受害者至目标服务器之间,恶意植入或控制网络设备,以达到监听或篡改流量数据的目的

(1)TCP劫持
TCP会话劫持的原理是劫持客户端与服务端已经建立的TCP通信,并伪造其中一方,以达到嗅探侦听、篡改流量数据、控制服务端的目的。
在TCP三次握手过程中双方确认数据传输正常都是基于彼此的ACK和SEQ值,无论在跨网段还是同网段内,攻击者都能伪造x与y的值,而原先的TCP连接会由于SEQ序号与ACK序号值的不匹配而断开连接。

(2)ARP劫持
ARP(地址解析协议)是根据IP地址获取物理地址的一个TCP/IP协议。ARP工作在数据链路层。网络设备之间互相通信是用mac地址而不是IP地址,arp的功能是把IP地址转换为mac地址
ARP劫持发生在局域网中,分为两种:双向欺骗和单向欺骗。
在一次ARP劫持中,A要与网关通信,首先要使用ARP协议获取对方的mac地址,但攻击者可以不停地向A发送ARP响应包,伪造网关响应。这时A的流量将全部被攻击者捕获,A将因为错误的网关mac地址而断网。攻击者开启IP转发后,也向网关发送ARP响应包欺骗网关,伪装自己为A ,从而捕获网关到A的流量。这样A与网关通信的流量都经由攻击者捕获转发,看起来A可以正常上网,但实际上攻击者已经可以控制A与网关之间的所有流量

3、常见攻击场景

1)DNS劫持
(1)本地DNS劫持,通过修改本地hosts文件、更改DNS设置实现攻击。
(2)路由器DNS劫持,利用弱密码、固件漏洞等,攻击路由器更改路由器DNS设置。
(3)中间人DNS攻击,通过拦截DNS查询请求,返回虚假IP。
(4)恶意DNS服务器攻击

2)HTTP劫持(关键点在于识别HTTP协议,并进行标识)
(1)嗅探侦听流量,伪造HTTP响应
(2)钓鱼攻击
(3)灰产广告引流
常见场景:在通过搜索引擎访问网站时会发生跳转,但在直接访问网站时并不会跳转。这是因为攻击者在植入的恶意代码中加入了对HTTP请求头的referer内容的判断。

3)链路层劫持
(1)TCP劫持
主要目的:
嗅探侦听流量,窃密;
访问限制,重定向导致断网或者钓鱼攻击;
灰产广告引流。
主要发生在运营商层面,如用户在网上冲浪时,浏览器的右下角总会出现各种各样的小广告
(2)ARP劫持
多用于局域网攻击
主要目的:嗅探侦听流量,窃密;
阻断用户网络连接。

4、流量劫持防御方法

1)DNS劫持防御
(1)锁定hosts文件,不允许修改
(2)配置本地dns为自动获取,或将其设置为可信DNS服务器
(3)路由器采用强密码策略
(4)及时更新路由器固件
(5)使用加密协议进行dns查询

2)HTTP劫持防御
使用https进行数据交互。

3)链路层劫持防御
(1)TCP劫持
使用加密通信;
避免使用共享式网络。
(2)ARP劫持
避免使用共享式网络;
将IP地址与mac地址静态绑定;
使用具有arp防护功能的终端安全软件和网络设备。

二、常规处置方法

1、DNS劫持处置

1)局域网DNS劫持处置
(1)个人终端DNS劫持处置
配置静态DNS服务;
配置hosts文件,进行静态IP域名绑定,并对hosts文件加密;
对个人终端进行病毒查杀;
修改路由器等设备的弱密码;
加强安全意识,若发现劫持事件,则应第一时间联系当地运营商投诉等。
(2)企业DNS服务器劫持处置
将异常DNS服务器隔离(防止攻击者利用dns服务器进一步入侵),并启用备用DNS服务器。

2)广域网DNS劫持处置
更换DNS服务器设置。

2、HTTP劫持处置

(1)网站使用https证书,客户端使用https协议进行访问
(2)拆分HTTP请求数据包
(3)使用CSP与DOM事件进行监听防御

3、链路层劫持处置

1)TCP劫持处置
通过本地复现流量劫持事件,并捕获网络流量,将正常的TCP包与伪造的进行比对分析。
2)ARP劫持处置
将IP地址与终端MAC地址进行绑定。
(1)开启计算机本地arp防火墙
(2)定位问题主机,进行处理
(3)如为蠕虫病毒,应尽快部署全面的流量监控

三、常用命令和工具

1、nslookup命令(用于查询Internet域名服务器的程序)
交互式:

非交互式:

2、dig命令(用于查询域名信息)

3、traceroute命令(用于路由跟踪)

4、wireshark工具(网络流量捕获分析软件)

5、流量嗅探工具
如Cain、NetFuke、Ettercap,可作用在局域网范围内进行流量嗅探、获取局域网内敏感信息等。

四、技术实战指南

1、初步预判

出现以下情况,很有可能遭遇流量劫持:
1)网页带有广告或其他引流特性信息
2)浏览器经常接收到不同服务器返回的3××的重定向类HTTP状态码,并跳转至恶意页面
3)之前能正常访问的网站突然无法正常访问,或者访问出错。切换IP或DNS后可正常访问。
4)网络中存在大量异常流量,如大量ARP报文、缺失的TCP报文等。
5)无法正常上网

可通过以下方法判断当前流量劫持的类型
(1)DNS劫持:切换当前运营商网络或DNS配置时,访问恢复正常
(2)HTTP劫持:使用浏览器F12功能监听网络流量与脚本文件,观察是否发生在源服务器的本地资源
(3)链路层劫持:TCP劫持一般发生在互联网访问时,出现广告引流现象,切换运营商网络或物理配置时恢复正常;ARP劫持一般发生在局域网内,可以使用抓包工具,发现大量的ARP请求。

2、DNS劫持排查

1)排查本地信息
排查并确认hosts文件(是计算机系统中一个记录IP与域名对应关系的文件,可帮助用户快速解析域名)是否出现恶意篡改。

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

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

3、HTTP劫持排查

在排查前,可先检查劫持是否因为网站被恶意入侵,攻击者篡改了网站源码所致。
F12,打开Network功能(打开时要勾选Preserve log之后在Initiator中查看Request call stack),监测网站加载的本地静态资源和外部资源,从而可判断是在哪一步发生的跳转。

4、TCP劫持排查

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

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

5、ARP劫持排查

大部分的ARP攻击都是由于蠕虫病毒造成的。
使用arp命令可查询本机arp缓存中IP地址和mac地址的对应关系、添加或删除静态对应关系等。
使用arp -a命令可查看缓存表,判断IP地址与mac地址是否存在冲突。在局域网内抓包筛选arp请求,并进行比对。

《网络安全应急响应技术实战指南》知识点总结(第10章 流量劫持网络安全应急响应)相关推荐

  1. 《网络安全应急响应技术实战指南》知识点总结(第9章 数据泄露网络安全应急响应)

    一.数据泄露概述 1.数据泄露简介 数据泄露指对存储.传输或以其他形式处理的个人或机构数据造成意外或非法破坏.遗失.变更.未授权披露和访问的一类安全事件. 确认是否为数据泄露安全事件的主要依据以下三条 ...

  2. 《网络安全应急响应技术实战指南》知识点总结(第1~2章 网络安全应急响应概述和基础技能)

    一.应急响应概念 一个组织为应对各种意外事件的发生所做的准备,以及在时间发生之后所采取的措施,以减少突发事件造成的损失. 二.应急响应流程 PDCERF方法: 准备阶段(预防) 检测阶段(检测已发生或 ...

  3. 网络安全应急响应技术实战指南

    文章转载:https://github.com/meirwah/awesome-incident-response/blob/master/README_ch.md 用于安全事件响应的工具与资源的列表 ...

  4. 网络安全应急响应技术实战指南(奇安信)

    适合新手阅读 https://weread.qq.com/web/bookDetail/d78329e072163a05d78a5b8

  5. 【淘宝SEO技巧】解读淘宝新规及SEO技术实战指南

    为了协助广大卖家了解规则,做好优化,而且与淘宝SEO的愛好者与实践者交换,特此撰文,解读一下在新规则下哪个是赢家,而且給出一些实战技术.文章可能有点长,但绝对有效,有缘人(碰到此文的人)可能受益,有心 ...

  6. 计算机三级网络技术最全知识点总结【10】

    网络安全技术 章前导读 考点1 :数据备份策略.磁盘阵列备份方式 考点2 :加密技术--对称加密.非对称加密 考点3 :入侵检测系统--IPS (入侵防护系统) 考点4 :防火墙技术--PIX配置过程 ...

  7. [译]函数式响应编程入门指南

    原文地址:An Introduction to Functional Reactive Programming 原文作者:Daniel Lew 译文出自:掘金翻译计划 本文永久链接:github.co ...

  8. Android网络开发技术实战详解

    <Android网络开发技术实战详解> 基本信息 作者: 朱桂英 丛书名: Android移动开发技术丛书 出版社:电子工业出版社 ISBN:9787121173493 上架时间:2012 ...

  9. 《内网安全攻防:渗透测试实战指南》读书笔记(二):内网信息收集

    目录 前言 一.收集本机信息 1.手动搜集 (1)查询网络配置 (2)查询操作系统及软件的信息 (3)查询本机服务信息 (4)查询进程列表 (5)查看启动程序信息 (6)查看计划任务 (7)查看主机开 ...

最新文章

  1. linux 应急响应 病毒清除 系统加固
  2. IFE JavaScript Task0002-1 小练习1:处理用户输入
  3. POJ2135 来回最短路(简单费用流)
  4. docker4dotnet #2 容器化主机
  5. windows server 2012将计算机图标添加到桌面(图文教程)(转)
  6. 黑马程序员__银行业务调度系统
  7. 多线程模拟实现生产者/消费者模型 (借鉴)
  8. Yii2 使用 faker 生成假数据(转)
  9. C++算法学习(回溯算法)
  10. Python3安装Crypto模块
  11. S-MJLs和网络动态系统的分析与综合
  12. 安全加密 - DEP, ASLR
  13. 给自己立一个flag
  14. Python学习20230111
  15. javaweb JSP JAVA 电影院在线订票系统(电影购票系统 电影售票 电影票预订系统)(支持在线选座)
  16. 2020 C++ priority_queue 最大堆与最小堆介绍
  17. 作为程序员你是如何学习的?
  18. TTL和CMOS电平比较
  19. hdu 1276 士兵队列训练问题
  20. 几个大佬的公众号,贼厉害

热门文章

  1. win10背景色改成豆沙绿 锁屏后失效修改方式
  2. 使用Selenium爬取网易云音乐的所有排行榜歌曲
  3. Google,微软,科大讯飞的语音识别引擎对比
  4. VS Code无法更新,问题解决
  5. 毕业设计 STM32老人防摔倒报警系统 - 物联网 嵌入式 单片机
  6. Elasticsearch教程 | 第三篇:审计设置
  7. x264 - 高品质 H.264 编码器
  8. 计步器(Pedometer)实现原理简介
  9. Android计步器算法实现
  10. 实现手机浏览器跳转微信关注公众号