DNS隧道技術繞防火牆

wyzsk發表於2020-08-19
作者: Blood_Zero · 2015/10/22 10:20

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隧道;

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章