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有明显区别,和业务伪造也有明显区别。

  • 相关阅读:
    入门菜鸟
    FZU 1202
    XMU 1246
    Codeforces 294E Shaass the Great 树形dp
    Codeforces 773D Perishable Roads 最短路 (看题解)
    Codeforces 814E An unavoidable detour for home dp
    Codeforces 567E President and Roads 最短路 + tarjan求桥
    Codeforces 567F Mausoleum dp
    Codeforces 908G New Year and Original Order 数位dp
    Codeforces 813D Two Melodies dp
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/8882630.html
Copyright © 2011-2022 走看看