Threat Research Labs研究人员发现一起自2019年4月开始的垃圾邮件攻击活动。该攻击活动中将含有下一阶段payload的ISO镜像文件作为附件在垃圾邮件活动中进行传播。
垃圾邮件攻击活动
该垃圾邮件活动开始于2019年4月,邮件正文是关于发票的消息,用ISO硬盘镜像文件作为附件。邮件中文中的消息表明该攻击活动并不针对某个个人或企业。图1是含有ISO文件作为附件的垃圾邮件示例。
图1: 含有ISO文件作为附件的垃圾邮件示例
研究人员最开始是根据垃圾邮件的附件ISO格式对邮件进行怀疑的。研究人员进一步分析样本发现其中含有LokiBot和NanoCore恶意软件。截止目前,研究人员共发现了该攻击活动的10个不同变种,使用的是不同的ISO镜像文件和邮件。
使用此类不常见的文件格式进行攻击使恶意软件作者有一定的优势,因为ISO文件格式在许多邮件安全解决方案的扫描中是出于白名单中的。许多主流的操作系统的默认软件在用户点击后会自动检测和挂载ISO镜像文件。因此ISO文件对垃圾邮件攻击者的首选目标。攻击活动中使用的ISO镜像文件的大小在1M到2MB之间,一般的镜像文件大小在100MB以上。镜像文件中只含有一个可执行文件,也就是真实的恶意软件payload。
Payload分析
LokiBot
越来越多的攻击者开始使用LokiBot做为垃圾邮件攻击活动的传播payload。当前版本的Loki与之前版本雷士,唯一的不同就说使用了反逆向技术。在分析的样本中使用IsDebuggerPresent()函数来确定是都在调试器中加载。还应用了常见的反虚拟机技术,通过测试CloseHandle()和GetProcessHeap()的计算时间差来检测是否在虚拟机中运行。图2是反汇编代码。
图2: LokiBot中的反调试检查
反逆向代码修复后,恶意软件样本会在内存中解压,如图3所示。解压的二进制文件是一个VB语言编写的可执行文件。
图3: 含有解压的二进制代码的内存区域
恶意软件感染系统后,会执行以下操作:
· 查询系统GUID信息
· 执行process hollowing和启动子进程
· 删除父进程,使子进程仍出于运行状态。
感染过程完成后,样本会启动窃取器功能来:
· 探测超过25个不同的web浏览器来窃取不同的浏览信息
· 检查机器上是否运行有web或邮件服务器
· 确定15个不同的邮件和文件传输客户端的凭证
· 检查是否有常用的远程管理工具,比如SSH, VNC,RDP
图4 是研究人员分析的恶意软件行为。
图4: 恶意软件行为
NanoCore RAT
NanoCore RAT使用AutoIT来对主.NET编译的二进制文件进行封装。
图5: 恶意软件样本中的AutoIT代码段
反编译的AutoIT脚本是经过混淆的,并构成了NanoCore RAT的真实.NET二进制文件,如图6所示。
图6: 构建真实二进制文件payload的AutoIT函数
真实的二进制文件通过执行以下动作来染过系统:
· 检测是否有调试器
· 创建mutex,并执行进程注入
· 通过修改注册表来创建驻留
恶意软件一旦在受害者设备上立足,就会开始获取以下信息:
· 获取剪贴板数据和监控键盘输入
· 收集关于系统中文档文件的信息
· 连接到TFP服务器来上传从系统中窃取的数据
图7是Netskope对该RAT的详细分析。进程执行图描绘了与样本相关的不同进程的常见和流图。
图7: NanoCore RAT分析
结论
垃圾邮件活动开始使用不同的新老技术来保持相关。选择ISO镜像文件作为附件表明攻击者开始尝试对抗邮件过滤器和扫描器,因为一般ISO文件类型是在白名单中的。