多款商业马正通过钓鱼邮件广泛传播 – 作者:奇安信威胁情报中心

概述

邮件攻击是一个老生常谈的话题,无论是灰黑产从业者还是APT组织都比较青睐于它。千里之堤毁于蚁穴,由于企业或者个人的安全防范意识不足,钓鱼邮件往往攻击者通往企业内部的第一把钥匙。近日,我们在日常样本运营中观察到多款商业木马正在通过钓鱼邮件广泛传播,包括RemcosRAT、AgentTesla、SnakeKeylogger、AsyncRAT、Nanocore等等。

商业木马主要由钓鱼邮件进行传播,邮件内容通常为热点话题或人们感兴趣的内容,邮件附件通常为带有恶意宏代码的office文档文件或漏洞利用的文档文件。邮件附件被受害者执行之后,通常会层层解密从攻击者的服务器下载后续,最终加载执行木马主体文件,实现对用户设备的远程控制或信息窃取。

样本分析

钓鱼邮件

从攻击类型角度来看,钓鱼邮件可分为普通钓鱼邮件和鱼叉式钓鱼邮件。普通钓鱼攻击针对个人用户,在这种情况下,攻击者没有明确的目标,其通过广撒网的方式下发钓鱼邮件控制受害者主机以求牟利,所以钓鱼攻击的诱饵文档会比较通用,主题一般是时下热点或人们普遍感兴趣的话题。而鱼叉攻击主要针对企业用户,此时攻击者有着窃取商业机密这样明确的攻击目的,诱饵通常会根据攻击目标定制,例如仿冒企业高管向企业员工发送人事变动表;仿冒合作公司向企业员工发送报价单;结合收集到的资料给指定员工发送他感兴趣的内容等等。

从攻击方式角度来看,邮件攻击主要分为在正文中插入外部链接和在附件中添加恶意文档两类。插入的外部链接可能指向一个钓鱼网站以盗取受害者账号密码,也可能指向一个下载地址下载恶意程序到本地以实现对受害者主机的进一步控制。无论哪种情况,攻击者都会构建一个看起来正常并且符合文件主题的请求地址,用户收到邮件之后,若不能辨别外链的URL地址是否正常,则很容易中招,下图列举了部分外链的钓鱼邮件:

1616383021_60580c2d5b9ecc6d7ddf0.png!small?1616383021973

在邮件附件中嵌入恶意文件是目前最常见的邮件攻击方式。嵌入的文件可能是office文档、也可能是zip打包的exe。攻击者会通过邮件正文诱导用户下载并打开附件文件,例如以订单费用为诱饵:

1616383027_60580c33a3095190e13bb.png!small?1616383027944

以健康咨询作为诱饵:

1616383032_60580c38754eae89cc547.png!small?1616383032741

以账单逾期作为恐吓:

1616383036_60580c3cd670176cc6d5f.png!small?1616383037160

当用户被这些内容吸引,打开并运行附件文件之后,用户主机将会沦为攻击者的肉鸡,成为攻击者非法牟利的工具,甚至泄露公司机密文件,造成重大损失。

此外,现在越来越多的攻击者会将附件加密,然后在邮件正文中告诉用户密码以绕过邮件网关的检测,如下图所示:

1616383045_60580c45e41d9c19d26c8.png!small?1616383046225

除了office文档,攻击者有时还会在钓鱼邮件中投递LNK文件或者EXE文件,LNK文件通常会盗用正常程序的图标,例如文件夹图标、mp3图标、磁盘图标等等。以图中的样本为例,LNK文件运行之后,则会调用系统自带的mshta.exe从指定地址加载html代码到本地执行。

1616383055_60580c4f94e53ae69d078.png!small?1616383055960

由于在Windows系统中默认不显示文件扩展名,有的攻击者还会将可执行文件的图标更改为xlsx/docx相关图标,并且以 <文件名.xlsx.exe>的形式命名,让受害者相信这只是一个普通的office文档文件。

1616383095_60580c77d1b6e9afd5153.png!small?1616383096329

通过对大量钓鱼邮件和商业木马的完整分析,我们总结出了一些攻击特点以及用户容易受到钓鱼邮件欺骗的原因。在下文中,我们将对比较有代表性的木马家族进行详细分析,希望帮助读者从多个方面了解和认识钓鱼邮件所带来的危害。

RemcosRAT

Remcos RAT的出现最早可以追溯到2016年,当时在黑客论坛里作为一种有偿服务进行广告和销售,曾经很多网站和论坛还提供该工具的破解版本。一直到现在,Remcos仍然是众多网络犯罪团伙的首要选择。

诱饵文档

RemcosRAT家族相关的诱饵文档普遍很简单,大多数诱饵文档启动之后仅仅使用一张劣质图片诱使用户启用宏代码,以e9dbdcfb6439bd0d888e907a71509937样本为例,样本启动后如下所示:

1616383112_60580c88286a023c2bdd1.png!small?1616383112417

和传统宏代码通过Auto_Open()函数启动不同,此样本是以Workbook_Activate进行代码调用,该方法会在工作簿激活时自动调用。

1616383121_60580c91ed3c122d62495.png!small?1616383122311

在Workbook_Activate函数调用后,程序会获取TextBox1的值解密出一段Powershell指令。TextBox1是一个隐藏在工作簿中的文本框,文本框内容是一段逆向输入的Powershell指令。

1616383128_60580c98076ec1bef4490.png!small?1616383128364

数据处理之后,程序将执行一段Powershell指令用于下载后续Payload

1616383132_60580c9c2f1e74b56e6b4.png!small?1616383132509

Powershell代码还原之后会从hxxp[:]//greenpayindia.com/king/file/ach/login/Protected Client.js 下载Protected Client.js文件并在本地保存为:%APPDATA%/notepad.js,最后通过IEX加载执行这段js代码。

1616383136_60580ca0cf83fb85afce8.png!small?1616383137170

详细分析

下载回来的notepad.js是一个下载器,原始代码进行了变量混淆

1616383144_60580ca8cdb024104b4b1.png!small

程序首先是定义了两段二进制数据,在将特殊字符替换和翻转之后,调用Powershell从

hxxp[:]//greenpayindia.com/king/file/ach/login/Attack.jpg下载后续payload到本地加载执行

1616383151_60580cafe0edabfee389d.png!small?1616383152217

在加载执行Attack.jpg之后,notepad.js还会将自身路径添加到Run注册表键值中,以开机自启动的方式实现本地持久化。

1616383157_60580cb5c891648b82c6f.png!small?1616383158156

notepad.js下载了Attack.jpg文件之后,会将Attack.jpg文件的数据赋值到$mv变量中,然后将数据以%分割并转成16进制的形式加载执行

1616383163_60580cbb78b45b34fd639.png!small?1616383163743

处理后的Attack.jpg是一个Powershell加载器,powershell脚本中硬编码了两段hex数据,第一段hex数据是一个PE文件,第二段hex数据是一个压缩包。

1616383168_60580cc065c9aee0e8356.png!small?1616383168998

程序首先会对PE文件对应的数据流进行处理,然后将其转换为十六进制数据

1616383172_60580cc4b084d99b1ad9d.png!small?1616383173017

转换之后将会得到一个C#编写的加载器

1616383177_60580cc9b0f832800a0bc.png!small?1616383178021

在脚本最后,程序会执行刚才转换得到的C#加载器,并且调用Waves.t48hj00fg类的实例方法。

1616383181_60580ccda22e77d94f2d4.png!small?1616383181933

该类主要是解压缩处理参数的数据。

1616383186_60580cd2c878ca38f6eef.png!small?1616383187040

这里传入的数据就是powershell脚本中的第二段数据。

1616383191_60580cd7d31e6533fc9ec.png!small?1616383192210

将该段数据转存出来解压缩,即可得到RemcosRAT

1616383194_60580cdad9674abebc51b.png!small?1616383195179

截止到2021年2月25日,Remcos官网中最新版本的Remcos是3.10 Pro,与本次捕获的样本版本一致:

1616383198_60580cded1f6eb0a45ae3.png!small?1616383199157

当Remcos加载之后,首先会加载资源表中的SETTINGS并通过Rivest Cipher 4进行解密

1616383202_60580ce2e73f8645137cc.png!small?1616383203298

资源加载之后,程序会按照一定的长度将资源分割,第一部分是Rivest Cipher 4算法的解密秘钥,第二部分是待解密的数据

1616383208_60580ce8ebbadb857129e.png!small?1616383209235

第二部分的数据解密之后会以|….|进行分割,解密的字符串包括

1616383818_60580f4a714cd8d5357cb.png!small?1616383818728

根据字符串,可得到样本的C2、家族信息以及之后可能会做的一些敏感操作。

1616383216_60580cf0f1ef6f720fef3.png!small?1616383217484

资源解密完成之后,程序则会创建互斥体并开始进行信息收集和C2回连的工作,由于Remcos客户端代码过于庞大,本文中不进行一一展示,最新版本的RemcosRAT包含了非常丰富的远程控制功能,包括但不限于:

功能

备注

文件搜索

Remcos支持在多个被控主机或网络上搜索文件

远程脚本

执行脚本,包括VBS、Js、bat脚本

远程命令行

远程执行CMD指令

进程管理

管理被控端进程,例如终止指定进程

服务管理

管理被控端的Windows服务

屏幕控制

控制被控端的电脑屏幕并进行截图

键盘记录

记录受控端主机的键盘操作并保存到logs.dat

程序管理

管理被控端主机已安装进程,例如卸载

痕迹清理

清除被控端浏览器登录名和Cookies等信息

文件传输

可与被控端进行高效的文件传输

电源管理

远程关闭、重启、休眠被控端

注册表管理

远程操作被控端注册表

其他功能

定制其他功能实现对被控端的进一步控制

1616383226_60580cfa8516e50b59903.png!small?1616383227065

AgentTesla

AgentTesla是一款基于.NET的恶意软件,最早的出现时间可追溯到2014年,七年来,AgentTesla一直保持更新和活跃,是一个老牌的木马家族。

诱饵文档

本次分析的AgentTesla相关样本中,其中一例为攻击者以产品报价为诱饵,对受害者进行鱼叉攻击。邮件附件为一个包含了CVE-2017-11882漏洞利用的xlsx文档。

1616383232_60580d0086d1db398eff9.png!small

当受害者打开文档,启用编辑数据将会触发11882漏洞,在公式编辑器内部00411658的内存地址处,程序会将esi寄存器的值拷贝给edi,此时ebp的值在edi寄存器偏移不远的地方。

1616383242_60580d0ab4b1b9968d2c6.png!small?1616383243121

此操作将导致ebp的值被恶意破坏,在函数调用结束后返回到攻击者构建的shellcode中:

1616383247_60580d0f9ba2efc84f8ae.png!small?1616383247912

shellcode执行之后,程序将从hxxp[:]//216.170.114.70/regasm/vbc[.]exe 下载vbc.exe并保存到本地并执行

1616383254_60580d1604c9e9e71778d.png!small?1616383254402

通过ShellExecuute执行C:\Users\Public\vbc.exe

1616383258_60580d1a5011c9f93df17.png!small?1616383258563

详细分析

下载回来到本地执行的vbc.exe是一个C#加载器,运行后会加载自身资源解密后续Payload

1616383262_60580d1e1e30f0308da40.png!small?1616383262367

资源解密后会得到一个base64编码后的dll文件

1616383264_60580d2042df6c68ac00d.png!small?1616383264617

接着解密Buta字符串并通过GetMethod获取Buta方法

1616383268_60580d240bb91cced38a3.png!small?1616383268340

Invoke执行解码出来的dll文件,调用Buta方法

1616383295_60580d3f7b591f8e39537.png!small?1616383295781

解码出的dll文件还是一个loader。

1616383299_60580d43f2195830aee9e.png!small?1616383300275

该文件会读取原文件的资源数据并进行解密,得到一个新的PE文件。

1616383303_60580d47ab6d29a8707cf.png!small?1616383303976

此PE文件依旧是由C#编写的loader,样本会读取解密当前资源得到AgentTesla并进行进程注入

1616383308_60580d4c5d7f6b2de6c60.png!small?1616383308627

注入进程如下,此进程即为AgentTesla窃密木马,可窃取用户主机上的机密信息并将其打包发送到攻击者的邮箱中。

1616383313_60580d51280b5dd0235cb.png!small?1616383313518

SnakeKeylogger

SnakeKeylogger又称404Keylogger,是一款由C#编写的间谍软件,可以窃取受害者的敏感信息并且进行键盘记录。感染了SnakeKeylogger的受害者可能会面临账号被盗或金融账户被盗的风险。

诱饵文档

和其他恶意家族的钓鱼邮件大同小异,SnakeKeylogger相关的钓鱼邮件附件也主要以带宏代码的文档文件为主,以1E5AFF0BB593872B0E948B4ED13A6A49为例,文档仿冒Excel官方诱导用户启用宏代码。

1616383317_60580d55f1210dd0e3b39.png!small?1616383318338

宏代码运行后将会拼接字符串解密出一段编码后的Powershell指令,用于从hxxp[:]//cv75663.tmweb.ru/mike/bravegram.exe下载后续Payload到本地执行。

1616383324_60580d5ceb9043cb46dba.png!small?1616383325419

详细分析

下载回来的bravegram.exe是一个Dropper,程序会将预编码在文件中的数据进行9次循环解码,得到第二层加载器

1616383330_60580d62204fb6410aaff.png!small?1616383330427

第二层加载器中,程序将会通过ThreadHideFromDebugger实现反调试,然后读取00112266资源项解密出Snakekeylogger。

1616383334_60580d6676bb1b037ab65.png!small?1616383334781

最后,程序会将解密出来的SnakeKeylogger注入到系统自带的vbc.exe中执行。

1616383338_60580d6a3d8a591c45afb.png!small?1616383338542

SnakeKeyLogger启动之后,首先会获取当前计算机的一些基本信息,如计算机名、当前日期时间、当前计算机的出口ip、ip所在的地理位置等。

1616383344_60580d70ee7ec4dd38bbd.png!small?1616383345220

接着程序将进行一个环境检测,判断当前的运行环境是否在已知的环境中,检测方法是利用获取到的公网IP不断与预定义的公网ip进行比较,若两者相等,则退出进程。

1616383347_60580d739c8daf3eb0bc9.png!small?1616383348037

在一切环境准备就绪之后,SnakeKeylogger将会开始键盘监听并窃取用户主机上的关键信息,包括:outlook账号密码、Foxmail账号密码、Amigo、Xpom、Kometa、Nichrome、Chrome、CocCoc、QQ浏览器、Orbitum、Slimjet、Iridium、Vivaldi、TIron、Chromium、Ghost、Cent、XVast、Chedot、Superbird、360浏览器英文版、360浏览器中文版、Comodo、Brave、Torch、UC浏览器、Blisk、Epic、Opera、FileZilla、Pidgin、liebao浏览器、Avast、Kinzaa、BlackHawk、Citrio、Uran、Coowon、7Star、QIPsurf、Sleipnir、Chrome_Canary、CoolNovo、Sputnik、Falkon、Microsoft edge浏览器、Discord、Slim、FireFox、Thunderbird、SeaMonkey、IceDragon、CyberFox、PaleMoon、WaterFox、PostBox。

数据窃取成功之后,程序将会以SMTP的方式将数据打包发送到攻击者的邮件服务器中。

1616383357_60580d7d7e2907525fe3c.png!small?1616383357795

历史版本对比

基于奇安信内部数据平台,我们找到了大量类似的商业木马和钓鱼邮件,对其中的部分样本进行详细分析之后也算是掀开了灰黑产产业链恶意样本发展的冰山一角。以RemcosRAT为例,自2016年发布以来,RemcosRAT就在不断更新迭代,2019年年底就已经发布了1.7pro版本

1616383361_60580d81d2d39cc171731.png!small?1616383362341

对比分析之后可以发现,一方面,RemcosRAT的开发商对程序的功能进行了完善和更新,另一方面,他们对RemcosRAT的代码结构进行了维护和重构,目前的RemcosRAT比以前更稳定,更难以分析。

1616383365_60580d85d63cf993f0019.png!small?1616383366110

总结

自互联网普及以来,网络攻击就是一个经久不衰的话题。出于利益的驱使,灰黑产攻击者们正持续不断的更新迭代恶意软件并发起网络攻击。一方面,攻击者们都比较默契的采用了较为复杂的加载方式,通过多次的下载和解密,层层加载,最终才会执行真实的恶意样本,这样做可以比较好的迷惑受害者,提升攻击成功率。另一方面,样本大多数使用了免费的第三方服务作为通信,包括后续payload下载以及数据回传,在节省开支的同时也使得样本更难被溯源。

此次捕获的样本主要是针对国外用户开展攻击活动,暂未发现影响国内用户,但防范之心不可无,在这里再次提醒各企业用户,加强员工的安全意识培训是企业信息安全建设中最重要的一环,切勿点开来历不明的邮件附件。

对于天擎用户,请及时更新病毒库以查杀此类恶意样本的最新变种。另外,企业用户可以建设态势感知,完善资产管理及持续监控能力,并积极引入威胁情报等产品,以提高多维度防御的能力。

IOCs

部分相关md5信息如下:

808EA5B48F1602EB1474AA935D204BFC

1E5AFF0BB593872B0E948B4ED13A6A49

e9dbdcfb6439bd0d888e907a71509937

91501377b1509c2feaa6e5d1f986adae

5d688ea01506746b1dfb67201aa0ba1b

931cc8e931c32624701c71d3e2bc6f0a

2509447b18947c385a1cfc622d47d131

2019989c39331aaee8b4aed904cfac70

15305cbe251901a5c2e1044b7a71d380

11ff7ae90a30589cd3bcdbf662fad152

来源:freebuf.com 2021-03-22 11:31:43 by: 奇安信威胁情报中心

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论