一、入坑必读

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:download.csdn.net/download/lo…

二、原理简述

  1. 通过TAP虚拟网卡(即需要单独安装tap-driver),在服务端机器(相应程序iodined)建立一个局域网(如ip为10.0.0.1);
  2. 客户端机器(相应程序iodine)也需要TAP建立虚拟网卡;
  3. DNS隧道流程:iodine客户端->DNS服务商->iodined服务端
  4. 服务端程序 iodined 提供特定域名的DNS解析服务。当客户端请求该域名的解析,就可以建立通道连接。
  5. 两者通过DNS隧道,同处于一个局域网(即两张虚拟网卡IP会在同一个局域网)。

因此,正式使用时,需要购买一个域名。并在服务商控制台配置该域名将NS转由iodined服务端去解析!

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

如3389,就直接mstsc10.0.0.1:3389

三、安装使用

1、安装

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

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

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

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

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

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

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

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

2、使用

在服务端机器上,执行:

sudo iodined -P 123456 -f -DD 192.168.0.1 abc.com
复制代码

其中:

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

在客户端机器上,执行:

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类型

『DNS隧道工具集合』— iodine相关推荐

  1. 『DNS隧道工具』— iodine

    一.入坑必读 1.简介 因为 iodine(碘)的原子序数为53,这恰好是DNS端口号,故取名为iodine. iodine基于C语言开发,分为服务端程序 iodined 和客户端程序 iodine, ...

  2. 『DNS隧道工具』— dns2tcp

    一.入坑必读 1.简介 dns2tcp 是一个利用DNS隧道转发TCP连接的工具,使用C语言开发. 使用热度: ★★★★☆ 2.专业词 Type:DNS解析的类型,常见的有:A.CNAME.MX.TX ...

  3. DNS隧道工具iodine

    DNS隧道工具iodine 在受限制的网络中,如果DNS请求没有被限制,就可以通过DNS请求建立隧道而突破网络限制.iodine是Kali Linux提供的一款DNS隧道工具.该工具分为服务器端iod ...

  4. DNS隧道工具dns2tcp

    DNS隧道工具dns2tcp 在很多网络环境中,防火墙会限制出站流量,主机往往只能访问外网主机有限的几个端口,如DNS的53端口.这时,就可以通过DNS请求和响应机制,建立通信隧道.Kali Linu ...

  5. DNS隧道工具使用 不过其网络传输速度限制较大

    DNS隧道工具使用 http://www.freebuf.com/sectool/112076.html http://netsec.ccert.edu.cn/zhengming/2011/11/01 ...

  6. DNS隧道工具汇总——补充,还有IP over DNS的工具NSTX、Iodine、DNSCat

    github上有一堆的工具:https://github.com/search?utf8=%E2%9C%93&q=DNS+tunnel+&type= DNS隧道大检阅 研究了一天的DN ...

  7. 软件测试之『接口自动化工具盘点』及『项目部署』

    目录: 1. 2.1 接口自动化工具 2. 2.2 项目部署 2.1 接口自动化工具 目录: 1. 2.1.1 接口测试工具分类 2. 2.2.2 接口测试工具的不足 2.1.1 接口测试工具分类 用 ...

  8. dns隧道攻击原理及常用工具流量分析

    今天看到一个关于Lyceum组织的文章,这个组织擅长使用dns隧道攻击,这种攻击方式还是头一次听说,于是搜集了一些文章来看看. 原文https://www.cnblogs.com/HighnessDr ...

  9. 利用DNS隧道绕过上网认证

    很久之前写的文章,因为其他平台被和谐了,修改一些内容重新发布,其中使用的软件版本可能比较低. 一.原理 1.1.dns概述 dns协议最基本的作用是将域名映射为ip地址,让我们在访问网页的时候无需记住 ...

最新文章

  1. 博创提供专业的解决方案---宝钢高炉改造无线监控
  2. cmake学习(五) 系统默认变量和内置变量
  3. Spring事务管理(三)-PlatformmTransactionManager解析和事务传播方式原理
  4. 【数据结构与算法】【算法思想】【算法应用】【排序查找搜索】并行
  5. 赤虹JSON模块 v1.0 麻雀虽小, 五脏俱全
  6. c++两个数组对比去掉重复的元素_每日一道 LeetCode (8):删除排序数组中的重复项和移除元素...
  7. Quartus17下载程序进FPGA
  8. 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照
  9. LINQ to XML:如何读写XCData
  10. 怎么查询sybase money列数据长度_用PBI分析上市公司财务数据(一)
  11. strcpy_s函数
  12. [转载]八种常见的防盗链方法总结及分析
  13. 实用:python字符编码之间的转化(来猜猜博主的真实姓名)
  14. 南华大学计算机系宿舍,2021年南华大学新生宿舍条件和宿舍环境图片
  15. 几何光学学习笔记(1)- 1.1 几何光学的基本概念和定律
  16. 浮动IP地址(Float IP)与 ARP欺骗技术
  17. 郑州大学计算机硕士分数线,郑州大学今年的录取分数线是多少?不同的专业呢...
  18. 机器学习--sklearn之决策树(分类+回归)
  19. 在桌面计算机找不到光盘驱动器,我照的婚纱,把光盘放进里面了,打开电脑了,在电脑上找不到相片...
  20. 电子沙盘系统android,交互式军事电子沙盘系统

热门文章

  1. java https 网络爬虫_Java 网络爬虫,就是这么的简单
  2. js转换html为pdf文件怎么打开方式,pdf.js实现在HTML下直接浏览pdf文档,无需插件即可实现...
  3. dw6能编译asp吗,让Adobe Dreamweaver CC支持ASP
  4. 启动ipython_ipython,_ipython 启动错误,ipython - phpStudy
  5. Java isfile()与exists()的区别
  6. html实现让电脑断网的功能,13. Electron 断网提醒功能的实现
  7. python的cfg是什么模块_cfg4py:一个严肃的Python配置模块应有的风格-层级式、部署环境自适应、自动补全...
  8. 关于全国大学生智能汽车竞赛有关问题的建议
  9. Arduino生成ATmega8的运行程序并下载
  10. 高压测试平台:高压包产生高电压基本测试参数