使用Zeek/Bro与RITA检测DNS隐蔽隧道与长连接

本文详细演示如何利用RITA(实时智能威胁分析)和Zeek(原Bro)检测DNS隐蔽隧道攻击,通过分析随机化子域名请求、识别异常DNS查询模式,揭示恶意C2通信的检测方法与企业安全盲点。

使用Zeek/Bro与RITA检测长连接与DNS隐蔽隧道

大家好,我是John Strand。在本视频中,我们将讨论RITA(实时智能威胁分析)及其如何快速执行DNS分析,以发现环境中的DNS后门。

我们再次使用ADHD虚拟机。若需获取,请访问ActiveCountermeasures.com,进入“项目”选择ADHD即可下载。登录凭据为用户名/密码:ADHD/ADHD。进入系统后,桌面的说明文档将指引操作。选择“归因”部分下的RITA,即可跳转到相关操作指南。

今天选用ADHD而非Security Onion,是因为ADHD内置了我在“网络欺骗与主动防御”课程(如Black Hat和Wild West Hackin’ Fest)中使用的数据包捕获功能。

按照说明操作后,我已生成RITA的HTML输出报告。接下来,我们进入DNS Cat分析2017年的数据(虽稍旧,但TCP/IP和UDP协议本质未变)。打开特定捕获文件后,进入DNS分析。

DNS基础与隐蔽隧道原理

DNS可类比为电话簿:一个大型自动系统,用于将域名(如www.yahoo.com)解析为IP地址。计算机无法直接理解域名,必须通过DNS转换为数字形式的IP地址。

后门程序可利用DNS进行隐蔽命令与控制(C2)通信。Ron Bowes开发的DNScat2是典型工具,它通过随机化子域名请求绕过缓存机制。例如,本例中域nanobotninjas.com有23,362个子域名请求(异常行为,正常如google.com仅少量子域名)。每次DNS查询需建立完整连接,以避免本地DNS解析器(通常是域控制器)返回缓存结果。

使用Zeek/Bro和RITA进行深度分析

RITA提示异常后,我们深入分析。使用zgrep工具直接从压缩的Bro日志中检索字符串"nanobot",聚焦DNS相关文件。执行后,可见大量随机化前缀的请求(如cat.nanobotninjas.com前的随机字符串),这是DNS后门的特征——每次请求均不同,以强制完整查询过程。

另一关键点:DNS服务器为8.8.8.8(Google公共DNS)。这并非指Google恶意,而是表明请求被转发至nanobotninjas的权威服务器。企业安全中,许多组织白名单放行所有Google相关流量(如8.8.8.8或www.google.com),导致此类通信常被忽略,原因包括资源优化和边缘网络监控简化。

企业安全实践意义

此技术重要原因有三:

  1. Black Hills渗透测试中频繁使用此类后门或其变种。
  2. 该技术往往难以被检测。
  3. 许多安全产品本身会忽略经Google等可信服务中转的流量。

类似技术(如域前端)将在后续视频中进一步探讨。

感谢观看!请订阅频道,并关注每周三的Enterprise Security Weekly节目,我们直言不讳地评价厂商与技术实效。


技能提升:想向John学习更多?可参加以下课程:

  • SOC核心技能
  • 主动防御与网络欺骗
  • BHIS与MITRE ATT&CK安全入门
  • 渗透测试基础

(支持直播/虚拟和点播学习)

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计