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