dns2tcp包装说明
Dns2tcp是一种网络工具,通过DNS流量中继的TCP连接。封装完成在TCP层,因此没有特定的驱动程序是必要的(即:TUN / TAP)。 Dns2tcp客户端并不需要与特定权限运行。 Dns2tcp是由两部分组成:一服务器端工具和一个客户端的工具。服务器具有在配置文件中指定的资源的列表。每个资源是本地或远程服务监听TCP连接。客户端侦听一个预定义的TCP端口和继电器通过DNS到最终服务的每个入站连接。 资料来源:http://www.hsc.fr/ressources/outils/dns2tcp/
- 作者:奥利维尔Dembour
许可:GPL第二版
0x01 包含在dns2tcp包工具
dns2tcpd - dns2tcp服务器组件
:~# dns2tcpd Usage : dns2tcpd [ -i IP ] [ -F ] [ -d debug_level ] [ -f config-file ] [ -p pidfile ] -F : dns2tcpd will run in foreground
0x02 dns2tcpc - dns2tcp客户端组件
:~# dns2tcpc No DNS given, using 192.168.1.1 (first entry found in resolv.conf) Missing parameter : need a dns zone dns2tcp v0.5.2 ( http://www.hsc.fr/ ) Usage : dns2tcpc [options] [server] -c : enable compression -z <domain> : domain to use (mandatory) -d <1|2|3> : debug_level (1, 2 or 3) -r <resource> : resource to access -k <key> : pre-shared key -f <filename> : configuration file -l <port|-> : local port to bind, '-' is for stdin (mandatory if resource defined without program ) -e <program> : program to execute -t <delay> : max DNS server's answer delay in seconds (default is 3) -T <TXT|KEY> : DNS request type (default is TXT) server : DNS server to use If no resources are specified, available resources will be printed
0x03 dns2tcpd用法示例
:~# cat >>.dns2tcpdrc <<END listen = 0.0.0.0 port = 53 user=nobody chroot = /root/dns2tcp pid_file = /var/run/dns2tcp.pid domain = dns2tcp.kali.org key = secretkey resources = ssh:127.0.0.1:22 END :~# dns2tcpd -f .dns2tcpdrc :~#
0x04 dns2tcpc用法示例
:~# cat >>.dns2tcprc <<END domain = dns2tcp.kali.org resource = ssh local_port = 2139 key = secretkey END :~# dns2tcpc -f .dns2tcprc :~# ssh -p 2139 -D 8090 The authenticity of host '[localhost]:2139 ([127.0.0.1]:2139)' can't be established. ECDSA key fingerprint is aa:bb:1f:cc:f1:ab:7c:71:9b:62:37:8c:f1:60:2e:98. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[localhost]:2139' (ECDSA) to the list of known hosts. 's password: Linux flw 3.12-kali1-amd64 #1 SMP Debian 3.12.6-2kali1 (2014-01-06) x86_64 The programs included with the Kali GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Kali GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue May 6 22:54:15 2014 from beast.fritz.box :~#
0x05 dns2tcpc实例详细信息
在这种情况下,我们将隧道的一些交通来自客户端的外围防火墙,以我们自己的服务器后面。由于dns2tcp使用DNS(请求TXT记录(子)域内)存档的目标,我们需要创建一个NS记录为一个新的子域名指向我们的服务器的地址。
dns2tcp.kali.org. IN NS lab.kali.org.
没有必要为一个DNS服务器安装。但请记住,你可能添加了一个新的NS到一个真正的DNS区域。它可能需要一段时间,直到新的子域名为“主动”。
在接下来的步骤(dns2tcpd用法示例),我们建立我们的服务器上的配置文件(lab.kali.org),然后启动守护进程。为了确保一切工作正常,你会考虑使用选项“-F”(在前台运行)和“-d 1”(调试)在第一次启动。
现在,您可以配置主机(dns2tcpc用法示例),并运行该工具的客户端部分。现在的隧道建立,并可以使用ssh(SSH根@本地-p 2139 -D 8090)连接到远程框。请记住使用遥控盒(lab.kali.org)的用户名,因为连接进入端口2139(-p 2139)。交通到此端口获取通过DNS隧道(因为dns2tcp客户端侦听此端口)连接到远程服务器(如您的dns2tcp服务器等待端口53上的入站连接)。虽然通过ssh连接到远程机器,你还创建了一个额外的侦听器,您的ssh命令(-D 8090)。该端口可以作为SOCKS代理,交通也将tunneld到远程框。
原文来自:https://www.hackfun.org/kali-tools/dns2tcp_zh.html。转载请注明原出处,商用请联系原作者授权。