译者:紫曦归来
预估稿费:160RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
前言
Exploit kit作为一款漏洞利用工具包,一直深受网络犯罪分子喜爱。使用Exploit kit进行网络攻击的事件2016年末呈明显下降趋势,但近期这一趋势被打破。Magnitude EK漏洞利用工具包开始在全球,尤其是亚太地区肆虐。
FireEye2017年3月发布的《动态威胁报告》中列出了黑客利用Magnitude EK漏洞利用工具包2016年最后一个季度和2017年第一季度进行攻击的全球分布情况,如图1所示:
图1:利用Magnitude EK工具包进行攻击的地区分布图
黑客开始利用Magnitude EK针对亚太地区国家进行网络攻击,一直持续到了2017年9月末。其中最严重的莫过于韩国。10月15日,黑客开始主要针对韩国发动攻击。此前,Magnitude EK的作者集成了多种漏洞的利用代码,并用于传送Cerber这样的勒索软件。近日,Magnitude EK工具包新添有效载荷——勒索软件Magniber。
感染
10月15日,利用Magnitude EK进行网络攻击开始重回公众视野,受害者被恶意广告导向包含Exploit Kit的登陆页(域名:fastprofit[.]loan)。感染链条如图2所示:
图2:感染链条
Magnitude EK的登录页面包含CVE-2016-0189漏洞。FireEye最初曝光了该漏洞。FireEye发现该漏洞被集成到Neutrino Exploit Kit漏洞利用工具包中。如图3所示是Magnitude EK的登录页面(其中包含有CVE-2016-0189漏洞):
图3:Magnitude EK的登录页面
在此前的案例中,Magnitude EK 使用图片中红色部分的请求感染以下web服务器:
“Apache/2.2.15 (CentOS) DAV/2 mod_fastcgi/2.4.6”
图4:Magnitude EK使用的payload(见红色部分)以及服务器返回的纯exe文件
攻击有效载荷
此前,趋势科技发布的报告显示Magnitude EK漏洞开发工具包新添有效载荷就是勒索软件 Magniber。这一勒索软件仅针对韩国地区发起攻击。调查显示,勒索软件Magniber仅在检测到韩语的系统上才会开始恶意操作。
Magniber使用AES128加密算法。研究中使用的样本(dc2a2b84da359881b9df1ec31d03c715)是从FireEye2017年3月发布的《动态威胁报告》中提取的。但需要注意的是,此次选取的样本与趋势科技报告中所公布的哈希值有所不同,但两者呈现相同的行为并共享感染载体,且两者公布的时间大致相同。
恶意软件在其资源部分包含使用RC4反向加密的二进制有效载荷,从缓冲区的末尾向开头解压。反向RC4解密密钥长度为30个字节,并且还包含非ASCII字符。如下所示:
dc2a2b84da359881b9df1ec31d03c715 RC4 key:
{ 0x6b, 0xfe, 0xc4, 0x23, 0xac, 0x50, 0xd7, 0x91, 0xac, 0x06, 0xb0, 0xa6, 0x65, 0x89, 0x6a, 0xcc, 0x05, 0xba, 0xd7, 0x83, 0x04, 0x90, 0x2a, 0x93, 0x8d, 0x2d, 0x5c, 0xc7, 0xf7, 0x3f }
该恶意软件调用GetSystemDefaultUILanguage 来获取系统语言。如果系统语言不是韩语,则会退出(如图5所示)。在解压之后,恶意软件开始执行攻击载荷。
图5:攻击主要针对韩国地区
创建名为“ihsdj”的互斥体以防止多次执行。此后,攻击的有效载荷根据多个GetTickCount调用的CPU时钟生成一个19个字符的伪随机字符串。该字符串被用于在用户计算机中创建一个%TEMP%目标(例如“xxxxxxxxxxxxxxxxxxx.ihsdj”)。其中包含AES128加密的IV(初始化向量)和名称为“ihsdj”的恶意软件副本。
接下来,恶意软件创建了4个URL回调地址,主要利用此前生成的19个字符的伪随机字符串,和以下的域名来创建URL:
bankme.date
jobsnot.services
carefit.agency
hotdisk.world
为了逃避沙箱(sandbox),恶意软件检测是否在VM中运行,并将其附加在回调地址中,主要通过在RDTSC命令之间插入并执行CPUID指令来实现。如图6所示:
图6:检测VM存在的CPUID指令
上述检测VM的过程要持续多次,以收集CPUID的平均执行时间,如果平均执行时间大于1000,则可认定系统为VM。如果测试失败,且恶意软件认定系统为VM,则会在URL地址末尾加上“1”(如图7所示);如果结果相反,URL地址末尾则会被添加上“0”。URL的格式如下:
http://[19 character pseudorandom string].[callback domain]/new[0 or 1]
测试例子如下:
http://7o12813k90oggw10277.bankme[.]date/new1
http://4bg8l9095z0287fm1j5.bankme[.]date/new0
图7:命令和控制通信
如果恶意软件在加密后被再次执行,则回调URL将以“end0”或“end1”结尾,而不是“new”,例如:
hxxp://j2a3y50mi0a487230v1.bankme[.]date/end1
此后,恶意软件开始加密系统上的用户文件,通过在末尾添加“.ihsdj”扩展名进行文件重命名。所分析的样本的AES128和IV公钥为:
IV: EP866p5M93wDS513
Public Key AES128: S25943n9Gt099y4K
用户的%TEMP%目录中就被创建了一个名为“READ_ME_FOR_DECRYPT_xxxxxxxxxxxxxxxxx_.txt”的文档。交付赎金的信息如图8所示:
图8:用户计算机上显示的交付赎金信息
恶意软件还添加了计划任务,通过程序兼容性助手在%TEMP%目录中运行其副本,并加载用户消息:
chtasks /create /SC MINUTE /MO 15 /tn ihsdj /TR "pcalua.exe -a %TEMP%ihsdj.exe
schtasks /create /SC MINUTE /MO 15 /tn xxxxxxxxxxxxxxxxxxx /TR %TEMP%READ_ME_FOR_DECRYPT_xxxxxxxxxxxxxxxxxxx_.txt
恶意软件在退出后发出了一个命令以自我销毁,可使用下面这组本地的ping码,以延迟恶意软件自我销毁:
cmd /c ping localhost -n 3 > nul & del C:PATHMALWARE.EXE)
图9中所示是解压恶意软件有效载荷的Python代码。代码使用RC4反向加密:
图9:用于解压恶意软件有效载荷的Python脚本
结语
勒索软件对企业构成的威胁越来越大。虽然目前大多数勒索软件主要使用邮件进行攻击活动,但使用exploit kits进行网络攻击的案例也在不断增加。部分企业目前还在使用较为陈旧的软件,有的企业没有对网络设置拦截系统,这些都增加了遭受攻击的可能性。各大公司和企业需要确保其网络漏洞已被修复,从而避免遭受勒索软件的攻击。
IOCs
Malware Sample Hash
dc2a2b84da359881b9df1ec31d03c715 (decryption key shared)
Malverstiser Domains
fastprofit[.]loan
fastprofit[.]me
EK Domain Examples
3e37i982wb90j.fileice[.]services
a3co5a8iab2x24g90.helpraw[.]schule
2i1f3aadm8k.putback[.]space
C&C
3ee9fuop6ta4d6d60bt.bankme.date
3ee9fuop6ta4d6d60bt.jobsnot.services
3ee9fuop6ta4d6d60bt.carefit.agency
3ee9fuop6ta4d6d60bt.hotdisk.world