tcp-over-dns(诞生于2008年)是类似OzymanDNS(诞生于2004年)、dns2tcp(诞生于2008年)的一种DNS隧道,僵尸主机通过tcp-over-dns隧道,可以实现绕过认证上网。由于dns2tcp是一种直连型DNS隧道,非常容易暴露C2服务器,而tcp-over-dns 和OzymanDNS是一种迭代型DNS隧道(中继),可以很好的隐藏C2服务器的IP地址。总的来说,它们三个里面tcp-over-dns还是更胜一筹吧。
第一步:在服务端运行jar包
这里是运行jar包,需要指定ssh 通信端口。

第二步:在客户端运行jar包
这里随便设置一个高位端口,然后设置一下发包速度,这里100毫秒发送1个,也就是1秒发送10个DNS报文,

第三步:在客户端ssh连接C2服务器
这里直接连接第二步中设置的端口,输入服务端的ssh密码,就可以登录了。

第四步:抓包分析
可以看到这里的DNS报文都是TXT类型的,内容也是通过子域名编码传输的。
