2018-12-06 16:54:129867人阅读
Cisco Talos近期发现一起攻击黎巴嫩和阿联酋的攻击活动,攻击活动影响.gov域名和黎巴嫩一家私有航空公司。研究发现,攻击者首先深入分析了受害者的网络基础设施以在攻击过程中没有被发现。
根据攻击者的基础设施和TTP,研究人员尚不能将攻击活动与之前的攻击活动或攻击者联系在一起。攻击活动中使用了两个伪造的含有招聘信息的恶意网站,招聘信息利用含有嵌入宏的恶意office文档来入侵目标。攻击者使用的恶意软件为DNSpionage,支持HTTP和DNS通信。
攻击者使用相同的IP来重定向合法.gov域名和私企域名的DNS流量。在DNS入侵过程中,攻击者对每个重定向的域名都生成了Let's Encrypt证书。这些证书支持X.509 TLS加密。
本文分析攻击中使用的方法和恶意文档,以及恶意DNS重定向等。
感染路径
假的招聘网站
攻击者首先通过两个模仿含有招聘信息的合法网站来入侵用户:
hr-wipro[.]com (重定向到wipro.com)
hr-suncor[.]com (重定向到suncor.com)
这两个网站都含有恶意office文档:hxxp://hr-suncor[.]com/Suncor_employment_form[.]doc。
该文档是Suncor Energy网站上的合法文件的副本,其中含有恶意宏。
截止目前,研究人员尚不清楚目标是如何接收这些链接的。攻击者最可能是通过鱼叉式钓鱼攻击来发送恶意文档的,也可能通过领英这样的社交媒体平台进行传播。
恶意office文档
打开第一个office文档后,用户会收到一个消息“Content Mode Available:”
恶意文档使用的宏
分析的样本中的宏可以分为两步:
文档打开后,宏会解码一个base64编码的PE文件,并释放到%UserProfile%\.oracleServices\svshost_serv.doc。
文件关闭时,宏会重命名文件svshost_serv.doc为svshost_serv.exe。然后,宏会常见一个名为chromium updater v 37.5.0的计划任务来执行二进制文件。计划任务会立刻执行并且每分钟重复。
这两步的目的是为了绕过沙箱检测。
当office关闭时,payload才会执行,也就是说需要人的交互才会应用payload。分析发现,宏也是经过密码保护的以防受害者通过office查看宏代码。
宏使用经典字符串混淆来绕过字符串检测:
schedule.service字符串是通过拼接实现的。最终的payload是一个远程管理工具DNSpionage。
DNSPIONAGE恶意软件
恶意软件分析
恶意文档释放的DNSPIONAGE恶意软件是一个之前没有记录的远程管理工具。因为该恶意软件支持DNS通道与攻击者的基础设施进行通信,所以研究人员将其命名为DNSpionage。
DNSpionage在运行目录中创建了自己的数据:
%UserProfile%\.oracleServices/
%UserProfile%\.oracleServices/Apps/
%UserProfile%\.oracleServices/Configure.txt
%UserProfile%\.oracleServices/Downloads/
%UserProfile%\.oracleServices/log.txt
%UserProfile%\.oracleServices/svshost_serv.exe
%UserProfile%\.oracleServices/Uploads/
Downloads目录是用来保存从C2下载的其他脚本和工具的。
Uploads目录是攻击者在窃取发往C2服务器前进行临时保存的。
log.txt文件含有明文的日志信息。所有执行的命令都保存在该日志文件中,文件中也含有命令执行的结果。
Configure.txt中含有恶意软件的配置信息。攻击者可以执行一个C2服务器URL、URL和域名作为DNS隐蔽信道(COVERT CHANNEL)。另外,攻击者还有一个定制的base64字母表来进行混淆。研究人员发现每个目标都有一个定制的字母表。
所有的数据都是以JSON格式传输的。这也是恶意软件的大量代码都是JSON库的原因。
通信信道
恶意软件使用HTTP和DNS来与C2服务器进行通信。
HTTP模式
到0ffice36o[.]com的DNS请求是用base64编码的随机数据进行的。该请求会注册受感染的系统并接收HTTP服务器的IP地址。DNS请求示例如下:
yyqagfzvwmd4j5ddiscdgjbe6uccgjaq[.]0ffice36o[.]com
恶意软件可以伪造DNS请求,以提供给攻击者更多的信息。请求示例如下:
oGjBGFDHSMRQGQ4HY000[.]0ffice36o[.]com
前4个字母是恶意软件用rand()函数随机生成的。域名剩下的部门是用base32编码的,解码后的结果是1Fy2048。其中Fy是目标ID,2048(0x800)表示配置文件未找到。该请求是在没有在受感染的机器上提取出配置文件的情况下执行的。并且会有消息来通知攻击者。
恶意软件会执行一个初始的HTTP请求来从hxxp://IP/Client/Login?id=Fy.
提取配置。
该请求是用来创建配置文件的,特别是设置定制的base64字典。
第二个HTTP请求是hxxp://IP/index.html?id=XX(其中XX是受感染系统的ID)。该请求的目的是取回顺序,该站点是一个伪造的Wikipedia页面:
命令包含在该页面的源码中:
本例中,命令是用标准base64算法编码的,所以研究人员没有获得定制的字典。下面是配置文件中定制的字典:
下面是自动发送给受感染系统的3个命令:
{"c": "echo %username%", "i": "-4000", "t": -1, "k": 0}
{"c": "hostname", "i": "-5000", "t": -1, "k": 0}
{"c": "systeminfo | findstr /B /C:\"Domain\"", "i": "-6000", "t": -1, "k": 0}
恶意软件在执行这些命令后会生成下面的代码段:
攻击者会请求从受感染的用户域名中请求用户名和主机名。第一步很明显是一个侦察阶段,数据最终会发送给hxxp://IP/Client/Upload。
最后, CreateProcess()会执行命令,输出会被重定向到用CreatePipe()创建的管道。
DNS模式
恶意软件也支持DNS-only模式。在该模式下,命令和答案都是通过DNS处理的。使用DNS有时候可以更简单地将信息发回给攻击者,因为使用DNS协议可以绕过代理或web过滤。
首先, 恶意软件会模拟一个DNS请求来请求命令,比如:
RoyNGBDVIAA0[.]0ffice36o[.]com
前4个字母是随机生成的可以忽略,相关的数据就是GBDVIAA0。解码后的值是0GT\x00。其中GT是目标ID,\x00是请求号。C2服务器会回复一个answer来响应DNS请求,应该是一个IP地址,但可能并不是DNS协议接受的有效IP地址。研究人员认为第一个值0x0001是下一个DNS请的命令ID,0x0003是命令的大小。
然后,恶意软件会用命令ID来执行DNS查询:
t0qIGBDVIAI0[.]0ffice36o[.]com (GBDVIAI0 => "0GT\x01")
C2服务器会返回一个新IP:100.105.114.0。如果将该值转化为ASCII码,就是dir\x00,也就是要执行的命令。
最后,命令执行的结果会通过多个DNS请求发送。
gLtAGJDVIAJAKZXWY000.0ffice36o[.]com -> GJDVIAJAKZXWY000 -> "2GT\x01 Vol"
TwGHGJDVIATVNVSSA000.0ffice36o[.]com -> GJDVIATVNVSSA000 -> "2GT\x02ume"
1QMUGJDVIA3JNYQGI000.0ffice36o[.]com -> GJDVIA3JNYQGI000 -> "2GT\x03in d"
iucCGJDVIBDSNF3GK000.0ffice36o[.]com -> GJDVIBDSNF3GK000 -> "2GT\x04rive"
viLxGJDVIBJAIMQGQ000.0ffice36o[.]com -> GJDVIBJAIMQGQ000 -> "2GT\x05 C h"
[...]
DNS重定向
简介
Talos共发现3个与DNSpionage域名相关的IP:
185.20.184.138
185.161.211.72
185.20.187.8
最后一个IP在9月到11月之间被用于DNS重定向攻击。
多个黎巴嫩和阿联酋公共组织和黎巴嫩企业的多个域名服务器都被入侵了,主机名都被指向攻击者控制的IP地址了。攻击者重定向hostname到IP地址185.20.187.8。
在重定向IP前,攻击者会使用Let's Encrypt创建一个与域名相匹配的证书。
黎巴嫩政府域名重定向
Talos发现黎巴嫩财政部的邮箱域名也是恶意DNS重定向的受害者之一。
webmail.finance.gov.lb在2018年11月6日06:19:13被重定向到了185.20.187.8,同日05:07:25有一个Let's Encrypt证书被创建。
阿联酋政府域名重定向
阿联酋政府的域名也是攻击的目标,研究人员发现一个警察和电信监管机构的域名。
adpvpn.adpolice.gov.ae在2018年9月13日06:39:39 被重定向到185.20.187.8 ,同日05:37:54有一个Let's Encrypt证书被创建。
mail.mgov.ae在2018年9月15日07:17:51被重定向到185.20.187.8,同日06:15:51有一个Let's Encrypt证书被创建。
mail.apc.gov.ae在2018年9月24日185.20.187.8,同日05:41:49有一个Let's Encrypt证书被创建。
创建的证书中含有可选名(alternative names),这是DNS的一个特征,允许多个域名加入到证书中进行SSL活动:
memail.mea.com.lb
autodiscover.mea.com.lb
owa.mea.com.lb
www.mea.com.lb
autodiscover.mea.aero
autodiscover.meacorp.com.lb
mea.aero
meacorp.com.lb
memailfr.meacorp.com.lb
meoutlook.meacorp.com.lb
tmec.mea.com.lb
结论
调查发现攻击活动中使用了DNSpionage恶意软件和DNS重定向技术。在恶意软件活动中,研究人员没有发现具体的目标,但是可以确定攻击目标中有黎巴嫩和阿联酋的用户。通过DNS重定向分析,研究人员发现攻击者的目标是黎巴嫩和阿联酋的政府机构和私有航空公司。研究人员相信这两起攻击活动都来源于同一攻击者。根据攻击活动分析,攻击者的目标应该是政府机构等重要目标。