事件简介
近期深信服安全蓝军高级威胁研究团队发现攻击者散发利用 CVE-2018-0798 的恶意文档传播 Remcos 远控木马。恶意文档名称为“新建采购订单查询列表”,会对从事采购工作的人员有较大的吸引力,而且文档不需要交互就会下载执行包含Remcos的可执行文件。在分析过程中,发现在加载Remcos之前攻击者做了很多免杀的操作,如混淆,加密数据,反射加载,多层loader嵌套等等,在上传到VT时的只有29个引擎报毒,具有较好的免杀效果。可以看出这是攻击者精心构造的对采购人员的钓鱼攻击。
漏洞简介
CVE-2018-0798 是在最早的公式编辑器漏洞 CVE-2017-11882 被修补之后出现的衍生型漏洞,漏洞逻辑与 CVE-2017-11882 相似,同样是源自 EQNEDT32.exe 程序未对复制长度进行检查而引发的栈溢出问题。而且不管是否打上 CVE-2017-11882 的补丁,都会触发 CVE-2018-0798。该漏洞影响的 Office 版本为:Office 2007, Office 2010, Office 2013和Office 2016。
样本家族简介
2016年下半年,Remcos 远控木马开始售卖,与其他 RAT 不同的是,Remcos 由Breaking Security 公司作为一种管理工具进行营销,该公司在其网站上公开出售它。至今 Remcos 已经更新至3.5版本,并仍在持续更新。Remcos 的官方网站目前在售卖的5个产品,其中比较流行的是 Remcos Professional,售价58-399 欧元,功能非常丰富,可以控制机器上的文件,进程,服务,麦克风,摄像头,浏览器cookies,键盘记录,vbs、js、batch 脚本执行等等。另外 Remcos 还存在免费版,只是没有自动任务,监控,渗透等功能,但功能依旧很强大。
图1 Remcos官网商店
流行情况
Remcos 的获取非常方便,且有免费版的存在,十分容易被拿来攻击。通过查看Remcos 在 any.run 的上传情况,平均每天7个左右的样本上传,而且有一部分都是经过 crypter、loader、钓鱼文档层层包装过的样本,可以看出 Remcos 处于活跃状态且被用于针对性攻击。
历史更新情况
从2016年至今,Remcos 大致经过3个大版本,目前处于3.5版本。(以下表格是基于收集到的各版本 payload 的分析结果,可能存在错误,仅供参考)
样本分析
恶意文档利用 CVE-2018-0798,通过 EQNEDT32.exe 栈溢出执行 shellcode 下载下阶段文件。下载的 vbc.exe 在内存中执行两个 loader,复制自身到 %appdata% 目录下,并设置计划任务在用户登录时开启 %appdata% 目录下的进程。而 loader 最终会加载 remcos 远控木马,控制机器。
1 文档分析
在漏洞函数 sub_443F6C 调用过后,栈上的数据被大量修改。
图2 sub_443F6C执行前
图3 sub_443F6C执行后
在3次 retn 后跳转到 shellcode。
图4 最后一次retn栈上的数据
最后通过 URLDownloadFileW 下载文件 vbc.exe
URL:http://107.173.62.61/king/NEW_PO-INQUIRY_LIST.exe
File:C:UsersPublicvbc.exe
图5 shellcode下载过程
最后使用 ShellExecuteW 执行下载的文件。
图6 shellcode执行下载的文件
2 文件分析
样本的免杀效果做得还是不错的,在样本被发现初期只有不到一半的杀毒引擎报毒。
图7 vbc.exe在首次上传到VT的报毒情况
2.1 详细分析
2.1.1 Vbc.exe 分析
样本在注册窗口时穿插了从“NDa”资源段中读取数据解密后反射加载到内存中
图8 vbc.exe 入口点
调试后发现会调用反射加载 loader1 的
GRecruiter.MyBinarySearchTree.AnsiChar 函数
图9 vbc.exe 反射加载调试过程
2.1.2 Loader1 分析
读取 vbc.exe 的资源数据并解密后加载到内存中,dump 反射加载的 loader2 进行分析。
图10 loader1 关键函数反汇编
2.1.3 Loader2分析
将自身进程原文件,即 vbc.exe 复制到 %appdata%QfCZuvaICd.exe,设置为隐藏。
图11 loader2 复制文件
然后在 %temp% 目录下释放 xml 文件 tmp6E33.tmp,其中保存着注册为计划任务的配置信息。
图12 loader2 释放配置文件
随后创建 schtasks.exe 进程使用 tmp6E33.tmp 中的配置信息注册计划任务。
图13 loader2利用配置文件创建计划任务
注册的计划任务会指向 %appdata%QfCZuvaICd.exe,该计划任务会在开机时触发。
图14 loader2 创建的计划任务
最后将一个 payload 注入到自身进程,经过分析可以确定是最新版 remcos 的 payload。
图15 loader2创建的计划任务
2.1.4 Remcos payload 分析
初始化
在调试中可以发现,最后的 payload 有非常明显的 Remcos 远控木马的特征,并且是最新 3.5.0 pro 版本
图16 payload 中 remcos 特征
通过调试获取 Remcos 的配置信息,得到 remcos 外联的 C2:power22.myftp.org:4202。
图17 remcos的配置信息
根据配置文件跳过将自身注入到其他进程、设置持久化、复制自身并用 vbs 脚本删除旧文件执行新文件、UAC 绕过等等,只是收集系统信息。
图18 remcos获取系统信息
并且在注册表中留下感染痕迹。
图19 remcos往注册表写入感染标志
图20 remcos写入注册表的内容
通信方式
3.x 版本的 Remcos 增加了 TLS 通信模式,使用公钥对通信内容进行加密。通过配置数据控制 TLS 是否开启,样本中对配置文件的解析中发现是开启 TLS 通信的。
图21 remcos解析配置文件的过程
命令控制
3.x 版本与之前的版本变化不大只是优化了一些功能的实现,比如反射加载的过程,舍弃了 CreateFileMappingA、MapViewOfFileEx,使用 VirtualAlloc 申请内存进行映射。从 2.x 版本开始使用数字命令后,到 3.x 版本,功能序号对应内容是不变的,新增功能会在原有序号上递增。
下表只列出关键的功能
IOCS
http://107.173.62.61/king/NEW_PO-INQUIRY_LIST.exe
power22.myftp.org:4202
NEW_PO-INQUIRY_LIST.xlsx
eb70896dfecd729dbb5bc19e429b7194
vbc.exe
275e9b6756b393c890f7ef0c07cc4caa
Refernce
http://blog.nsfocus.net/CVE-2018-0798/
https://icode.best/i/81269735974457
深信服千里目安全实验室
深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。
● 扫码关注我们
原文始发于微信公众号(深信服千里目安全实验室):利用公式编辑器漏洞散播最新Remcos商业木马的钓鱼攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论