1.简介
iodine是目前比较活跃,知名度比较大的一个dns tunneling实现工具。我查阅了其他人的博客,需要用到VPS,不便于复现。为了帮助初学者学习iodine,因此在本地环境中搭建了DNS隧道。其中客户端和服务器使用的都是kali,而windows2003起一个域名解析的作用。
2.参数说明
Server:
iodined [options] < tunnel_ip > < topdomain >
tunnel_ip : 指定server在TUN接口上的IP,客户端的TUN接口IP会和服务端在同一子网内
topdomain : 用来构造域名的上级域,也就是我们ns记录中的指定域名
Options:
-D : 指定调试级别,-DD指第二级,‘D’随等级增加
Client:
iodine [options]
Options:
-r : 采用DNS中继模式传输数据
-M : 指定上行主机名大小
-m : 调节最大下行分片大小
-T : 指定所使用的DNS请求类型,可选有NULL,PRIVATE,TXT,SRV,MX,CNAME,A
-O : 指定数据编码规范
-L : 是否使用懒惰模式,默认开启
-I : 指定请求间的时间间隔
公用Options:
-f : 前台运行
-P password : 指定一个password进行认证,如果不指定,后续会提示
3.实验环境
kali客户端 192.168.159.129
kali服务器 192.168.159.140
windws server 2003 192.168.159.136
4.实验准备
在windows server 2003配置dns服务器
5.实验演示
(1)服务端iodined -c -P 123456 10.0.0.1 kali2019.test.com -DDD
查看服务器ip地址,多了一个dns0接口,IP地址是咱们设置的10.0.0.1
(2)客户端iodine -r -f -P 123456 192.168.159.140 kali2019.test.com -M 200
查看本地客户端IP地址,多了一个dns0接口,并且IP地址是自动生成和服务器一个网段的10.0.0.2
(3)客户端输入ssh root@10.0.0.1
可以远程登录服务器,证明dns隧道建立成功