Part 1:OilRig攻击的DNS隧道行为简介
OilRig也被称为APT34 (Crambus,“人面马”组织,Cobalt Gypsy),是一个来自于中东某地缘政治大国的APT组织,该组织从2014年开始活动,主要针对中东地区,攻击范围主要针对政府、金融、能源、电信等行业。受害者某国总统事务部约900个用户名和密码以及80多个网络邮件访问凭证被泄露;某国航空公司泄露了超过1万个用户名和密码,给企业和国家安全带来了极大的威胁。
OilRig依赖DNS隧道进行命令和控制,简化后的流程如下:
阶段1:静默阶段
此阶段DNS层面的行为特征如下:
- 子域名较长,一般会包含用户的IP地址、硬件ID
- 子域名使用Base64的方式加密,避免特殊字符导致域名合法性校验无法通过
- 返回NxDomain
阶段2:准备阶段
- 此阶段DNS层面的行为特征如下:
- 返回类型从NxDomain变成NoError
- 子域名中包含随机的字符或TTL极小,以避免记录被缓存
- 返回的IP代表控制指令
从DNS协议来看,内部的敏感信息只有通过子域名携带传送到控制端,然后在控制端将这些信息按照顺序拼接起来,受制于域名长度的限制,以及UDP传输的不可靠性,DNS隧道很难向外传输较大的文件,但是传输重要的敏感信息已经足够。
此阶段DNS层面的行为特征如下:
- 请求子域名变化频繁,通过域名向外传输信息
- 请求的域名中包含序列号
- 返回的IP地址基本不变
- DNS流量剧增
阶段4:向企业投递恶意文件
相对于向外泄露数据而言,通过DNS隧道向内投递可执行文件并执行似乎更加简单,除开A、AAAA记录外,TXT记录被设计成描述DNS服务的基本信息,因此可以携带更多的信息
受控端通过将接收到的TXT信息解密并拼接成可执行文件进行执行。
此阶段,主要特征如下:
- 请求的域名中包含序列号
- 请求记录可能是A,AAAA或TXT
- 如果请求记录是A或AAAA,则返回的IP地址变化频繁
- 如果请求记录是TXT,则返回的TXT内容变化频繁
- 请求频率加快,DNS流量剧增
在DNS隧道中,请求的域名、返回的IP地址,TXT信息(NS服务器的描述信息)都不在具备原本该有的含义,受控端根本不关心请求域名的IP地址是什么,更不会根据返回的IP地址去发起连接,DNS协议成为信息泄露和木马投递的媒介,而这些无法通过常规的防护设备识别。防护DNS滥用的攻击的设备必须有以下能力:
- 具备长时间全量存储DNS请求和响应日志,单次请求无法识别未知威胁;
- 部署必须靠近终端,或者的流量必须包含原始IP,否则行为特征都会丢失;
- 除开基于域名字符特征的深度分析能力,还要基于行为进行辅助,否则误报会极高;
- 具备阻断能力,攻击组织通过隧道完成木马安装后,就会进行现场清理,届时再根据告警查攻击,为时已晚。
Part 2:DNS阻断对企业安全建设的必要性
DNS是互联网的神经系统,在边界的防护设备会将目标是53端口的流量放行,防火墙无法分辨返回的IP地址是一个真实的地址还是有其他特殊的含义,因此攻击组织便有可乘之机。如果对DNS流量不做任何的监管,则极有可能让企业花重金打造的安全体系成为“马奇诺防线”;另一方面,恶意软件通过DNS隧道构建起来的C2通道又是非常容易识别和脆弱的。针对OilRig攻击,如果在早期企业能对其DNS行为进行识别和阻断,就能阻断恶意软件的投放,进而阻断口令、凭证等重要信息的泄露,消除了攻击事件对企业的影响。
综上,企业对DNS流量进行监控和阻断是非常有必要而且收益显著,企业有必要加快部署专业的DNS流量监控和阻断设备,在保障DNS服务的可用的前提下,提供DNS流量的可识别、可阻断、可控制、可追溯的能力。建议如下:
- 全量存储DNS请求和响应日志,能对域名的请求和响应行为进行追溯;
- 引入域名类威胁情报识别和阻断已知的攻击;
- 支持通过域名特征和行为特征多个维度识别DNS层面的未知威胁;
- 支持分析和阻断两种部署模式;
- 阻断模式下支持主备的部署模式,避免设备单点故障带来的网络中断;
- 支持通过IP和域名灵活定义阻断端策略,满足多种安全场景的需求;
- 支持对用户的请求进行阻断、应答、转发操作;
- 实时监控上级DNS服务的可用性,当上级不可用时,使用缓存应答。
本文作者:奇安信天眼安全专家 郑智