sLoad是一款基于PowerShell的木马下载器,以使用Background Intelligent Transfer Service (BITS)进行恶意活动而出名。研究人员近日发现了该版本的v2.0版本——Starslord。研究人员根据恶意软件代码中的字符串将该新版本的sLoad命名为Starslord。
在新版本中,sLoad加入了在每个受影响的机器中追踪感染阶段的能力。V2.0打包了反分析技巧可以识别和隔离分析机器(虚拟机)。
研究人员发现新版本的sLoad攻击活动与之前的版本相比,加入了一些更新,包括释放动态的C2服务器列表和上传截屏。
追踪感染阶段
研究人员在追踪感染阶段过程中,对Starslord后台有访问权限的恶意软件运营者可以构建详细的受感染机器的感染视图,并将这些机器分为不同的组。
追踪机制存在于最后一个阶段,是无限循环,休眠间隔为2400秒,在在老版本中是1200秒。与之前版本相比,在最后一个阶段的每个循环中,恶意软件都会使用一个下载的BITS作业来窃取系统信息,并从C2服务器接收额外的payload。
与老版本的sLoad一样,创建一个包含非加密的系统信息的RemoteURL参数的BITS作业非常明显,很容易就会被检测到。但在Starslord中,系统信息在被窃取之前会被编码为base64数据。
Starslord接收的文件是对负责窃取的BITS作业进行响应,其中含有用*分割的3个值:
Value #1是使用下载BITS作业来下载额外payload的URL
Value #2 指定了动作,可以是下面的一个,可以从Value #1的URL处下载得到的payload数据获取:
“eval” – 运行PowerShell脚本
“iex” – 价值和调用PowerShell代码
“run” – 下载编码的PE文件,解码exe,并运行编码的可执行文件
Value #3是一个表明受感染机器感染状态的整数
Payload URL作为value #1的一部分允许恶意软件基础设施来保存来自活跃C2服务器的不同服务器的payload,作为窃取BITS 作业的响应。
Value#3是设置中最著名的组件。如果最后一阶段使用value #1中的URL成功下载了额外的payload,并用value #2中的命令成功执行,那么该变量会被用来组成字符串“td”:”
无限循环确保了窃取BITS作业在固定时间间隔内创建。与之前的版本不同,Starslord可以准确地指导特定受感染机器的感染阶段。而且,3元组中的value #3的值是由恶意软件基础设施管理的,因此可以软件运营者可以将受感染的主机分隔开来,并为不同的组设置不同的唯一的感染路径。
反分析技术
Starslord中内置了一个名为checkUniverse的函数,实际上是一个反分析技术。sLoad的最后一个阶段是解码释放的.ini文件得到的PowerShell代码。PowerShell代码的值在内存中以变量的形式存在,并会用Invoke-Expression cmdlet执行。由于解码的PowerShell代码并没有出现在硬盘上,因此安全研究人员需要将其复制到硬盘上才能进行下一步分析。
sLoad释放器PowerShell脚本共释放了4个文件:
· 一个随机命名的.tmp文件
· 一个随机命名的.ps1文件
· 一个ini文件
· 一个ini文件
然后恶意软件会创建一个计划任务来每3分钟运行一次.tmp文件,这与之前的版本是类似的。.tmp文件是一个代理,会运行.ps1文件,解密main.ini的内容到最后一阶段。然后最后一阶段会解密domain.ini的内容来获取活跃C2,和执行其他活动。
通过反分析技术,Starslord确保了.tmp和.ps1文件都是随机命名的。研究人员在复制最后一阶段解密源码到与.tmp和.ps1所在文件夹时,分析人员就可以将其命名为原始的随机名。当复制的源码在硬盘中以其他名运行时,checkUniverse函数就会返回1,研究人员得到一个trap:
如果主机属于trap的分析师,响应BITS作业的从后台下载的文件就会被丢弃,并被以下三元组覆写:
hxxps:///doc/updx2401.jpg*eval*-1
在本例中,value #1就是与trap主机相关的URL。来自trap主机的BITS作业并不会一直得到响应。如果得到响应,就是一个释放器PowerShell脚本的副本。这可以创建value #1中URL更新的框架。
在来自主机的后续的BITS作业中的字符串是“td”:”-1”,”tds”:”3”,这会让所有的主机按照“td”:”-1”进行分组。
总结
sLoad的多阶段攻击链、使用变异的中间脚本、将BITS作为可选协议,以及多态性的本质都使得该恶意软件很难检测。目前,sLoad已经发展为v2.0版本的Starlord,新版本在原有版本恶意能力的基础上还加入了一些新的特征。
Starslord可以追踪受影响的机器的感染阶段,并根据感染的阶段来对受感染的主机进行分组,因此会有唯一的感染路径。而且恶意软件还使用一个名为checkUniverse的函数来确定运行的主机是部署分析的机器。
本文翻译自:https://www.microsoft.com/security/blog/2020/01/21/sload-launches-version-2-0-starslord/如若转载,请注明原文地址