这年头,连DNS隧道都被玩坏了( 五 )


Dnscat2 还提供了多域名并发特性,可以将多个子域绑定在同一个NS下,然后在服务端同时接收多个客户端连接 。不过,没有找到一个客户端连接利用多域名通信的方法,不知道作者有没有实现这个功能 。
操作命令如下:
服务端

ruby dnscat2.rb --dns=port=53532 --security=open
dnscat2> start --dns domain=<domain.com>,domain=<domain.com>
客户端:
./dncat <domain.com>
我试过 "./dncat –dns domain=,domain=",想在一个客户端利用多域名通信,然而通过抓取流量分析,还是只用了一个域名 。
Dnscat2 利用的DNS请求类型默认是TXT,CNAME,MX随机混合使用,可以在运行时通过参数自定义 。
4.OzymanDNS
OzymanDNS是较早的一个工具,它基于perl开发,我只在作者博客上找到了一个0.1版本,它的主要功能就是结合ssh做文件传输 。请求类型是TXT,用base32编码,响应用base64编码 。
OzymanDNS需要依赖其他的perl模块,所以安装的时候需要根据提示完成一些其他的依赖 。
服务端:
./nomde.pl -i 0.0.0.0 <domain.com>
nc -l 1234 > test.txt
客户端:
ssh -o ProxyCommand="./droute.pl sshdns.domain.com" -L 7777:127.0.0.1:1234 -Nf
user@host
nc 127.0.0.1 7777 < test.txt
客户端使用了SSH -L 的端口转发功能 。
在示例的文件传输过程中,每16k写入一次硬盘 。Ozymandns的功能较单一,不如前几个那么稳健强大 。而且年久失修,只能作为一个参考,我在测试过程中,始终无法顺利完成一个大于1M的文件传输 。
四、结论通过对四个工具的测试,Ozymandns是比较老旧了,功能单一,没有实用价值 。Dns2tcp采用直连,但速度不是特别乐观,优势在于kali直接集成了这个工具,部分linux发行版也都可以直接通过包工具下载,相对方便 。iodine和Dnscat2则是目前的主流,Dnscat2提供了灵活的交互模式,而iodine则在编码,请求类型上提供了更丰富的选择,而且在速度方面,其他工具望尘莫及 。
DNS是非常强大的工具,几乎可以在任何地方使用,允许应用程序和系统查找与之交互的资源和服务 。DNS提供了一个通信基础,使更高级别和更强大的协议能够运行,但从安全角度来看,这可能意味着它被忽略,特别是当您考虑通过电子邮件协议传送多少恶意软件或使用HTTP从Web下载时 。出于这些原因,DNS是黑客的完美选择,以利用来自受感染主机的通信 。Unit 42已经看到多个恶意软件实例及其背后的参与者滥用DNS以实现其目标,如本报告所述 。无论是使用Palo Alto Networks的安全操作平台还是开源技术,组织都可以通过多种不同的方式保护自己免受DNS隧道攻击 。
结语从月薪3000到年薪35W,一个网络安全行业的职场逆袭故事 。想入行,可以私信我,发“入行”两个字拿学习资料 。#小白入行网络安全#

【这年头,连DNS隧道都被玩坏了】


推荐阅读