针对制药行业及政企的黑客组织最新攻击活动深度分析

发布时间 2019-11-07

近期,启明星辰ADLab发现大量使用高危漏洞CVE-2017-11882进行网络攻击的事件,其中一批攻击载荷引起了我们的注意,他们均以类似“付款收据”、“银行确认”等字样作为攻击载荷名称。该批攻击载荷大部分通过邮件附件的方式进行钓鱼攻击,在分析过程中,我们发现了黑客的窝点并找到了受害人相关信息,此批黑客已经成功渗透进了德国和印度尼西亚的多家制药企业,以及西班牙的政府、企事业单位等机构,并且偷取了大量的敏感情报。我们通过溯源分析确定此次攻击来自于尼日利亚,并且由当前攻击关联出了更多黑恶意域名和样本。通过对该批样本的分析发现此次攻击活动最早可追溯到2019年7月,截至目前,相关的设施依然在使用中并持续在收集情报信息。该黑客组织还攻陷了西班牙一家大型船舶管理公司的官方网站作为情报窃取的秘密回传点,试图隐藏自身身份。


在本次攻击中,黑客组织通过邮件将精心构造的Office文件(针对CVE-2017-11882漏洞制作的)作为附件发送给目标邮箱,并诱使受害者点击以侵入目标系统(虽然这种以社工形式找到目标邮箱并通过邮件的方式进行攻击的手法老套,但却是黑客最常用的攻击手法之一,并且结合社工信息伪造的邮件也具有很高的成功率, 部分行业和企事业单位由于未进行相关漏洞补丁更新而易受到攻击)。攻击载荷会根据地理位置的不同而在受害者电脑上下载并安装Agent Tesla、HawEye Keylogger、NanoCore RAT或NetWire RAT等多款间谍木马,以对攻击目标实施长期的监控控制、敏感信息窃取等恶意行为。


本文将对黑客组织所实施的攻击过程进行详细地分析和溯源,并对其所使用的间谍软件和基础设施进行透彻地分析。



1、攻击过程分析


此次攻击始于一个携带CVE-2017-11882漏洞的EXCEL文档,黑客使用伪装成“银行确认”的钓鱼邮件发送给攻击目标,当用户打开文档后便会执行shellcode代码,并从指定的服务器上下载Payload并执行。该Payload会在内存中解密出新的PE并注入到系统进程RegAsm.exe中,成功注入后便开始进行实时监控、窃密等行为,最终将窃取到的用户信息回传到托管服务器。


1.1 攻击流程


下图展示了此次攻击活动完整的流程:


 图1 攻击流程图



1.2 攻击目标


被攻击公司信息及相关邮件1:


钓鱼邮件是分发到德国的一家家族企业公司。该公司是专门研究动植物原料的提取,其主要业务是研究制药、化妆品和生物等技术。


图2 目标公司1


通过图2可以看到,攻击者可以从该公司的主页上获取邮箱地址,并将自身伪装成“付款确认”等通知邮件,诱使受害者打开附件文档。


图3 钓鱼邮件1


被攻击公司信息及相关邮件2:


另一名受害者是德国的一家医疗药品器械公司。该收件邮箱地址同样可在其官网上获取。


图4 目标公司2


发送给目标公司的钓鱼邮件示例如下图:


图5 钓鱼邮件2


两起钓鱼邮件的附件均是名为“bank cconfirmation”的XLSX文档,而该附件文件是我们捕获的众多使用CVE-2017-11882漏洞的恶意文档之一。


1.3 诱饵邮件


两封邮件的内容、发件人以及恶意文档的名称,均保持着高度的一致性。随后,我们将对邮件信息做进一步的分析,以便挖掘出更多的关联线索。


图6 邮件头部信息


通过对邮件信息进行解析可以看到如图6所示,发件地址里列出的实际电子邮件地址为”mana00.balaempre.com”。根据邮箱后缀名进行查询,发现其所对应的是一款名为“AutoPMTA”的自动化电子邮件分发服务器,并在国外的网站中根据具体功能收取不同的费用。由此我们推测黑客组织就是利用此款软件来进行邮箱地址的收集和邮件的批量分发。



图7 AutoPMTA邮件分发器


而在另一封邮件中,我们首次发现了一个属于尼日利亚的远程IP地址,该线索的出现在后续的关联溯源中起着重要的作用,在这里先将其记录下来。


图8 IP地址查询信息



2、样本分析


2.1  恶意文档


在未修复CVE-2017-11882漏洞的计算机上,当用户打开恶意EXCEL文件时,Office文档中的公式编辑器会启动EQNDT32.EXE进程。当Equation对象中存在标记为字体名称的超长字节流,则程序在处理该字符串的过程中,会触发栈溢出漏洞。而此恶意文档便是利用该漏洞将指向shellcode的栈地址覆盖了原始返回地址,从而执行远程payload的下载。


查看ole对象的目录结构,可以看到ole对象已被识别为CVE-2017-11882:


图9 OLE对象的目录结构


由于该缓冲区溢出函数处于EQNDT32进程中,所以我们提前将EQNDT32.EXE加载起来并找到漏洞溢出处下断点,重新打开诱饵文档后,发现栈中返回地址0x004115D8被覆盖,从而转向shellcode执行。


图10 栈中保存的原始函数返回地址


图11 被覆盖后的函数返回地址


2.2 shellcode


Retn执行后程序会转到0x0012F350处,这里存放的就是FONT[name]数据,也就是shellcode代码位置。


图12 shellcode代码执行处


该段shellcode的功能是,将远程服务器“http[:]//34.87.19.73/pqis/11a.exe”上的Payload下载到本地,并保存为“%AppData%Roaming\powerpoint.exe”,最后运行该程序。


图13 联网下载Payload


2.3 Payload


名为11a.exe的Payload是使用MS Visual Basic语言编写的。当恶意程序运行时,会在系统临时目录下先创建“subfolder”子目录并生成两个文件(explorer.exe和explorer.vbs),接着运行explorer.vbs脚本并结束自身进程。explorer.vbs脚本的具体内容如下图:


图14 explorer.vbs脚本内容


从图14的VBS文件内容可以看出,脚本中使用了wscript shell命令做了两件事。首先将自身添加到注册表开机自启动项中,以便每次在系统启动时都能自动运行explorer.vbs文件,用以实现其持久性;其次,运行可执行文件explorer.exe。


图15 添加注册表项


2.4 Agent Tesla


通过分析,可以确定explorer.exe程序是臭名昭著的间谍软件“Agent Tesla”。该木马运行后会立即重新创建一个挂起的自身子进程。子进程的相关属性如下图:


图16 子进程属性信息


然后子进程会从资源数据中解密出另一个由.NET编写的PE文件,其将会在内存中直接运行。下图是在分析工具中显示的该.NET程序的主要功能:


图17 主要功能代码部分截图


该程序会尝试访问“checkup[.]amazonaws.com”,以此来获取本地机器的外网IP地址。


图18 获取本地IP地址


从图17的内容可以看到,程序代码使用了混淆技术来增加分析难度。此外,其还会对VM、沙箱、调试器和其他监控工具等做一系列的检测。如运行环境安全,.NET程序则开始监视并收集受害者的信息,并使用SMTP协议将监控日志发送给远程服务器“smtp[.]diagnosticsystem.in”。


Agent Tesla家族


基于已知的相关资料,从2014年起迄今为止,Agent Tesla已存活长达5年之久。随着时间的推移,该木马在陆续不断的迭代更新,最新版本目前可根据需求在互联网上随意购买。


Agent Tesla可实时监控和记录用户的键盘输入、窃取剪切板数据、屏幕截图、获取主机信息,以及收集各大浏览器和邮箱的用户凭证并回传至黑客服务器。也正因为其功能非常强大,所以近几年以来常常被黑客组织所利用。

下图是从其网站上摘取下来的部分功能介绍:


图19 Agent TeslaX相关功能


截止到目前,鉴于我们分析的这款新变种和旧版的木马在功能和技术上类似,并没有发现太多的变化点。所以本文在这里不再过多的详细描述其具体的技术细节,如有需要大家可查看文末的参考文献。



3、溯源与关联分析


3.1  恶意域名分析


我们首先从恶意文档触发漏洞后执行的shellcode中提取出一个硬编码的链接地址:“http[:]//34.87.19.73/”。经过后台大数据的样本关联分析后,从该托管的外部主机上挖掘出该黑客组织自2019年9月起使用的诸多类型的间谍木马。


图20  托管主机上的木马信息统计


接着,提取该批木马样本使用的C2域名进一步的关联出部分可疑的CC地址。例如,部分木马会将SMTP流量发送到smtp[.]diagnosticsystem.in,而该域名解析的IP地址为208[.]91[.]199[.]143。


DNS查询此域名,发现其注册时间为2019年9月19日,这与该批木马的传播起始时间正好吻合。域名查询信息如下图:


图21 域名的注册时间


再次对线索做扩展和对该域名进行深入的追踪分析后,我们获得了更多的恶意样本,以及这些域名曾解析到的主机IP地址。


图22 域名解析的IP地址


我们从获取的大量恶意样本中整理出近期比较活跃的,通过手动分析确定了此次攻击活动中使用的大量C2域名。经过查询解析后发现,这些域名均是以上IP地址“208.91.199.**”和“208.91.198.143”的CNAME“us2.smtp.mailhostbox.com”的别名。


图23 域名查询信息


图中列举了部分活跃样本和其访问的域名,具体对应关系如下所示:


图24 恶意样本与C&C服务器的关系图


3.2 关联邮件


根据同源分析,我们发现了另外一封针对西班牙地区的钓鱼邮件。该邮件的发件地址是西班牙一家名为“MAJ AGROQUIMICOS”的农药行业公司。


图25 MAJ AGROQUIMICOS公司首页


邮件内容使用的是西班牙语,大致意思是付款确认书,钓鱼邮件的附件是一个伪装成.img格式的ISO文件。虽然文件名称与邮件的内容有所不同,但是从发件地址来看,其来源也有可能会是攻击目标的合作商或供应商之类,这样便可增加邮件的真实性,同样有机会诱使受害者下载附件。邮件具体内容如下图所示:


图26 西班牙语的钓鱼邮件


图27 邮件翻译后的内容


3.3 ISO文件


ISO映像是一种光盘的存档文件,其中包含将要写入光盘的所有信息。通常用于创建CD或DVD的备份。由于ISO文件的尺寸相对比较大,所以有可能导致很多电子邮件网关扫描程序无法正确识别此类型的附件。并且自Win 8及以上的更高版本后,Windows都自带ISO运行工具,用户就像打开EXE文件一样,直接双击ISO文件即可运行。因此这次攻击中黑客使用了ISO文件作为恶意附件。


3.4 恶意附件


嵌入在IOS恶意附件中的可执行文件如下图所示:


图28 嵌入的可执行文件


嵌入的可执行文件


使用分析工具可以看到,这个名为“SOA300329042943243_pdf.exe”的可执行文件实际上是一个AutoIt解释器,并嵌入了AutoIt编译脚本作为资源。



图29 可执行文件的资源信息


该可执行文件运行后,会在%User\Public%目录下释放恶意的VBS脚本文件并将该目录添加到注册表的Run启动项中,以实现其持久性。接着再将内存中解密出的的PE文件注入到系统文件“Regasm.exe”中。



图30 在注册表中添加自启动项


新PE文件


通过分析内存中解密出的新PE文件,我们确定该EXE是另一版使用.NET框架编写的Agent Tesla木马。在木马程序成功注入到Regasm.exe进程并运行后,便开始尝试与远程服务器进行连接。


我们在恶意代码分析过程中发现了黑客C&C服务器上的相关信息,C&C文件目录如下图:



图31 服务器上的文件目录


通过进一步的分析,我们发现C&C服务器上保存着大量的从受害者机器回传的监控日志,根据其储存的文件名称格式和内容等特征,再次确定该木马是“Agent Tesla”家族。


此后,我们还追踪到了该黑客组织所收集的受害者信息,这些信息以html和jpeg文件的形式存储在C&C服务器上,其中html存储的是本机信息、键盘记录、账号密码等信息,jpeg存储的是截屏信息。下图是截取了部分监控日志:



图32 回传到服务器的监控日志


从这些文件名中的:“Keystrokes”(键盘记录)、“Screen”(屏幕截)、“Recovered”(密码恢复)等关键字可以看出,木马是根据黑客的控制指令来窃取受害者的相关信息,且按照“功能-用户名-计算机名-时间(年-月-日-时-分-秒)”的结构命名并保存为HTML格式的文件。


我们将一个以“Recovery”开头的html文件使用IE浏览器打开,能够看到木马具体收集了哪些信息。其中包括受害者的计算机用户名、主机信息、系统名称、CPU信息、内存信息、IP地址以及Chrome浏览器凭据信息等。



图33 HTML文件的内容详情


3.5 基础设施分析


通过收集与该C&C服务器相关的回传信息进行整理分析后,我们发现了几个关键信息。结合前文中搜集到的线索,我们进一步的确认了该服务器是被黑客组织攻陷后,专门用作接收木马回传受害者信息的服务器。而该组织早在7月份的时候就已开始实施攻击活动,并且受害者多数是来自于西班牙地区的企事业单位工作人员。黑客组织惯于利用Agent Tesla或Hawkeye Keylogger、Nanocore RAT和NetWire RAT等间谍木马来窃取目标人员的登录凭证等信息,且此次攻击活动是由来自于尼日利亚的黑客组织策划与实施。


3.5.1 受攻击服务器分析


我们注意到,W-EAGLE目录下保存着一个名为“W-EAGLE  PMS Deck.zip”的压缩包。解压并打开某DOC文档,发现这是一个带着公司logo的西班牙语文件,标题在谷歌翻译为“甲板计划的维护/检查手册”。



图34 W-EAGLE目录下的文件内容


根据公司名称搜索后证实,这是西班牙一家大型船舶管理公司,主要从事干散货船的运营。



图35 W MARINE INC公司主页信息


如图35所示,该公司的网址同黑客所使用的服务器名称相同,由此证明此服务器实际是属于此公司。并且根据服务器上保存的与该公司有关的文档创建时间是2016年10月中下旬左右,我们猜测此服务器因长期被闲置而无人维护,致使被黑客组织加以利用。


3.5.2 监控日志信息


我们将数量近2万的监控日志进行整理分析,数据显示黑客组织实际上从2019年7月便已开始处于活跃状态,受害者的主机信息以及个人登录凭证持续的被回传到此服务器上。截止目前为止,Keystrokes文件的占比率相对比较大,其次是Screen文件,Recoverey文件相对较少。不仅如此,我们监测到此类文件在服务器上仍然不间断的新增。


文件类型

创建时间

文件数量

Keystrokes

2019年7月16日

8383

Screen

2019年8月10日

5447

Recovery

2019年7月16日

3859

表1 服务器上的日志统计


3.5.3 受害者地域和行业分布


受害者IP地址主要分布在西班牙、印度,以及少量来自阿联酋和墨西哥地区,其大概占比率如下图:



图36 受害者地域分布图


基于我们对黑客组织的攻击信息统计显示,此次攻击活动涉及到西班牙地区的市政府、农业机械行业、水利工程行业和对外贸易行业,以及印度和阿联酋等其他行业。下表展示了部分的相关统计信息:


公司名称

公司信息

FEMAC

位于西班牙的一家农业机械公司

XUNTA DE GALICIA

西班牙加利西亚地区的费斯特拉市政厅

ICINCO

位于西班牙加纳利群岛的建筑水利工程公司

GALACANARIA

位于西班牙大加纳利群岛的一家食品,饮料和烟草批发贸易公司

AIRSAT

西班牙一家互联网供应商

Al Serh Al Kabeer

位于阿联酋的一家建筑公司

AFS Logistics  International Pvt.Ltd

位于印度的一家国际物流货运代理公司

Vanity Case

位于印度的一家天然护肤产品分销商

sanbe-farma

印度尼西亚当地领先的制药公司

表2 被攻击的部分公司信息


3.5.4 黑客的归属位置


此外,我们还注意到一些HawkEye Keylogger日志似乎是从黑客的电脑中上传的,文件名中的HawkEye Keylogger和编号Rebornv9(该木马的最新版本号),以及关键字“PasswordsLogs”和“TestLogs”等,疑似是黑客的测试日志。



图37 测试日志截图


日志文本里详细列出了黑客组织几个用于测试的邮箱登录凭证,部分信息如下。

示例1:



图38 日志信息截图1


图39 Movistar邮箱登录界面


示例2:


图 40 日志信息截图2


图41 Suite Correo Profesional 邮箱登录界面


我们提取出了该日志的IP地址“197.210.226.51”。查询后得出该地址位于尼日利亚地区:


图42 IP地址查询后的相关信息


此外,在另外的Keystrokes日志中再次发现的IP地址“41.203.73.185”与前文中我们记录的IP地址相同,其也是指向尼日利亚地区。具体信息如下图:


图43 Keystrokes日志中的信息


然后,我们从同源的Recovery日志中找到了黑客不小心泄露的国外ANY.RUN(在线恶意软件沙箱)平台的账号和密码。


图44 Recovery日志中的信息


成功登录后查看扫描历史,我们可以看到黑客组织在7月份的时候便开始将木马上传进行查杀检测。同时根据沙箱扫描结果显示,再次确认该批木马属于Agent Tesla和HawkEye Keylogger家族。


图45 ANY.RUN上传历史记录



4、总 结


长期以来, 用以窃取敏感信息的间谍木马一直在不断的更新换代。随着灰色市场的兴起,键盘记录程序、窃密程序和远控程序正在逐渐地趋向于商业化,以至于攻击者在此方面无须投入太多的时间和精力,而将关注点放在其攻击手段和社会工程学的能力上。


通过对服务器上持续更新的回传文件监测,我们可以看出该黑客组织的攻击活动正在持续进行,受害者的人数仍然呈上升趋势。此外,通过对攻击活动的溯源和后台数据统计,我们猜测后续的攻击目标重点偏向于西班牙和印度等地区。


在此启明星辰ADLab提醒各企业单位及个人用户提高警惕,不从来历不明的网站下载软件,不要轻易点击来源不明的邮件附件,不要随意启用宏,及时下载补丁修复。



IOC:


SHA-256

DE01B6A27D4EBA814FE3CE5084CFC23FDEEB47D50F8BEC5A973578E66B768A48

D5F2418628B818FCFFDD7F3A31F9A137761FA307D1C05C9B783E9040E008DE90

CA56DAD3CABD5AD85411B88C5E094055BEAA96DF6F9B37B9E9FD03AFF823CBAF

4DE32AD800A7847510925D34142B16AE6D7C3C0E44E33EC54466F527FCC93F41

F183992B4BC36F3B33F967EAB83B53A2448260ADA4A92A4B86F32284285EEFED

D6F5AAD82A21C384171BC8FE1BFBC47867151CCE9E8FA54FA21903191A63FD9E

BB3A12EDEFB5A96D6BDBFDC86ED125757ABC3C479EDAF485444A05F4A1D9F9B6

0514990857770F5AF20C96B97D7B63DC8248593D223A672D60C5C6479910C84B

1DD9B3CBB1AAC20E3A3954A1CFBE1BC8CB746C1BF446512A0AB6795546A9774F

C2域名

smtp[.]diagnosticsystem[.]in

kartelicemoneyy[.]duckdns[.]org

virtualhost19791[.]duckdns[.]org


参考链接:


https://www.fortinet.com/blog/threat-research/in-depth-analysis-of-net-malware-javaupdtr.html