0%

速度可以接受的dns隧道方案

速度可以接受的dns隧道方案

QQ群:397745473

速度可以接受的dns隧道方案

1
2
3
4
5
6
参考: https://zhuanlan.zhihu.com/p/70263701
参考: https://blog.csdn.net/localhost01/article/details/86579828
参考: https://www.cnblogs.com/micr067/p/12263337.html


Iodine下载地址 GitHub:https://github.com/yarrick/iodine

服务端设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
NS: ns.test.com --> nserver.test.com
A : nserver.test.com --> dns服务器的IP

通过iodine建立DNS隧道:
sudo iodined -P passwd -f -DD 192.168.0.1 abc.com
abc.com 自定义DNS传输的主域名
192.168.0.1 自定义的局域网虚拟IP
passwd 自定义密码,客户端需要同样密码才能连接
-f 前台显示
-P 设置通信密码(我的密码是hackbijipasswd)
192.168.0.1 自定义的局域网虚拟IP
ns.test.com (我的域名,也可以设置为nserver.test.com)



iodined -f -c -P Micr067 192.168.0.1 vpn.abc.com -DD
    -f:在前台运行
    -c:禁止检查所有传入请求的客户端IP地址。
    -P:客户端和服务端之间用于验证身份的密码。
    -D:指定调试级别,-DD指第二级。“D”的数量随级别增加。
    这里的192.168.0.1是自定义的局域网虚拟IP地址。

客户端设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
iodine -f -P Micr067 vpn.abc.ltd -M 200
    -r:iodine有时会自动将DNS隧道切换为UDP隧道,该参数的作用是强制在任何情况下使用DNS隧道
    -M:指定上行主机的大小。
    -m:调节最大下行分片的大小。
    -T:指定DNS请求类型TYPE,可选项有NULL、PRIVATE、TXT、SRV、CNAME、MX、A。
    -O:指定数据编码规范。
    -L:指定是否开启懒惰模式,默认开启。
    -I:指定两个请求之间的时间间隔。


本地客户端连接服务器
sudo iodine -P 123456 -f -r -T TXT <your iodine server ip> abc.com


<your iodine server ip> 可选,表示不走DNS服务商这一步,直接向iodine服务端所在的服务器IP请求DNS解析,即直连
-r 由于iodine有时可能会自动切换DNS隧道为UDP通道,故该参数作用是:强制在任何情况下使用DNS隧道
-f 将使客户端保持在前台运行
-t 使用的DNS类型

-fP hackbijipasswd 前台显示,并设置密码(hackbijipasswd)
96.45.188.252 我的服务器IP地址
ns.test.com 我的域名(必须和服务器设置的域名保持一致)

iodine -fP hackbjipasswd 96.45.188.252 ns.test.com

iodine -fP hackbjipasswd 96.45.188.252 nserver.test.com

利用

1
2
3
4
5
6
7
对抗校园网的计费认证策略
禁止出内网环境

dns隧道参考:
服务器: iodined -fP testDnsTcp 10.0.0.1 ns.cnnlook.com
客户端: iodine -fP testDnsTcp nserver.cnnlook.com ns.cnnlook.com
客户端: iodine -fP testDnsTcp -r -T TXT nserver.cnnlook.com ns.cnnlook.com

防御

1
2
3
4
5
6
7
(3)使用DNS隧道
  DNS隧道的使用方法比较简单,由于客户端和服务端在同一局域网中,只要直接访问服务端即可,例如,登录目标主机的3389端口,就可以直接执行
  mstsc 10.0.0.1:3389。同样,目标主机也可以直接通过ssh登录服务端。

(4)防御DNS隧道攻击的方法
  1.禁止网络中任何人向外部服务器发送DNS请求,只允许与受信任的DNS服务器通信。
  2.虽然没有人会将TXT解析请求发送给DNS服务器,但是邮件服务器/网关会这样做,因此,可以将邮件服务器/网关列入白名单并阻止传入和传出流量中的TXT请求。

QQ群:397745473

欢迎关注我的其它发布渠道