使用DNS指示器搜索威胁
来源:http://blog.davidvassallo.me/2017/04/04/threat-hunting-using-dns-indicators/
DNS是安全分析人员的重要信息来源,如果你还没有监视网络中的DNS活动,你应该尽快开始,原因我们将在本文中探讨
DNS是支持互联网的主要工具之一。所有东西都使用DNS——浏览器、应用程序、更新……和恶意软件。几乎每一个恶意软件都需要“打电话回家”来接收指令,泄露数据或与攻击者进行其他通信。恶意软件作者利用各种DNS技巧来控制他们传播的恶意软件,如:
域名生成算法(Domain Generation Algorithms)
快通域名(Fast Flux Domains)
DNS秘密通道(DNS Covert Channels)
熟悉或拼写错误的域(Familiar or misspelt domains)
一、域名生成算法
一旦恶意软件安装在目标系统上,它通常需要与C&C服务器通信以获得指令。将域名硬编码到恶意软件中会使恶意软件的存活时间非常短……许多主机供应商都禁止恶意活动,因为他们很快就会撤销涉及此类活动的DNS记录。因此,作者使用域生成算法[DGAs]来编写恶意软件,通常使用当前日期的组合来动态生成算法。这增加了恶意软件与仍然活跃的DNS域通信的机会——增加了它的有用寿命。维基百科有一篇非常有趣且易于阅读的关于DGA的文章,包括来自CornFlicker、CryptoLocker和其他网站的示例。
通常这些域在本质上是相当随机的,例如“intgmxdeadnxuyla”和“axwscwsslmiagfah”。这让人类很容易就能分辨出来。缺点是有太多的DNS记录需要手动检查,自动恶意软件的域名列表通常不包括DGA生成的域名,它们实在是太多了,而且每天都在变化。
CyberSift通过在被访问的域上执行大量的语言结构检查来提供帮助。在下面的示例中,我们将调查一个DGA生成的域,该域的异常分数高达22.853(任何高于10.0的值都需要进行一些调查)。正如您在输出中高亮显示的部分所看到的,名为“Score”的模型为异常分数贡献了大量的分数(13.515)。分数模型使用统计分析来确定域具有给定结构的可能性,以及使用频率。由于DGAs输出的随机域通常与正确的语言没有任何相似之处,因此它们倾向于触发这个模型。
二、快通域名
快速通量域名是一种久经考验的恶意软件和钓鱼技术。最简单的形式是,恶意软件作者为一个给定的域名注册数百(或数千)个IP地址。DNS记录的存活时间很短,因此受感染的受害者可以为任何给定的恶意软件域连接到不同的IP地址,减少了一个IP地址被阻塞的机会。有时,快速通量域与DGA结合使用,以进一步增加受感染机器与处理器通信的机会。
一些广告网络(通常是不可靠的……)倾向于使用快速流量的域名,这些域名会返回大量的IP地址。在下面的示例中,我们看到一个这样的广告网络,返回异常高的IP地址数量,并对异常分数造成相当大的影响。
三、DNS秘密通道
DNS隐蔽通道特别有趣。我们提到,实际上任何需要连接到互联网的程序都需要DNS正常工作,所以有两件事是很有保证的:
出站DNS请求不被阻止
由于DNS代理不像HTTP/S代理那么多,DNS流量很可能不受监控
这为攻击者提供了一个完美的媒介…通过DNS流量隧道传输数据。就在上个月(2017年3月),安全研究人员发现,恶意软件利用这一概念将通信流量隐藏在显而易见的地方:
秘密的渠道和糟糕的决定:DNSMessenger的故事
DNSMessenger使用TXT记录来创建一个难以检测的秘密通道。在测试期间查看CyberSift的输出,我们看到一个警告,在我们环境的DNS活动中有异常活动:
CyberSift使用智能聚类技术来检测由您的环境发送的DNS查询数量的异常行为,检测诸如错误配置或——如上面的例子——隐藏恶意活动等问题
这使得威胁搜索变得非常容易。一个使用CyberSift的安全威胁猎人的工作流程示例如下:
四、熟悉或拼写错误的域
你肯定见过这个古老但非常流行的技术诈骗和钓鱼活动。攻击者喜欢使用看起来熟悉的域名,如“service-portal-paypal.com”(或“papyal.com”),以及类似的域名,大多数分析师不会再看一眼,因为他们认为这是一个合法的服务。这已经成为一个相当大的问题,尤其是免费的SSL证书颁发机构:
当“S”在HTTPS中也代表shady https://t.co/jKD5MgRDqO
——CyberSift (@cybersiftIO) 2017年4月1日
这种技术在野外应用的例子可以在“石油钻机”运动中看到:
从上面截图的“破坏指标”部分,我们看到一个看起来很熟悉的域名:main-google-resolver.com。分析师如果没有更彻底地研究这个领域,当然是可以原谅的——毕竟,谷歌确实会使用这个领域。
在这里,“分数”模型再次发挥了作用。该模型意识到单词“谷歌”通常在此上下文中看不到,并添加了恰好足以使该域不正常的点(记住,任何超过10.0的内容都被认为值得研究)。除此之外,在这种情况下该站点没有被解析,因此这导致DNS异常引擎进一步推高异常分数。