使用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),导致此类通信常被忽略,原因包括资源优化和边缘网络监控简化。
企业安全实践意义
此技术重要原因有三:
- Black Hills渗透测试中频繁使用此类后门或其变种。
- 该技术往往难以被检测。
- 许多安全产品本身会忽略经Google等可信服务中转的流量。
类似技术(如域前端)将在后续视频中进一步探讨。
感谢观看!请订阅频道,并关注每周三的Enterprise Security Weekly节目,我们直言不讳地评价厂商与技术实效。
技能提升:想向John学习更多?可参加以下课程:
- SOC核心技能
- 主动防御与网络欺骗
- BHIS与MITRE ATT&CK安全入门
- 渗透测试基础
(支持直播/虚拟和点播学习)