工具的使用 | CobaltStrike中DNS Beacon的使用

2022-01-19 19:15:26 浏览数 (1)

CobaltStrike中DNS Beacon的使用

目录

1:部署域名解析

2:CS开启监听DNS Beacon

3:生成DNS木马

4:上线

在之前的文章中我介绍了使用 DNS-Shell 和 Dnscat2 利用DNS协议来进行命令控制,通过DNS协议进行通信,使得流量更加隐秘,躲避agent/DLP等安全设备的检测,实现相对隐秘的命令控制。

传送门:使用DNS进行命令控制(DNS-Shell) 、 使用DNS进行命令控制(dnscat2)

本节我将介绍如何使用CobaltStrike中的DNS Beacon利用DNS协议进行命令控制。

1:部署域名解析

首先,用一台公网的Linux系统的VPS作为C&C服务器(注意:VPS的53端口一定要开放),并准备好一个可以配置的域名(这里我们假设是hack.com)。然后,去配置域名的记录。首先创建记录A,将自己的域名 www.hack.com 解析到VPS服务器地址。然后,创建NS记录,将 test.hack.com 指向 www.hack.com

  • 第一条A类解析是在告诉域名系统,www.hack.com 的IP地址是 xx.xx.xx.xx
  • 第二条NS解析是在告诉域名系统,想要知道 test.hack.com 的IP地址,就去问 www.hack.com 。

为什么要设置NS类型的记录呢?因为NS类型的记录不是用于设置某个域名的DNS服务器的,而是用于设置某个子域名的DNS服务器的。

如何验证域名解析设置是否成功? 在随便一台电脑上ping域名 www.hack.com ,若能ping通,且显示的IP地址是我们配置的VPS的地址,说明第一条A类解析设置成功并已生效。

然后在我们的VPS上执行以下命令监听UDP53端口

代码语言:javascript复制
tcpdump -n -i eth0 udp dst port 53

在任意一台机器上执行 nslookup test.hack.com 命令,如果在我们的VPS监听的端口有查询信息,说明第二条记录设置成功

2:CS开启监听DNS Beacon

3:生成DNS木马

注意,这里生成的类型的是 Windows Executable(S)

这里勾不勾选x64取决于目标主机的架构

4:上线

只要木马在目标主机执行成功,我们的CobaltStrike就能接收到反弹的shell。但是默认情况下,主机信息是黑色的。

我们需要执行以下命令,让目标主机信息显示出来

代码语言:javascript复制
checkin
mode dns-txt

责编:vivian

来源:谢公子博客

0 人点赞