iodine可以通过一台dns服务器制造一个IPv4数据通道,特别适合在目标主机只能发送dns请求的网络中环境中使用。iodine是基于C语言开发的,分为服务端程序iodined和客户端程序iodine。iodine支持EDNS、base32,base64,base128等多种编码规范。
  
  
  iodine支持直接转发和中继两种模式,其原理是通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一局域网(可以通过ping命令通信)。在客户端和服务端之间建立连接后,客户机上会多出一块“dns0”的虚拟网卡。
  
  DNS隧道流程:iodine客户端->DNS服务商->iodined服务端,由于客户端和服务端都在同一个局域网,那么只需要直接访问服务端,如3389,就直接mstsc、10.0.0.1:3389。
更多使用方法和功能特性请参考官方文档https://code.kryo.se/iodine/
 
 
(1)安装服务端
首先设置域名,要尽可能的使用短域名,域名越短,隧道的带宽消耗就越小。设置A记录iodine服务器的IP地址,将NS记录指向此子域。
 
  安装iodine服务端,如果是在windows中,需要安装编译好的对应版本的iodine。
    apt-get install iodine
 
  运行iodine服务端iodined
    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地址。
 
(2)安装客户端
 linux环境:
    iodine -f -P Micr067 vpn.payload.ltd -M 200
    -r:iodine有时会自动将DNS隧道切换为UDP隧道,该参数的作用是强制在任何情况下使用DNS隧道
    -M:指定上行主机的大小。
    -m:调节最大下行分片的大小。
    -T:指定DNS请求类型TYPE,可选项有NULL、PRIVATE、TXT、SRV、CNAME、MX、A。
    -O:指定数据编码规范。
    -L:指定是否开启懒惰模式,默认开启。
    -I:指定两个请求之间的时间间隔。
 
 windows环境:
  windows客户端可以直接使用编译好的windows版本,同时需要安装TAP网卡驱动程序。也可以下载OpenVPN,在安装时仅选择TAP-Win32驱动程序,安装后服务器上就会多出一块“TAP-Wndows ADApter V9”的网卡。
  运行客户端程序iodine,如果出现提示“Connection setup complete, transmitting data”,就表示DNS隧道已经建立。
  iodine -f -P Micr067 vpn.abc.com
 
此时,TCP over DNS已经建立,在客户端执行“ping 192.168.0.1”测试是否连通。
 
(3)使用DNS隧道
  DNS隧道的使用方法比较简单,由于客户端和服务端在同一局域网中,只要直接访问服务端即可,例如,登录目标主机的3389端口,就可以直接执行 mstsc 10.0.0.1:3389。同样,目标主机也可以直接通过ssh登录服务端。
 
(4)防御DNS隧道攻击的方法
  1.禁止网络中任何人向外部服务器发送DNS请求,只允许与受信任的DNS服务器通信。
  2.虽然没有人会将TXT解析请求发送给DNS服务器,但是邮件服务器/网关会这样做,因此,可以将邮件服务器/网关列入白名单并阻止传入和传出流量中的TXT请求。
  3.跟踪用户的DNS查询次数,如果达到阈值,就生成相应的报告。

DNS隧道工具:iodine使用的更多相关文章

  1. DNS隧道工具iodine

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

  2. DNS隧道工具dns2tcp

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

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

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

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

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

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

    DNS协议是一种请求应答协议,也是一种可用于应用层的隧道技术.虽然DNS流量的异常变化可能会被发现,但是在基于传统socket隧道已经濒临淘汰,TCP.UDP通信大量被安全设备拦截的大背景下,DNS. ...

  6. DNS隧道和工具

    DNS Tunneling及相关实现 转自:http://www.freebuf.com/sectool/112076.html DNS Tunneling,是隐蔽信道的一种,通过将其他协议封装在DN ...

  7. DNS隧道 iodns

    通过iodns这个工具也能搭建DNS隧道 iodns的优点: 对下行数据不进行编码,速度快 支持多平台 最大16个并发连接 强制密码设定 iodns创建的DNS隧道网段不能喝服务器,客户端同一网段,比 ...

  8. DNS隧道之DNS2TCP实现——dns2tcpc必须带server IP才可以,此外ssh可以穿过墙的,设置代理上网

    我自己的命令: server端: dns2tcpd -F -d 1 -f ./dns2tcpd.conf 输出: 09:08:59 : Debug options.c:97 Add resource ...

  9. 2016.6.17 kali Linux 隧道工具

    隧道工具的基本概念: 1.在计算机网络中,隧道工具是指使用一种网络协议去封装另一种网络协议的技术. 2.通常用来数据伪装或者穿越防火墙,在入侵目标系统后,可用来提升权限和权限维持. Kali中的隧道工 ...

随机推荐

  1. SpringJDBC的使用(转载)

    转载自   https://www.yiibai.com/spring/maven-spring-jdbc-example.html 工具: eclipse4.7.2及mysql-8.0.13 项目最 ...

  2. $loj\ 6045$ [雅礼集训 $2017\ Day8$] 价 网络流

    正解:网络流 解题报告: 传送门$QwQ$ 这题还,挺有趣的我$jio$得. 考虑依然先是照着最小割的模子建图呗,然后从意义上来分析,割一条边就相当于不吃一种减肥药/买一种药材.由已知得,买的药材数量 ...

  3. 洛谷$P4316$ 绿豆蛙的归宿 期望

    正解:期望 解题报告: 传送门! 看懂题目还是挺水的$(bushi$ 三个方法,但因为题目太水了懒得一一介绍了,,,反正都是期望,,,$so$随便港个最简单的趴$QwQ$ 直接考虑每条边的贡献,就会是 ...

  4. jsp 知识点总结

    JSP 入门案例(计算器的实现) 对于jsp 学习的一些总结 1.使用Dreamweaver 搭建网页 计算器 第一个数字 符号 + - * / 第二个数字 <form id="for ...

  5. wrk性能测试(详解)

    一.简介 wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,通过多线程和事件模式,对目标机器产 ...

  6. 基于 HTML5 WebGL + WebVR 的 3D 虚实现实可视化培训系统

    前言 2019 年 VR, AR, XR, 5G, 工业互联网等名词频繁出现在我们的视野中,信息的分享与虚实的结合已经成为大势所趋,5G 是新一代信息通信技术升级的重要方向,工业互联网是制造业转型升级 ...

  7. 从头学pytorch(十五):AlexNet

    AlexNet AlexNet是2012年提出的一个模型,并且赢得了ImageNet图像识别挑战赛的冠军.首次证明了由计算机自动学习到的特征可以超越手工设计的特征,对计算机视觉的研究有着极其重要的意义 ...

  8. Redis-CAP定理和BASE理论(二)

    CAP理论概述 1998 年来自柏克莱加州大学的计算机科学家 埃里克.布鲁尔(Eric Brewer) 提出分布式系统的三个基本指标:Consistency(一致性).Availability(可用性 ...

  9. Alodi:环境创建从未如此简单

    一个满足你各种想象的快速方便生成临时环境的系统 在『Alodi:为了保密我开发了一个系统』文章中有讲到我们开发了一个系统用来快速生成临时测试环境,短短三个月已有数百个环境被创建,简化了工作,节省了时间 ...

  10. 【DPDK】【Multiprocess】一个dpdk多进程场景的坑

    [前言] 这是一个隐藏了近3年的问题,理论上只要用到DPDK multiprocess场景的都会遇到这个问题,具体出不出问题只能说是看运气,即使不出问题也仍然是一个风险. [场景] 我先描述一下这个问 ...