DNS2TCP流量转发绕过网络认证

作者: 王一航 | 来源:发表于2017-07-23 23:44 被阅读125次

    简介 :

    常见的内网环境中 , 防火墙可能会限制只允许 udp 53 端口出站
    这样就可以利用 DNS 查询流量来封装 TCP 流量 , 达到绕过防火墙的目的
    例如 : 
    CMCC / 机场 / 火车站 等需要认证才可以链接互联网的网络环境
    

    准备 :

    1. 一台公网VPS
    2. 一个可控域名
    
    

    方法一 (dns2tcp)

    Client

    dns2tcpc -z dns.domain.com -d 2 -k password -l 4444 -r ssh
    -d Debug level
    -k 密码
    -l 本地监听端口
    -r 请求的资源
    -z 指定可控的域名
    

    Server

    ==================================
    listen = 0.0.0.0
    port = 53
    # If you change this value, also change the USER variable in /etc/default/dns2tcpd
    user = nobody
    key = password
    chroot = /tmp
    domain = dns.domain.com
    resources = ssh:127.0.0.1:22
    ==================================
    dns2tcpd -F -d 1 -f /etc/dns2tcpd.conf
    

    Domain

    1. 新建一条 A 记录例如 ns1 , 指向之后要作为 DNS 服务器的 VPS (8.8.8.8)
    记录类型 A , 记录值 ns1 , 指向 8.8.8.8 
    2. 新建一条 NS 记录
    记录类型 NS , 记录值 dns , 指向 ns1.domain.com
    

    Screen shot cut

    image.png Screenshot from 2017-07-23 23-10-28.png

    方法二 : (iodine)

    特点 : 
    1. 直接在本地和服务器分别模拟出两张虚拟网卡 , 直接通过虚拟网卡通信
    2. 下行流量不加密 , 效率更高
    

    Server

    iodined -c -f -D 10.0.0.1 dns.domain.com
    -c 启用压缩
    -f 前端运行
    -D debug 模式
    

    Client :

    iodine -f dns.domain.com
    

    Domain

    同方法一
    

    参考资料 :

    http://www.adeptus-mechanicus.com/codex/dnstun/dnstun.php
    http://code.kryo.se/iodine/README.html
    http://www.hsc.fr/ressources/outils/dns2tcp/

    相关文章

      网友评论

        本文标题:DNS2TCP流量转发绕过网络认证

        本文链接:https://www.haomeiwen.com/subject/tshvkxtx.html