使用网络异常分析工具的案例研究:DNSpionage广告活动发现

我们将继续针对网络安全目标审查网络流量分析(NTA)系统的案例。今天,我们将看到如何使用此类解决方案来检测称为DNSpionage和Sea Turtle的非常复杂,针对性和非常有效的活动。

但是在此之前,我将简要回顾一下互联网交互基础下的域名系统(DNS)的工作原理。人脑如此排列,以至于无法记住很多数字以及一个人不熟悉的数字。而且数字和数字的令人难忘的组合无论如何都是很小的。因此,为了不记住我们感兴趣的站点的成千上万个IP地址并将其存储在笔记本中,发明了DNS系统,该系统将人类更容易理解的站点的符号地址转换为其IP地址。如果需要访问任何站点,则将带有站点名称的DNS查询发送到DNS服务器,DNS服务器会向我返回其IP地址,该IP地址将被我访问。

图片

如果您进一步深入研究细节,那么该方案看起来会更加复杂。如果距离我最近的DNS服务器不知道我感兴趣的站点的IP地址,它将把我定向到根服务器,然后将其引导到我感兴趣的站点所在区域的DNS服务器(例如,“。ru”),并进一步沿着链,直到到达知道我需要的IP地址的DNS服务器。

图片

事实证明,我们信任向我们发送要访问站点IP地址的DNS服务器。并且是否有人闯入DNS服务器并欺骗了与符号名和IP地址匹配的记录?如果我们被引导到一个看起来像真实网站的伪造网站,并且可以窃取我们的登录名和密码以及其他有关我们的机密信息,该怎么办?这种欺骗称为DNS重定向,被网络犯罪分子用于特别危险的攻击中。

图片

2009年,``伊朗网络军队''取代了twitter.com。 2011年,土耳其的黑客取代了186个域,包括汇丰银行,沃达丰,宏cer等; 2013-2014年,叙利亚电子军取代了NYT,Twitter和Huffingtin Post网站(针对Facebook的尝试失败)。同年,对WhatsApp,AVG,Avira采取了类似的行动。一年后,越南和马来西亚的Google网站以及圣路易斯联邦储备银行的域均被替换。在2016年,以这种方式从blockchain.info盗窃了一定数量的加密货币。

实际上,DNS攻击媒介的数量更多,但是今天,我们仅关注与DNSpionageSea Turtle广告系列有关的媒介

图片

现在,我们快速了解了DNS的工作原理以及如何使用它,这从第一个开始,我们可以直接转向DNSpionage和Sea Turtle广告系列。 2018年,思科Talos部门在中东的多个国家遇到了它。它由两部分组成-用户感染和DNS重定向,它们并不总是相关的,但是对于许多迹象,我们得出结论,同一组很可能在这两个部分之后。

图片

在第一种情况下,受害用户通过LinkedIn和其他求职网站获得工作机会。所有职位空缺都导致假网站上张贴诱人的职位空缺。记录了两个站点-hr-wipro [。] Com和hr-suncor [。] Com,它们将用户重定向到合法的wipro.com和suncor.com。这些链接以MS Word格式放置了带有嵌入式宏的文件,每个宏分别在打开和关闭文档时起作用。

图片

第一个宏对PE文件进行解码,并将其保存在地址“%UserProfile%\。OracleServices \ svshost_serv.doc”中。第二个宏重命名为“ svshost_serv.exe”。然后,宏创建了“ chromium updater v 37.5.0”任务,该任务运行可执行文件并每分钟重复一次。该恶意软件执行了RAT(远程管理工具)的功能,称为DNSpionage。它与专门创建的域进行交互,请求/接收执行的命令。这些命令包括请求目录内容,扫描网络,复制文件,使用远程实用程序(WinSSHD,Putty,mimikatz)等。来自命令服务器的命令以及工作结果以HTTP或DNS两种模式之一发送。第二种选择通常更简单,因为很有可能您没有对DNS流量进行全面检查,并且根本没有注意到DNSpionage恶意代码与命令服务器进行通信。

最有趣的事情开始于恶意软件的客户端和服务器部分进行通信的那一刻。客户端将以下混淆的DNS查询发送到0ffice36o [。] Com(第一个字符为零,最后一个字母为“ o”):RoyNGBDVIAA0 [。] 0ffice36o [。] Com,其中前4个字节是随机生成的,其余(GBDVIAA0 )是base32编码的请求(为每个受害者选择了他们自己的base64 / dase32字母)。解密后,我们得到“ 0GT \ x00”,其中GT是受害者的标识符,\ x00是请求号。命令服务器以IP地址的形式回答我们,该地址并不总是正确的,例如0.1.0.3(DNS协议允许这样做)。第二个DNS查询如下所示:t0qIGBDVIAI0 [。] 0ffice36o [。] Com。命令服务器返回给我们IP地址:100.105.114.0,这是4个字符,采用常规ASCII编码,在这种情况下,这意味着可执行命令“ dir \ x00”。作为响应,DNSpionage的客户端发送:

[。] [。] gLtAGJDVIAJAKZXWY000 0ffice36o com-> GJDVIAJAKZXWY000->“ 2gt \ x01 Vol»
[。] TwGHGJDVIATVNVSSA000 0ffice36o com [。]-> GJDVIATVNVSSA000->«2gt.x
[J] Q 1x.com > GJDVIA3JNYQGI000->“ 2GT \ x03 in d”
iucCGJDVIBDSNF3GK000 [。] 0ffice36o [。] Com-> GJDVIBDSNF3GK000->“ 2GT \ x04 rive”
viLxGJDVIBJAIMQGQ36 [Q] [2] [2]] JJJQQJ。0 H ”

作为DNSpionage活动第二部分的一部分,DNS服务器管理员的管理员被盗,更改了相应的DNS记录,并使用LetsEncrypt创建了证书,这些证书稍后将在“中间站点”攻击中使用。正是在这样的站点上,先前描述的DNS重定向攻击将发送选定的受害者(在此运动的短短两年内,我们能够识别出25个重定向,这表明这不是大规模的攻击,而是有针对性的攻击)。请注意,您自己的DNS服务器(如果有的话)和您已经无法控制的第三方DNS服务器都可能受到攻击。

作为其活动的一部分,攻击者能够拦截所有发往黎巴嫩和阿拉伯联合酋长国政府机构(财政部,警察,通信和电信部,航空公司等)指定领域的流量,包括电子邮件和VPN,让他们收集有关受害者的其他信息。

由于攻击者不仅攻击DNS服务器,而且攻击TLD服务器(包括ccTLD和gTLD),

图片

因此Cisco Talos Sea Turtle活动比DNSpionage更为复杂,这使未知的黑客能够攻击中东和北部的州和军事组织。非洲,以及特殊服务和石油天然气公司。

图片

现在回到原始任务,看看网络流量分析系统如何帮助识别所提到的活动。应当立即指出的是,鉴于它们的复杂性以及它们可以针对外部DNS服务器的事实,NTA类系统并不总是能为我们提供帮助。但是,在涉及DNSpionage的DNS模式或在DNSpionage或Sea Turtle框架内对本地DNS服务器进行攻击的情况下,我们可以使用Netflow查看我们需要的所有攻击迹象并及时阻止它们。

首先,我们需要定义内部DNS服务器并将其添加到一组中。这是几乎所有异常监视系统开始引入的地方。要了解我们是否遇到网络流量异常,我们首先需要确定什么是正常的和合法的。只有在此之后,系统才能开始全面发挥作用。

图片

可以手动完成此操作,但是最好使用按流量类型对节点进行分类的功能,该功能可让您识别所有节点,即使我们不知道的那些节点也可以识别为DNS服务器。

图片

在我们的案例中,我们发现了5台服务器:

图片

在确定合法的DNS服务器之后,我们只能监视所有DNS流量,这是异常的,也就是说,超出了允许的范围。例如,这是我们如何描述用于标识内部非法运行的DNS服务器的

图片

规则此规则将如下所示,这表明由于某种原因,我们的网络中有2个DNS服务器,其中一个位于机密服务器网段中,以及用户设备细分中的第二个。

图片

以下规则使我们能够识别与内部主机直接交互的外部可疑DNS服务器,这可能是DNSpionage命令服务器与受感染的公司设备一起工作的标志:

图片

并且我们找到了这种交互的示例:

图片

以类似的方式,我们可以配置网络异常检测系统(本文以Cisco Stealthwatch为例)来检测未经授权的尝试,以尝试访问内部节点到本地DNS服务器(这可能表明DNSpionage或Sea Turtle正在工作)以及主动交互内部主机与使用DNS协议的外部主机(这将记录DNS模式下DNSpionage的操作)。

解决了相应的异常和违反安全策略的问题之后,我们必须制定规则,使我们能够发出信号,指示将来可能将内部节点(不包括本地DNS服务器)连接到外部DNS服务器的尝试(反之亦然)。

图片

第二条规则允许我们记录使用公司网络中的DNS流量进行交互的任何尝试,本地DNS服务器除外。

图片

通过这种方法,监视Netflow(以及其他流协议)可以使我们确定相当复杂的攻击的各个阶段,这些攻击可能损害现代公司和政府机构。

Source: https://habr.com/ru/post/undefined/


All Articles