防火墙禁止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服务器
一直下一步安装就好了 首先新建区域 选择主要区域 输入区域名称 然后一直下一步就行了 之后新建主机;IP解析到kali的地址上 主机记录添加后;在新建委派 填写子域的名称 最后要配置一下转发器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之后抓包就可以看到dns包 连接ssh自身的SSH会重定向到kali上面
建议大家在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隧道通信;嵌套加密;