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

  • 相关阅读:
    Failed to remove multipath map 320b508ca45022b80
    035——泛型深入
    Hibernate 和 Spring Data JPA中的 N+1 问题
    数据结构 | 二叉树
    探索CPU的黑盒子:解密指令执行的秘密
    一个悄然崛起的国产软件
    添加docker容器数据卷
    js实现pdf、word、excel、图片、html文件预览及下载
    vue2.6 + ts 使用vuex
    2023-09-18 LeetCode每日一题(打家劫舍 III)
  • 原文地址:https://blog.csdn.net/weixin_42952508/article/details/127101786