4、DNS隧道
0x00 前言
前兩天和朋友說到代理,隨之討論了一下關於隧道技術,之前也發過一篇關於DNS隧道技術的文章,不過感覺沒有寫好,今天就重寫一下關於隧道技術的總結;
首先這篇文章是以前寫的,也發在烏雲過,最近為部落格更新一些隧道技術的東西,所以先把這篇老文章拿出來,後面會更新一些新的東西,也歡迎大家提出新的思路;
0x01 概念
隧道技術(Tunneling)是一種通過使用網際網路絡的基礎設施在網路之間傳遞資料的方式。使用隧道傳遞的資料(或負載)可以是不同協議的資料幀或包。隧道協議將其它協議的資料幀或包重新封裝然後通過隧道傳送。新的幀頭提供路由資訊,以便通過網際網路傳遞被封裝的負載資料。
DNS隧道是通過利用DNS查詢機制特殊性而實現的一種技術,如果我們的請求資料包中的資料,不含過濾規則時,有限制的ISP或者防火牆則不會進行丟包處理。所以,我們在發起請求時,將請求資料包內容通過標準的DNS協議進行加密,標記解析請求的DNS地址,則有限制的ISP在解析客戶端發起的域名請求時,無法識別地址,而去指定的DNS伺服器上進行請求查詢。此時,我們在指定的DNS伺服器上進行資料包解密。再將查詢內容返回,此時,有限制的ISP或者防火牆會再次檢測內容是否為非認證狀態,如果是非認證狀態,則將查詢結果內容進行丟包處理。
0x02 例項分析- DNS隧道技術
環境:客戶機(Kali)192.168.10.135+DNS 伺服器(window2003)192.168.10.132+目標機(redhat7)192.168.10.133
DNS伺服器:192.168.10.132
新建一個名字為”bloodzero.com”的正向解析域
新建一個主機:IP為攻擊者kali的IP
新建一個委託
此時我們的DNS伺服器就配置好了!
Kali:攻擊者&&客戶端 192.168.10.135
攻擊端配置
修改dns2tcpd配置檔案:
resources的IP為目標機的IP
啟動dns隧道的服務端
客戶端配置
刪除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隧道;
發在烏雲大家提出了iodine實現的思路,我這裡也做了一個簡單的實驗;
特點:iodine可以通過一臺DNS伺服器製造一個IPv4資料通道,這個工具可幫助滲透測試人員用於穿越防火牆等情景。這款
工具執行於 Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD和Windows,並需要一個TUN/TAP裝置。同時對頻寬也有一定要求。
下載地址:http://code.kryo.se/iodine/
條件:
伺服器端:需要安裝虛擬網路卡:下載openvpn,安裝TAP-Win32 driver;安裝iodine伺服器端,輸入命令:iodined -c -f IP(設定的虛擬網路卡IP)
dnstunnel.bloodzero.com (這個域名的ns記錄一樣為伺服器端的IP);然後設定一個密碼
客戶端:下載openvpn,安裝TAP-Win32 driver;安裝iodine客戶端,輸入命令:iodined -f -P password(伺服器端設定的密碼)
dnstunnel.bloodzero.com
軟體附件:https://openvpn.net/ 可能需要翻牆
後面還有有關於其他的隧道技術解析~~~
相關文章
- DNS隧道技術解析DNS
- 10、DNS隧道技術再探DNS
- 11、DNS隧道技術調研DNS
- 14、DNS隧道製造工具————iodineDNS
- DNS隧道技術繞防火牆DNS防火牆
- 基於工控場景的DNS隧道檢測方案DNS
- 【技術向】基於工控場景的DNS隧道攻擊方案DNS
- 12、利用 DNS 隧道傳遞資料和命令來繞過防火牆DNS防火牆
- 3、SSL隧道
- 5、SSH隧道
- 6、ICMP隧道
- 7、IP隧道
- 8、ISATAP隧道
- 隧道雲 cpolar
- DNS Tunnel隧道隱蔽通訊實驗 && 嘗試復現特徵向量化思維方式檢測DNS特徵
- 什麼是隧道代理 為什麼選隧道代理
- Windows ICMP DNS隧道是一種利用ICMP和DNS協議進行網路隧道傳輸的技術。它透過將資料包封裝在ICMP或DNS報文中,繞過防火牆和其他安全裝置,實現在受限網路之間傳輸資料的方法。WindowsDNS協議封裝防火牆
- 隧道代理ip使用
- Dnscat2隧道DNS
- 2、HTTP隧道技術HTTP
- IPSEC隧道抓包分析
- IP隧道是什麼?
- 內網-隱藏隧道通訊技術,場景復現(ICMP隧道)內網
- DNS劫持 DNS汙染 介紹、dns 劫持 汙染DNS
- DNS劫持和DNS汙染DNS
- 1、網路隧道技術
- SSH 隧道遠端連線
- OpenvSwitch系列之八 vxlan隧道
- SSH反向隧道的工作原理
- ssh埠轉發(ssh隧道)
- 初試Cisco Packet Tracer–4——部署DHCP、DNS、Web伺服器DNSWeb伺服器
- dns汙染與dns劫持,瞭解dns汙染與dns劫持,網站安全不可疏忽DNS網站
- DNS劫持與DNS汙染是什麼意思、dns劫持和汙染DNS
- 13、利用 ICMP 隧道穿透防火牆穿透防火牆
- Hyperspace 炫酷太空隧道穿梭屏保
- 9.5內網橫向&代理&隧道內網
- BZOJ5207 : [Jsoi2017]隧道JS
- 隧道代理IP的基本要求