一、简单说明
在前面的博客中,已经实现了ICMP隧道和 SMB隧道,其实,常用的隧道有四种类型:
SMB 协议
ICMP 协议
DNS 协议
SSH 协议
因此,在实际环境中在选择隧道类型之前,必须先进行判断,例如本例中,防火墙禁用了全部的tcp出站数据
现在通过浏览器访问网站,会发现网站打不开,但是,此时可以ping
那么在这个时候,就可以用icmp协议进行出网
同样,也可以判断是否可以用dns协议
判断是否可以用dns协议的方法,如果是windows的话,用nslookup,如果有回显的话,就说明可以进行出网。
注意:关于DNS协议
在进行区域传输的时候,用的是tcp协议
在进行域名解析的时候,用的UDP协议
在这个案例中,禁用了TCP协议,所以DNS进行域名解析是不会受到影响的
二、实现DNS上线
2.1 架构图
2.2 配置环境
2.2.1 在云主机上安装和启动cs
在这个案例中,在CS中在设置监听器的时候,需要指定一个域名,而且,被攻击主机在执行了后门以后,需要根据DNS解析结果反向链接CS主机,所以,安装CS的主机需要有公网IP。
本例中,使用腾讯云服务器,作为CS的服务端。
本例中,云服务器操作系统是centos7
在linux中安装、启动CS
1)下载cs的安装包
链接:https://pan.baidu.com/s/1MhiIS8btb_7G-dGdUQWJ8A
提取码:a1hm
2)在linux中进行安装
安装过程就两步
1)安装java环境
2)解压cs软件包
# 1) 安装java
yum install java -y
# 2)解压cs软件包
unzip CSAgent-full
# 3)进入解压目录
cd release
# 4)为启动程序赋权
chmod +x teamserver
# 5)启动cs的服务端
nohup ./teaserver 当前云主机IP 123 &
# 6)检查是否启动成功【如果看到了50050端口在运行,CS就启动了】
ss -tnl | grep 50050
2.2.2 本地主机启动cs客户端
双击bat程序,就可以完成启动
链接cs的服务端
2.2.3 配置被攻击主机
这个主机的系统是windows server 2008
这个主机主要能联网就可以了,不需要其他的配置
2.2.4 配置域名解析服务
配置准备的域名是:zzedu.site
需要配置NS记录和A记录
先来添加一个A记录,指向cs的地址
然后添加ns记录,指向cs这个域名
此时多了两个记录
简单说一下原理
首先,NS服务器记录,就是DNS服务器的地址 用户在访问域的时候,需要进行域名解析,而在解析域名的时候,就需要去找DNS服务器
在网络中,用户在需要解析域名的时候,需要首先找DNS地址,也就是找ns1.zzedu.site,但是这个还是一个域名,而不是一个IP,所在就会继续对这个域名进行解析cs.zzedu.site,此时对这个域名解析的时候就用到 A记录,也就会解析到 IP地址,而这个A记录就是CS的IP地址,这样就打通了CS和被攻击主机。
注意:
在cs中,创建监听器的时候,就写ns1.zzedu.site
2.3 生成后门控制目标主机
生成监听器
生成后门
在被攻击主机执行了后门后,会发现主机上线了,但是是黑色的
此时,需要在会话中执行一个命令:mode dns-txt
终于上线成功