ang010ela 嘶吼专业版

***活动分析

2019年8月,Proofpoint研究人员发现了一系列的传播含有WhiteShadow下载器VB宏的word和Excel附件的恶意邮件活动。

图1: AWhiteShadow***活动中的恶意邮件

WhiteShadow是一种恶意软件交付服务,其中包含Microsoft SQL Server实例来保存下载器提取的主机payload。

下面是***活动的概览:

表 1: WhiteShadow***活动2019年8月和9月的顺序表

下载器分析

WhiteShadow用SQLOLEDB连接器来连接远程Microsoft SQL Server服务器实例,执行查询,并将结果保存为zip可执行文件的形式。

SQLOLEDB连接器是来自微软的可安装的数据库连接器,在许多office应用中都是默认包含安装的。连接器成功安装在系统中后,就可以被Windows子系统和office文档中的VB宏所使用。研究人员在许多恶意软件中都发现了WhiteShadow的这种方法:

· Agent Tesla

· AZORult

· Crimson

· Nanocore

· njRat

· Orion Logger

· Remcos

· Formbook

恶意软件感染的过程顺序如下:

· 用户启用word或excel文件中的宏;

· 宏到达Microsoft SQL服务器,并根据宏中硬编码的‘Id_No’从指定的数据库表的 ‘Byte_data’列获取ASCII码字符 

· 宏解码ASCII码字符并将数据以二进制模式写入文件

-伪格式: <byte><separator><byte><separator><byte>....

-如图3和图4所示,宏代码将数据分成数组,然后写入磁盘

· 解码后的文件的文件类型为ZIP,其中有一个可执行文件

· 然后宏会从ZIP从提取可执行文件并运行。可执行文件就是前面提到的恶意软件payload

如图2所示:

图2. WhiteShadow 下载器和恶意软件感染顺序图示

图3. 用分隔符!将数据分成数组

图4. 用分隔符,将数据分成数组

图5: 编码的PKZIP文件ASCII表示

图6: 解码的PKZIP文件十六进制表示

研究人员发现mssql.somee.com域名的子域名上有多个不同的数据库:

antinio.mssql.somee[.]com

bytesdata.mssql.somee[.]com

fabancho.mssql.somee[.]com

在每个数据库中,WhiteShadow访问的数据都是保存在Data表中,该表含有3列:

· Id_No ; 是payload的主键int识别符

· Byte_data ; payload数据的编码的ASCII码表示

· Net_ver ; payload的customer识别符或版本字符串

Proofpoint研究人员发现在数据库中有行添加、移除,在一些数据库中还有更新。Proofpoint研究人员还发现与 ‘Net_Ver’行的数据以及恶意软件的Affiliate/Group结构有所类似:

表 2: Net_ver id列和相关的配置的恶意软件id的关联

Id_No ‘4’ 第一次出现为Nanocore,2天后更新为Crimson,其中Net_ver从jay更新为jay2。

研究人员在多个MSSQL主机中发现了相似性,表明是由同一个***者控制的:

bytesdata.mssql.somee[.]com -> Id_No: 9; Net_Ver: oncode

fabancho.mssql.somee[.]com -> Id_No: 2; Net_Ver: oncode

fabancho.mssql.somee[.]com -> Id_No: 2; Net_Ver: nano oncode

除了Net_ver的相似性外,多个数据库中的表重用也表明这些数据库的底层架构也是相关的。

Payload分析

在分析这些数据库的payload时,研究人员发现了一个恶意软件家族Crimson在研究人员分析期间有多次更新。更新的命令如下:

cownar:

加入可执行文件到Environment.SpecialFolder.CommonApplicationData\\%install_folder%\\updates\\中,并通过Process.Start(exe_path)执行。

cscreen:

获取受感染机器的JPEG截图,并用C2响应命令 capScreen发送截图到C2服务器。

getavs:

该命令与之前分析过的procl命令类似,会议类似下面格式来创建拼接的进程字符串:

       >%process-id%>%process_module_name%><

对每个系统中运行的进程,通过以下方式枚举:

       Process[] processes = Process.GetProcesses();

putsrt:

函数的输入是一个字符串,将该字符串与当前运行的进程可执行文件路径进行比较。如果路径不同,就通过以下命令移动可执行文件:

   File.WriteAllBytes(text, File.ReadAllBytes(execu表Path));

然后安装修改的路径到CurrentVersion AutoRun’注册表:

       SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run

结论

使用MSSQL查询来提取下一阶段payload在恶意软件中是比较少见的。今年8月底,Proofpoint研究人员发现一起使用WhiteShadow方法的新的分阶段下载器。该下载器是一种全新的恶意软件交付服务,允许不同的***者来将下载器和相关的SQL服务器基础设施都融入***活动中。研究人员发现***者使用WhiteShadow来安装RAT、下载器、keylogger等。

研究人员建议企业密切关注收到的恶意邮件,并对TCP 1433端口上的进行拦截,至少要在防火墙上进行ACL配置。

参考来源:https://www.proofpoint.com/us/threat-insight/post/new-whiteshadow-downloader-uses-microsoft-sql-retrieve-malware

©著作权归作者所有:来自51CTO博客作者mob604756ebed9f的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. CVE-2019-16928:Exim RCE漏洞分析
  2. Intel Thunderbolt曝出7个漏洞,影响过去9年销售的数百万计算机
  3. Deemon & CSRF漏洞自动挖掘工具分析
  4. Mac上小巧且功能全面的闹钟与睡眠计时软件:Awaken
  5. 软件测试女孩可以不?
  6. 前端工程师和后端工程师的区别?
  7. IPFS指南:ipfs挖矿的常见问题,避坑指南
  8. YOLOv5目标检测实战:Jetson Nano部署
  9. 如何做好技术面试准备?这些你都知道了吗?

随机推荐

  1. Android Binder原理(一)学习Binder前必须要
  2. Android消息循环
  3. 系出名门Android(1) - 在 Windows 下搭建
  4. ch022 Android Handler
  5. 【Android布局】在程序中设置android:gra
  6. android分辨率适配
  7. android:gravity/android:layout_gravity
  8. Android开发经典书籍下载——《Android 4
  9. ch019 Android surfaceView
  10. [Android] Android 锁屏实现与总结 (一)