DNS协议隧道(1)

  • 防火墙禁止TCP出站访问流量

  • SSH隧道、端口转发全部失效

  • 使用基于UDP协议的隧道

  • DNS的工作原理适合用于实现隧道

  • DNS工作原理

  • DNS隧道原理:注册受自己控制的DNS记录

具体实现:

Dns2tcp

  • 利用合法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隧道通信(嵌套加密)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值