看我如何通過DNS隧道技術繞防火墻
0x01 概念
隧道技術(Tunneling)是一種通過使用互聯網絡的基礎設施在網絡之間傳遞數據的方式。使用隧道傳遞的數據(或負載)可以是不同協議的數據幀或包。隧道協議將其它協議的數據幀或包重新封裝然后通過隧道發送。新的幀頭提供路由信息,以便通過互聯網傳遞被封裝的負載數據。
0x02 實例分析- DNS隧道技術
環境:客戶機(Kali)+DNS服務器(window2003)+目標機(redhat7)
DNS服務器:192.168.10.132
1、新建一個名字為”bloodzero.com”的正向解析域
2、新建一個主機:IP為攻擊者kali的IP
3、新建一個委托
此時我們的DNS服務器就配置好了!
Kali:攻擊者&&客戶端 192.168.10.135
1、攻擊端配置:
修改dns2tcpd配置文件:
resources的IP為目標機的IP
啟動dns隧道的服務端
2、客戶端配置
刪除ssh連接的known_hosts文件
修改DNS解析文件:vim /etc/resolv.conf
配置dns隧道客戶端程序
在kali2.0中,沒有配置文件,需要自己寫配置文件
vim /etc/dns2tcpc.conf
測試是否可以提供服務
這個時候我們就已經配置成功了!
成功效果
0x03 分析結論
這個時候的流量走向:
本文中介紹的是DNS隧道服務器,和DNS隧道客戶端是同一臺機器,并不能說明問題,當DNS隧道服務器存在于防火墻之后,這個時候我們就可以利用此種技術來繞過大部分的防火墻。并且可繞過不開端口,隱蔽性好等;
這里我使用另外一臺客戶機去連接目標機時,服務端監聽的數據如下:
目標機:192.168.10.133
DNS隧道服務端:192.168.10.135
DNS隧道客戶端:192.168.10.134
DNS服務器:192.168.10.132
客戶端監聽數據如下:
發現能夠監聽到的ssh數據包是DNS隧道服務端與目標機之間的通信;
而客戶端與目標機之間的通信是DNS數據;
這就是簡單的配置DNS隧道。