【工具使用】应用层DNS协议工具—iodine

【工具使用】应用层DNS协议工具—iodine0x01iodine 工具介绍 iodine 工具是基于 C 语言开发的 分为服务端程序 iodined 和客户端 iodine iodine 支持 EDNS base32 base64 base128 等多种编码规范 iodine 支持转发模式和中继模式 iodine 原理 通过 TAP 虚拟网卡 在服务端建立一个局域网 在客户端 通过 TAP 建立一个虚拟网卡 两者通过 DNS 隧道连接 处于同一局域网 可以通过 ping 命令通信 在客户端和服务端之间建立连接后 客户机上会多出一块 dns0 的虚拟网卡 DNS 隧道

0x01 iodine 工具介绍

iodine工具是基于C语言开发的,分为服务端程序 iodined客户端 iodine,iodine支持 EDNS、base32、base64、base128等多种编码规范。

iodine支持转发模式中继模式

iodine原理:通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一局域网(可以通过ping命令通信),在客户端和服务端之间建立连接后,客户机上会多出一块 “dns0” 的虚拟网卡。

DNS隧道流程:iodine客户端 -> DNS服务商 -> iodined服务端,由于客户端和服务端都在一个局域网,那么只需要直接访问服务端,如 3389 (直接使用 mstsc) 、22 (ssh 建立连接) 。

与同类工具相比,iodine具有如下几种特点:

->不会对下行数据进行编码 ->支持多平台(Linux、Windows、MacOS) ->支持16个并发连接 ->支持强密码机制 ->支持同网段隧道IP低质(不同于服务器——客户端网段 ->支持多种DNS记录类型 ->提供了丰富的隧道质量检测措施 

0x02 使用iodine搭建隧道

一、部署域名解析

首先,需要有一台公网VPS作为 C&C 服务器,并准备一个域名,去配置域名的记录, 先创建一个 “A” 记录,将自己的域名(NS记录类型的记录值)解析到VPS服务器地址,然后创建NS记录,将NS的主机记录名指向记录值。

再来测试NS类型解析是否可用,在VPS上使用tcpdump进行监听

命令:tcpdump -n -i eth0 udp dst port 53 

二、安装iodine服务端并启动

在这里插入图片描述
执行以下命令启动服务端

iodined -f -c -P password 192.168.100.100 xxx.xxx.xyz -DD -f:在前台运行 -c:禁止检查所有传入请求的客户端IP地址 -P:指定密码 -D:指定调试级别。-DD 指第二级,D的数量随等级增加 这里的192.168.100.100是自定义的局域网虚拟IP地址 

在这里插入图片描述
启动完后,可以通过iodine检查页面:[[点击前往]]](https://code.kryo.se/iodine/check-it/)检查配置是否正确,如下表示配置成功!
在这里插入图片描述
这时,回到服务端可以看到VPS上多了一块网卡(dns0),ip是我们设置的 192.168.100.100
在这里插入图片描述
三、安装iodine客户端并启动




以Windows系统为例

以Linux系统为例

执行以下命令:iodine -f -P password xxx.xxx.xyz 

0x03 使用DNS隧道

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233787.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • hook技术截取服务器信息,Windows Hook技术

    hook技术截取服务器信息,Windows Hook技术0x01简介有人称它为“钩子”,有人称它为“挂钩”技术。谈到钩子,很容易让人联想到在钓东西,比如鱼钩就用于钓鱼。编程技术的钩子也是在等待捕获系统中的某个消息或者动作。钩子的应用范围非常广泛,比如输入监控、API拦截、消息捕获、改变程序执行流程等方面。杀毒软件会用Hook技术钩住一些API函数,比如钩住注册表读写函数,从而防止病毒对注册表进行写入;病毒使用Hook技术有针对性的捕获键盘的输入,从而…

    2022年5月9日
    80
  • sudoers问题[通俗易懂]

    sudoers问题[通俗易懂]由于自己修改sudoers文件失误,导致切换root用户报错公司同事劝我重新装系统,经过我不懈的努力,今天下午终于解决了这个问题1.将/etc/sudoers的owner和组,修改为admin:chownroot:admin/etc/sudoers然后sudo又出现了一个新的问题2.继续su切换到root用户,修改权限suchmod5…

    2022年6月20日
    26
  • Ubuntu安装GCC5/7/9/10/11「建议收藏」

    Ubuntu安装GCC5/7/9/10/11「建议收藏」为了使用C++14/17的新特性,我们难免要升级下自己的GCC版本,同时还要保证自己新安装的GCC生效,并且和原GCC共存。安装GCC-5.0sudoadd-apt-repositoryppa:ubuntu-toolchain-r/testsudoapt-getupdatesudoapt-getinstallgcc-5g++-5sudoupdate-alte…

    2022年7月24日
    24
  • stagefright_StageFright:Android操作系统中最易受攻击的错误

    stagefright_StageFright:Android操作系统中最易受攻击的错误stagefrightIntroduction:介绍:Ifwetalkaboutsmartphonesandandroiddevices,thentherearebillionsofbillionsusersusingandroidOSworldwide.1.5millionandroiddevices…

    2025年7月12日
    3
  • 比较坑的Tomcat闪退(win7)

    比较坑的Tomcat闪退(win7)**我的tomcat7用了好久了,可以说是最开始学习javaweb的时候下载的,看着别人的视频里一顿配置,于是我也跟着一顿配置,虽然当时完全不知道在干什么,感觉好厉害的样子!然后直到有一天,你可能把电脑里一些没什么卵用的自己瞎做的项目删除了之后,然后你启动你的tomcat的startup.bat的时候,让人无语的时候来了,只见刷的一下cmd窗口就飞过,然后就没了,你还是一脸蒙逼,什么也不知道。。。…

    2022年5月30日
    31
  • 判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段[通俗易懂]

    判断数组中是否包含某个元素,判断对象中是否包含某个属性,判断字符串中是否包含某个字符串片段[通俗易懂]1-判断对象中是否包含某个元素方法一:使用invarstr={name:”mayouchen”,name:”js”,age:100}alert(‘name’instr);//tr

    2022年8月31日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号