DNS隧道穿透

介绍:

DNS隧道,是隧道技术中的一种。当我们的HTTP、HTTPS这样的上层协议、正反向端口转发都失败的时候,可以尝试使用DNS隧道。DNS隧道很难防范,因为平时的业务也好,使用也罢,难免会用到DNS协议进行解析,所以防火墙大多对DNS的流量是放行状态。

使用场景:

机器不出网,但是可以做dns查询。

1、外部访问内部资源(内部不出网)

目标是内网,并且只有dns出网的情况下,通过自己的公网服务器搭建到目标的dns隧道,从而通过公网服务器代理进入目标内网,遨游目标内网。

2、内部访问外部资源(内部不出网)

自己在一个内网里面,自己所处的环境不出网,但是dns可以出网,就可以用过dns2tcp搭建一个dns隧道,从而可以访问到互联网环境。

典型环境:在学校连接到wifi之后,必须要认证登陆,不然不能上网,但是浏览器又能加载出登陆界面,此情况就是dns出网,可以通过dns2tcp搭建dns隧道绕过认证登陆。

实操:

原理讲解:

DNS隧道穿透_第1张图片

先使用dns建立一个隧道,然后使用frp打通,使用vps作为一个代理服务器,帮我们去请求外部资源,这里从而实现了破解的效果

绕过校园网:(内部访问外部资源)

(前面的域名这些步骤就不做多说,可以看下面的参考文章

准备:

window、vps、iodine、frp、tap(虚拟网卡)

1、连接校园网使用cmd查看是否能解析域名

nslookup

2、先需要在windows上安装tap虚拟网卡,这样才可以使用iodine构建在内网中

3、在vps开启iodined服务端

iodined  -f -c -P hjw123  192.168.100.1  ns.cn-dragon.cn -DD

4、在windows上开启iodine客户端

iodine -f -P hjw123 -M 200 123.60.79.153  ns.cn-dragon.cn

这个指令是在windwos上的,如果是在linux上使用下面这条

iodine -f -P hjw123 ns.cn-dragon.cn -M 200

这也是经过了一段时间摸索出来的,也不知道啥原理,如果不这样总是报错

5、成功后查看ip地址发现会有新的ip地址

ipconfig
ifconfig

6、这时候校园网内的主机就和vps在同一内网下,可以使用frp建立代理隧道,或者使用ew来

7、windows校园网主机使用frps,在frps.ini里进行配置

[common]
bind_port = 7000

8、在vps中使用frpc,在frpc.ini里进行配置

[common]
server_addr = 192.168.100.2
server_port = 7000
tls_enable=true

[socks5_xm]
type = tcp
remote_port=52013
plugin=socks5

9、启动frp之后就可以构建一个隧道

10、给windows本地设置192.168.100.1:52013的代理

外部访问内部资源

这里其实也很简单,我们将frp的两端交换,这里可以达到外部访问内部的资源,这时我们将服务器的52013作为代理端口

由于这是在两台电脑上进行操作的,无法截图,只能将流程原理介绍一遍,参考文章中有很详细的讲解。看完之后再回头看这篇文章会更加的理解

参考文章:

一文读懂DNS隧道-dns隧道 cobaltstrike

你可能感兴趣的:(内网渗透,服务器,linux,运维)