0x01 DNS 隧道攻击

DNS协议是一种请求应答协议,也是一种可用于应用层的隧道技术。虽然DNS流量的异常变化可能会被发现,但是在基于传统socket隧道已经濒临淘汰,TCP、UDP通信大量被安全设备拦截的大背景下,DNS、ICMP、HTTP/HTTPS等难以禁用的协议已经成为攻击者使用隧道的主流选择。DNS隐蔽隧道基于互联网不可或缺的DNS基础协议,天然具备穿透性强的优势,是恶意团伙穿透安全防护的一把利器。

0x02 DNS Beacon

Cobalt Strike 提供了现成利用模块,DNS Beacon payload 使用 DNS 请求来将 Beacon 返回给攻击者。这些 DNS 请求用于解析由攻击者的Cobalt Strike团队服务器作为权威 DNS 服务器的域名。DNS 响应告诉 Beacon 休眠或是连接到团队服务器来下载任务。DNS 响应也告诉 Beacon 如何从你的团队服务器下载任务。在 Cobalt Strike 4.0 及之后的版本中,DNS Beacon 是一个仅 DNS 的 payload。在这个 payload 中,没有 HTTP 通信模式。

0x03 演示环境

  • 团队服务器:Centos 7 (公网主机)
  • 受害机:Windows 7(虚拟主机)
  • 域名:luckyzmj.cn

0x04 使用教程

Cobalt Strike开启团队服务器模式需要Java环境,推荐安装jdk8。上传Cobalt Strike程序包到服务器上,在程序目录下执行命令如下:

./teamserver 服务器公网IP 自定义认证密码

在本机上打开Cobalt Strike,输入服务器公网IP、端口、密码,用户名任意设置。

注意:公网服务器对应的CS端口号(例如:4488)需要在设置对外开放;如果服务器上安装了宝塔面板,需要在宝塔面板中再次设置放行CS端口号(例如:4488)

提前准备好一个域名,添加一条A记录指向CS服务器的公网IP,再添加几条NS记录指向A记录域名即可。

添加一个监听器,DNS Hosts填写NS记录,DNS Host随便填写一个其中的NS记录名称。

要测试你的 DNS 配置,打开一个终端并输入 nslookup beacon domain (domain 自行替换为 stager 域名)。如果你得到了一个 0.0.0.0 的 A 记录回复,这说明你的 DNS 配置是对的。如果你没有得到回复,那说明你的 DNS 配置不对、DNS Beacon 不会与你通信。

当启动一个 DNS Beacon 的时候,就相当于 Cobalt Strike 把团队服务器作为了一个 DNS 的解析服务器。当受害主机进行 DNS 请求的时候,就需要给53端口发包。如果团队服务器在内网中,就需要把公网IP的53端口和内网IP做一个端口映射,相当于把外网的53端口映射到内网的团队服务器上去。dns域名对应绑定的团队服务器公网ip的53端口需要放行,还有就是注意下53端口放行的是UDP而不是TCP。

配置好监听器后,生成一个后门文件。

生成好后门文件后,在受害机器上运行成功后,耐心等待一会儿,Cobalt Strike 就会出现一个电脑图标黑框图标,表示受害主机shell上线成功。

右键选中,点击进行beacon执行一条命令后,即可恢复成正常状态。

上线成功以后,可以查看受害主机的网络连接情况,并不会暴露攻击者真实团队服务器的相关信息。

参考文章

  • https://blog.ateam.qianxin.com/CobaltStrike4.0%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C_%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91.pdf
  • https://www.cnblogs.com/HighnessDragonfly/p/14631308.html

Cobaltstrike DNS 隐蔽隧道相关推荐

  1. 网际,MAC,DNS,僵木蠕,木马,APT,dns隐蔽隧道,.pcap,开源情报,元数据,带外管理,磁盘阵列RAID,DRAC,ARP,充分必要条件

    网际网络是指在广域网与广域网之间互相连接的网络,包括不同类型的协议的网络的互联,比如TCp/IP网络和X.25网络的互联. 现在咱们通用的因特网(INTERNET)就是很明显的网际网络,因为因特网中包 ...

  2. 【房间墙上凿个洞,看你在干嘛~】安全攻防内网渗透-绕过防火墙和安全检测,搭建DNS隐蔽隧道

    作者:Eason_LYC 悲观者预言失败,十言九中. 乐观者创造奇迹,一次即可. 一个人的价值,在于他所拥有的.所以可以不学无术,但不能一无所有! 技术领域:WEB安全.网络攻防 关注WEB安全.网络 ...

  3. 【网络安全】ICMP隐蔽隧道通信与检测

    ICMP隐蔽隧道通信与检测 技术背景 在一些网络环境中,如果攻击者使用各类上层隧道(例如HTTP隧道,DNS隧道,正反向端口转发等)进行操作均失败.那么可以尝试使用ICMP建立隧道,ICMP协议不需要 ...

  4. DNS隐蔽通道 是可以通过dig 子域名来追踪其真实IP的

    比如a.friendskaka.com 是我的外发子域名,那么可以按照下面两个命令来追踪IP: bonelee@bonelee-VirtualBox:~/桌面$ dig auth.a.friendsk ...

  5. AI安全初探——利用深度学习检测DNS隐蔽通道

    AI安全初探--利用深度学习检测DNS隐蔽通道 目录 AI安全初探--利用深度学习检测DNS隐蔽通道 1.DNS 隐蔽通道简介 2. 算法前的准备工作--数据采集 3. 利用深度学习进行DNS隐蔽通道 ...

  6. 利用机器学习进行DNS隐蔽通道检测——数据收集,利用iodine进行DNS隐蔽通道样本收集...

    我们在使用机器学习做DNS隐蔽通道检测的过程中,不得不面临样本收集的问题,没办法,机器学习没有样本真是"巧妇难为无米之炊"啊! 本文简单介绍了DNS隐蔽通道传输工具iodine,并 ...

  7. http隐蔽隧道搭建

    本文参考自多个博客,具体链接会在文中详细写出,感谢各位原作者 HTTP隐蔽隧道环境搭建一 使用httptunnel(linux)工具搭建环境 工具下载地址: https://linux.softped ...

  8. 利用iodine进行DNS隐蔽通道样本收集

    这里使用的是kali来搭建本次的实验环境,因为kali里面默认安装了iodine.tcpdump.wireshark等本次实验需要用到的工具,所以省去了不少的工作量. 我安装的kali2020.1版本 ...

  9. 【安全牛学习笔记】DNS协议隧道、DNS协议隧道-dns2tcp

    DNS协议隧道 防火墙禁止TCP出站访问流量 - SSH隧道.端口准发全部失效 - 使用基于UPD协议的隧道 - DNS的工作原理适合用于实现隧道 DNS工作原理 - DNS隧道原理: 注册受自己控制 ...

最新文章

  1. 2张图片就能「算出」一段视频,Reddit网友都惊呆了 | 旷视北大出品
  2. Perl内置及特殊变量
  3. ExoPlayer简单使用
  4. C++的坑真的多吗?
  5. NYOJ 905 卡片游戏
  6. java getstringarray_Java AnnotationAttributes.getStringArray方法代碼示例
  7. 需求决定设计,设计来源于需求
  8. C#跨窗体传值的几种方法分析第三版
  9. 选择开源项目什么最重要?许可证排第一
  10. 【Hive】hive表的文件存储格式
  11. aba问题实际中有什么影响_实际影响是什么?
  12. vue + element 与 vue element admin 中 tab标签视图 页拖拽(拖动) sortablejs 插件案例
  13. matlab如何打开dcm_MatLab 与 visual studio 混合编程环境配置
  14. 【Java】实现统计字符串中大写、小写、数字字符出现次数
  15. 描述一个完美的约会_在网上约会之前,要学习发现一个骗子
  16. 计算机的显示器颜色怎么调,电脑显示器怎样调色差
  17. 牛客华为机试题刷题笔记总结[103题更新完毕才收尾,建议关注收藏]
  18. LTE关键技术之一:OFDM
  19. 怎么把英语视频转为音频 怎么把MP4转换成mp3
  20. 《Java黑皮书基础篇第10版》 第11章【习题】

热门文章

  1. 这篇文章你一定要阅读:大数据可视化以及几款数据可视化的工具介绍
  2. socket的read和available()方法
  3. matlab编写关于离散的傅里叶变换
  4. 用友BIP成功入围工信部《2022年信息技术应用创新解决方案》
  5. 010 火狐浏览器插件中,没有Xpath怎么办
  6. 开放集识别(基于生成模型)
  7. aspen分离膜_超滤膜甲醇分离单元的Aspen Plus用户模型开发
  8. Linux网络编程之System V消息队列
  9. 工具推荐——分区助手
  10. 私服服务器显示关闭怎么办,《魔兽世界》私服关闭