zoukankan      html  css  js  c++  java
  • 流量劫持的分层介绍

    流量劫持





    1、物理层




    这里的流量主要是从物理线路上进行引流,使得流量经过自己的监控设备,一般流量劫持不在这层做,但是有些监控设备会吧流量转过来做监控审计,或者做嗅探。

    2、数据链路层




    一般这里有两种,一种是ARP攻击-MAC欺骗一类,一种是HUB嗅探(已经很少了,因为HUB基本被淘汰了)。ARP攻击原理也很简单:

    2.1、ARP攻击原理



    是因为任何ARP协议没有状态且ARP响应包接收方不对收到的response报文做安全性检查,直接信任,可以直接对client伪装自己是网关,从而达到吸引client的跨广播域流量到自己来的目的,可以做中间人,实现流量劫持。典型例子bettercap软件

    2.2、MAC攻击原理



    现代的接入交换机的mac动态学习算法亦然僵化,来的就学到,发动大量伪造源MAC的数据报文就可以欺骗交换机,或者直接伪造各种流量报文,打满交换机的MAC的mac学习表,从而逼迫交换机转发帧的时候进行广播,从而达到嗅探的目的。

    3、网络层




    这里方法会多一些,第一入侵路由器,修改路由,使得受害者的流量经过攻击者控制的设备就行操作。或者做一个代理,使得受害者的流量都由攻击者的代理服务器转发。或者进行PPPoE钓鱼,一般PPPoE都是拨号到路由器上,所以这里就归入网络层吧,当然还有WiFi热点钓鱼、伪基站等等。很多都很熟悉了,有点安全意识就可以避免的,比如WiFi热点,伪基站等等,入侵路由器则可能是漏洞修复的问题及口令配置的问题。而配置代理也需要入侵路由器或者攻击者主机,要么就是免费代理引诱受害者上当,都另做盘算。这里主要说一下PPPoE钓鱼:

    3.1、PPPoE钓鱼



    PPPoE Request报文会层层广播,层层向上,所以如果受害者如果和攻击者在一个Vlan里或者受害者的PPPoE的request的报文到达PPPoE服务器之前到达了攻击者控制的设备,那么攻击者只需开启一个PPPoE服务端,你们就会抢先开始愉快的相互认证,信息就被黑客拿到了

    4、应用层




    这里就更多了,而且都是排查重点。

    4.1、DNS劫持



    本地host文件被污染,或者你所在的服务器上修改了解析(也可能是加了解析)都有可能导致。很明显的特点就是不同方式接入访问同一个站点,结果不同。这个时候要检查host文件和DNS解析的情况。
    查看本地DNS和其他权威DNS的解析比教。

        root@bogon#dig www.target.com
        root@bogon#dig www.target.com @114.114.114.114
        root@bogon#dig www.target.com +trace
    

    4.1.1、DNS污染与DNS劫持的区别


    DNS污染指的是伪造DNS回包,并抢先到达Client。DNS劫持是攻击DNS服务器,修改解析记录。

    4.1.2、相关命令使用补充--dig


    • dig
      • -x 反解析IP
      • -t dns解析类型
      • -p 指定dns服务器端口号
      • -f 文件批处理方式解析多个域名
      • -b 指定命令执行的主机从哪个ip的网口发出相关请求

    4.2、业务伪造



    业务伪造可以有很多攻击场景,这里其实可以归类为MOTS,攻击要点就是伪造报文抢先到达,基于现有的网络情况,跳数越少,越先到达(设备转发占据大部分时间)。
    这里借用Freebuf上的一张图

    4.2.1、攻击场景


    • TCP劫持,可以直接获取到TCP的SEQ当然还有其他所有信息,足够伪造回包,TCP对包的来源没有继续确认的办法,MOTS可以全面伪造TCP状态机的每一个状态;
    • DoS攻击,只需要一个Rst报文或者一个ICMP不可达报文就可以拆连接或阻塞UDP通信,达到DoS的效果;
    • HTTP劫持,请见下面的例子;
    • DNS 污染攻击,抢先伪造DNS响应并回包;

    4.2.2、典例HTTP攻击场景


    明显特点就是IP报文中的TTL不同(TimeToLive),正常的访问由于地理未知原因会经过多跳才能到达,但是伪造业务回包的设备肯定离你比正常访问近,回包先到达,否则无法达成劫持的效果。尤其是伪造HTTP的偏多。


    这里使用curl进行简单的判断看回显:

    curl -H:"key:value" url
    -k 允许不用ssl
    

    4.3、CDN入侵



    CDN本质是良性的DNS流量劫持,而且本地会缓存很多文件,速度性能都会有很大提升,但是CDN被入侵,缓存会被替换从而导致各种脚本注入,跳转导致流量被劫持。

    4.4、HTTP站点被入侵导致的流量劫持



    在页面上加东西被跳转,特点是所有人访问他都会被劫持,这个和DNS有明显区别,和业务伪造也有明显区别。

  • 相关阅读:
    Python NLP入门教程
    一个月入门Python爬虫,轻松爬取大规模数据
    Python爬虫实战案例:爬取爱奇艺VIP视频
    探索Python F-strings是如何工作
    Ruby 和 Python 分析器是如何工作的?
    超级干货,python常用函数大总结
    Python 开发者的 6 个必备库,你都了解吗?
    神经网络中 BP 算法的原理与 Python 实现源码解析
    新手程序员必学的代码编程技巧
    零基础小白怎么用Python做表格?
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/8882630.html
Copyright © 2011-2022 走看看