流量劫持的分层介绍
流量劫持
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有明顯區別,和業務偽造也有明顯區別。
總結
- 上一篇: java三个环境变量_java基础(一)
- 下一篇: 易烊千玺代言!九号电动两轮车国内出货突破