流控>>>DNS隧道 >>> dns2tcp

DNS端口
    TCP 53: 用于DNS服务器之间同步信息
    UDP 53: 用于向DNS服务器发送查询请求
DNS隧道
    基于C/S架构
    基于DNS、UDP建立连接
    通过TXT记录编码传输数据
    原理
        客户端/服务端通过程序自身实现基于UDP协议的持久稳定连接
        将原始流量编码后放入DNS协议数据中进行发送,对端接收到DNS数据后将编码部分提取出来进行解密并处理原始流量
    适用场景
        防火墙开放UDP53端口
        可以向公网DNS服务器发送查询请求
    环境限制
        需要搭建二级域名服务器且可以操控
dns2tcp
    /etc/dns2tcpd.conf  >>  配置文件
        resource
            ssh
            http
            https
            socket
    -F 前端执行,查看日志信息
    -d debug等级
    -f 指定加载配置文件
    -k 指定密钥,通过密钥确定身份
    -c 压索数据流量
    -l 本地监听端口
    -r 指定远程协议,匹配服务端的resource
    -z 指定域名
    通过dns2tcp连接进行隧道嵌套
dns2tcp实验
0x0    实验环境                        
        linux:1.1.1.101     --->    1.1.1.1    << firewall >> 192.168.1.100  -->    2003: 192.168.1.101     -->    kali: 192.168.1.102
        
        linux:  DNS >> 192.168.1.101,dns2tcp客户端
        firewall:  仅开放UDP53端口
        2003:    一级域名服务器 lab.com,委派二级域名 test.lab.com >> 192.168.1.102,配置转发器
        kali:    二级域名服务器,dns2tcp服务端
    服务端
        /etc/dns2tcpd.conf
            listen = 192.168.1.102
            port = 53
            user = nobody
            chroot = /tmp
            domain = test.lab.com
            resources = ssh:127.0.0.1:22 , smtp:127.0.0.1:25
            key = domaintest
        dns2tcpd -F -d 1 -k domaintest -f /etc/dns2tcpd.conf            
        service ssh start
    客户端
        dns2tcpc -c -d 1 -k domaintest -l 2000 -r ssh -z test.lab.com
        ssh root@127.0.0.1 -p 2000 >> 成功访问服务端shell
        
        ssh -fgNC -D 7000 root@127.0.0.1 -p 2000  >> 建立ssh动态端口转发
        IE配置socket代理,可访问外网资源
    
0x1    实验环境
        linux:1.1.1.101    ---> 2003:1.1.1.102 -->  1.1.1.1    << firewall >> 192.168.1.100  -->    2003: 192.168.1.101     -->    kali: 192.168.1.102
        
        linux:  DNS >> 192.168.1.101,dns2tcp客户端
        2003:  DNS服务器 >> 指向1.1.1.102
        firewall:  开放1.1.1.102 >> 192.168.1.101 53端口 UDP
        2003:    一级域名服务器 lab.com,委派二级域名 test.lab.com >> 192.168.1.102,配置转发器
        kali:    二级域名服务器,dns2tcp服务端
        
        linux  --> 内部2003 -->  外部2003 -->  kali     操作跟上一个实验一样,只不过查询过程不同
        
        
    客户端启动dns2tcpc后不会建立连接,当第一次请求时建立连接
        
    访问127.0.0.1:2000时,dns2tcp收到流量对流量进行编码处理,然后将编码后的数据通过1.1.1.105:N端口发送到192.168.1.125:53,
    192.168.1.125:53接收到数据后,由dns2tcp程序进行解密,然后根据配置文件中的host:port进行转发,建立连接时已经协商了转发源

    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值