防火墙禁止TCP出站访问流量
SSH隧道、端口转发全部失效
使用基于UDP协议的隧道
DNS的工作原理适合用于实现隧道
DNS工作原理
DNS隧道原理:注册受自己控制的DNS记录
利用合法DNS服务器实现DNS隧道
C/S(dns2tcpc / dns2tcpd)结构
通过TXT记录加密传输数据(A记录长度有限)
隧道建立后保持连接
默认记录生存时间TTL值为3秒
apt-get install dns2tcp
kali默认安装
windows 2008:安装DNS服务,配置转发器,创建区域lab.com;指派二级域test.lab.com,NS记录指向kali
防火墙:只允许出站UDP 53端口流量
Ubuntu:安装dns2tcp、wireshark、firefox

1.首先我们启动一下防火墙

2.之后我们随意用一台linux机器充当内网主机,并安装dns2tcp

3.协议修改成只允许UDP的53端口通过

4.接着我们用一台2008充当DNS服务器











5.接着讲Linux的dns解析填写为2008的地址


6.之后我们在kali修改一下dns2tcp的配置

7.之后就可以启动服务端程序了
dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf -F:前端运行 -d:debug level 1-3 -f:指定配置文件

8.之后去客户端执行一下命令
dns2tcpc -c -k pass -d 1 -l 2222 -r ssh -z test.lab.com



建议大家在kali和2008服务器上抓包查看学习
在2008服务器上会查看到服务器给他发的包,然后他再转发到kali上,就这样中间转发
注:除此之后可以尝试除SSH的其他服务,例如http
本地SSH资源
远程http资源
http代理(squid)
apt-get install squid3
https代理
隧道嵌套
基于SSH资源将SSH动态端口转发隧道嵌套于DNS隧道中
ssh -CfNg root@127.0.0.1 -p 2222 -D 7001
XP IE、Firefox使用嵌套的Socks代理上网
抓包分析DNS隧道通信(嵌套加密)