跳板攻击之:dns2tcp
跳板攻击之:dns2tcp
目录
1 dns2tcp简介
dns2tcp 是一个利用 DNS 隧道转发 TCP 连接的工具,支持 KEY 和 TXT 类型的请求,用 C 语言开发。它分为两个部分,服务端和客户端,服务端运行在 linux服务器上,客户端可以运行在 linux 和 windows 上,编译完成后在服务端上的可执行文件名称为 dns2tcpd,在客户端上的名称为dns2tcpc,kali 默认安装了二者。
- 采用直连,但速度不是特别乐观
- 利用合法DNS服务器实现DNS隧道
- C/S(dns2tcpc / dns2tcpd)结构
- 默认通过TXT记录(base64编码)传输数据(A记录长度有限)
- 隧道建立后保持连接,大概0.6s发出一个数据包,最大是3s可以设置
- 还需要配合其他代理工具
2 dns2tcp 食用说明
2.1 dns2tcpd 服务端
2.1.1 服务端参数说明
# dns2tcpd
-F 强制在在台运行,默认在后台
-i IP address
监听 ip,默认 0.0.0.0
-f 配置文件
指定使用的配置文件路径
-d debug level
指定调试级别,输出相关级别日志,默认为 1,2,3
2.1.2 配置文件
listen = 127.0.0.1
port = 53
# If you change this value, also change the USER variable in /etc/default/dns2tcpd
user = nobody
chroot = /tmp
domain = your.domain
resources = ssh:127.0.0.1:11022, smtp:127.0.0.1:25
- 最后的resources里面配置的是dns2tcp供客户端使用的资源。作用是:客户端在本地监听一个端口,并指定使用的资源,当有数据往端口传送后,dns2tcp客户端将数据用DNS协议传动到服务器,然后服务器将数据转发到对应的资源配置的端口中。
2.2 客户端参数说明
# dns2tcpc
-c : 启用压缩
-z <domain> : 指定所使用的域名
-d <1|2|3> : 调试级别 (1, 2 or 3)
-r <resource> : 访问的目标资源
-f <filename> : 配置文件路径
-l <port|-> : 本地监听端口
-T <TXT|KEY> : DNS 请求类型,默认为 TXT
3 实验环境
4 利用过程
-
实现:内网Win10通过DNS隧道代理访问到外网
-
设置域名信息
# 添加 A 记录 acdns.fcarey.com 指向 VPS IP # 添加 NS 记录 aclab.fcarey.com 指向 acdns.fcarey.com
-
VPS 服务端上安装DNS2TCP
apt install dns2tcp
-
VPS 服务端上修改配置文件如下
listen = 0.0.0.0 port = 53 # If you change this value, also change the USER variable in /etc/default/dns2tcpd user = acuser key = Admin123 chroot = /tmp domain = aclab.fcarey.com resources = ssh:127.0.0.1:22 , http:127.0.0.1:80 , socks:127.0.0.1:12321
- user:密码是服务端系统的用户
- key:设置VPS密码
-
启动 DNS2TCPD 服务
dns2tcpd -f /etc/dns2tcpd.conf -F -d 3
-
Win10客户端执行
# 使用http代理 dns2tcpc -l 4444 -r ssh -k Admin123 -z aclab.fcarey.com <VPSIP> -c -d 3 # 使用使用SOCKS代理 dns2tcpc -l 12321 -r socks -k Admin123 -z aclab.fcarey.com <VPSIP> -c -d 3
-
剩下的就是
-
通过DNS隧道远程连接VPS ssh服务,并通过开启SSH本地转发功能,通过SSH代理转发访问外网其他目标。
ssh lighthouse@127.0.0.1 -p12321
-
或通过VPS上建立本地socks代理访问,使内网Win10主机访问外网
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人