新WhiteShadow下载器用Microsoft SQL提取恶意软件

ang010ela 恶意软件 2019年10月1日发布
Favorite收藏

导语:​本文分析一起利用Microsoft SQL查询来提取恶意软件payload的多阶段恶意软件攻击活动。

攻击活动分析

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

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

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

下面是攻击活动的概览:

image.png

表 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结构有所类似:

image.png

表 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如若转载,请注明原文地址: https://www.4hou.com/malware/20650.html
点赞 3
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论