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