Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序

admin 2024年2月13日20:37:54评论19 views字数 4174阅读13分54秒阅读模式

Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序

2023年,勒索软件组织发起的自带漏洞驱动程序(BYOVD)攻击不断增加,其中Kasseika勒索软件是最新加入这一趋势的组织之一。继Akira、BlackByte和AvosLocker之后,Kasseika也开始使用这种策略来终止反病毒进程和服务以部署勒索软件。在趋势科技最新调查的案例中,研究人员发现Kasseika勒索软件滥用Martini驱动程序来终止受害者机器的防病毒相关进程。 
在对Kasseika勒索软件攻击链的分析中,研究人员观察到类似于BlackMatter勒索软件的指标。这些指标包括伪赎金扩展名和使用扩展名字符串.README.txt作为赎金通知的文件名和格式。
仔细观察就会发现,这次攻击中使用了BlackMatter使用的大部分源代码。根据研究发现,BlackMatter的源代码并没有被广泛使用,因此它在Kasseika勒索软件攻击中的使用表明,一个有限群体中的成熟行为者获得或购买了它的访问权限。 
BlackMatter是DarkSide的继任者,而后者被广泛认为是与ALPHV(也称为BlackCat)存在某些渊源。自BlackMatter于2021年关闭以来,研究人员已经观察到许多其他勒索软件组织使用与之类似的技术和工具,而更独特的勒索软件运营商能够访问其旧代码并将其应用于新毒株。  
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图1:Kasseika勒索病毒感染链】
有针对性的网络钓鱼链接通过电子邮件进行初始访问 
在最新的Kasseika勒索软件案例中,研究人员观察到它使用有针对性的网络钓鱼技术进行初始访问,并从目标公司的一名员工处收集凭据。然后,它使用远程管理工具(RAT)获得特权访问并在其目标网络内横向移动。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图2:PsExec命令执行恶意的 .bat文件】
滥用PsExec执行 
Kasseika滥用合法的Windows RAT PsExec来执行其恶意文件。PsExec最初是为网络管理而设计的,但它的滥用允许威胁行为者远程部署恶意的 .bat文件,具体如下所示:  
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图3:Kasseika终止Martini运行】
Kasseika勒索软件最初使用批处理脚本加载其恶意实体。该脚本首先检查名为Martini.exe的进程是否存在。如果找到了,它就会终止它,以确保机器上只有一个进程实例在运行。  
Kasseika的KILLAV防御规避机制 
进一步分析后,Martini.exe首先验证Martini.exe驱动程序是否已成功下载到受影响的系统。签名的驱动器Martini.sys,最初标记为viragt64.sys,是TG Soft开发的VirIT代理系统的一部分。通过滥用其漏洞,Kasseika可以利用此驱动程序有效地禁用各种安全工具。如果Martini.sys不存在,恶意软件将自行终止,而不继续执行其预定的例程。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图4:“Martini.sys”文件属性和证书信息】
在确认系统文件存在之后,Kasseika会继续创建一个服务,然后启动它。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图5:由PINCAV木马创建的服务,一个用c++编写的64位Windows PE文件】
驱动器Martini.sys随后会由Martini.exe使用CreateFileW函数进行加载。
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图6:“Martini.sys”驱动器由“Martini.exe”加载】
加载Martini.sys后,Martini.exe会连续扫描系统中的所有活动进程。当检测到列出的进程时,它会通过DeviceIoControl函数将此信息传递给驱动程序。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图7:“DeviceIoControl”函数】
控制代码0x82730030发送给驱动程序,指示它终止其列表中至少991个进程,包括防病毒产品、安全工具、分析工具和系统实用工具等。
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图8:“Martini.sys”case函数】
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图9:位于“0x82730030”内存地址的ZwTerminateProcess负责进程终止】
Kasseika还会使用FindWindowA API来比较字符串。
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图10:Kasseika比较应用程序窗口名称以规避防御】
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图11:Kasseika比较防御逃避的字符串】
Kasseika勒索软件还会发现与进程监控、系统监控和分析工具相关的应用,如下表所示:
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【表1:Kasseika寻找的过程监视、系统监视和分析工具列表】
Kasseika勒索软件通过发现与安全和分析工具相关的运行进程来提升其防御逃避技术。如果系统中存在下述这些进程,它将自行终止。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【表2:与安全性和分析相关的进程名列表】
下图显示该脚本将删除恶意批处理脚本下的所有目录,以确保干净状态。Kasseika将设置变量来存储各种路径和可执行文件名。这些变量使脚本更加灵活,允许轻松修改文件路径和名称以供将来使用。  
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图12:变量初始化】
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图13:有效载荷的执行】
然后,Kasseika将文件从网络共享传输到本地目录。通过对/E交换机的利用,可以保证对所有子目录(包括空目录)进行全面的拷贝。在此之后,Martini.exe被执行以终止与防病毒供应商相关的任何进程。随后,执行继续启动smartscreen_protected.exe,研究人员将其识别为Kasseika勒索软件二进制文件。最后,执行clear.bat以擦除机器上操作的任何痕迹。
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图14:用于最终清理的“clear.bat”的内容】
Kasseika有效载荷分析 
Kasseika勒索软件是一个由Themida打包的32位Windows PE文件。众所周知,这些打包的二进制文件具有强大的代码混淆和反调试技术,因此很难对它们进行逆向工程。
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图15:Kasseika勒索软件由Themida打包】
在加密之前,Kasseika会终止当前正在访问Windows重启管理器的所有进程和服务。Kasseika首先启动一个新会话,修改以下列表中注册表项中的Owner值。然后,它开始从同一列表中的注册表项中枚举进程和服务的会话哈希值。终止后,它检索被终止文件的路径,稍后将检查下述这些路径是否加密:
HKEY_CURRENT_USERSoftwareMicrosoftRestartManagerSession{numbers}
Owner = {hex values} 
HKEY_CURRENT_USERSoftwareMicrosoftRestartManagerSession{numbers}
SessionHash = {hex values} 
HKEY_CURRENT_USERSoftwareMicrosoftRestartManagerSession{numbers}
Sequence = 0x01 
HKEY_CURRENT_USERSoftwareMicrosoftRestartManagerSession{numbers}
RegFiles{numbers} = {encrypted path and file} 
HKEY_CURRENT_USERSoftwareMicrosoftRestartManagerSession{numbers}
RegFilesHash = {hex values}
Kasseika勒索软件通过使用Windows Management Instrumentation命令行(WMIC)查询来枚举受影响系统的影子副本。 
SELECT * Win32_ShadowCopies 
随后,Kasseika勒索软件先通过从CryptoPP::StringSinkTemplate检索硬编码字符串来解密其加密扩展。接下来,它使用Base64对字符串的前九个字符进行编码。最后,由于Base64中的字符“+”、“/”和“=”在文件扩展名中不兼容,勒索软件将它们分别替换为“a”、“l”和“e”。  
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图16:Kasseika勒索软件解密其文件扩展名】
Kasseika从开源c++库CryptoPP中检索其加密算法密钥ChaCha20以及RSA加密算法。然后Kasseika生成ChaCha20矩阵的修改版本,该矩阵由随机生成的字节组成。该矩阵被复制到一个缓冲区,该缓冲区将由RSA公钥加密,然后将加密的缓冲区写入修改后的ChaCha20矩阵。随后,Kasseika勒索软件使用修改后的ChaCha20矩阵对目标文件进行加密。
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图17:Kasseika函数使用ChaCha20算法进行文件加密】
加密成功后,Kasseika勒索软件将加密后的文件重命名为以下格式: 
{original filename}.    {original extension}.     CBhwKBgQD 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图18:Kasseika勒索软件加密文件样本】
之后,Kasseika将重用加密的文件扩展名作为其勒索通知的名称——CBhwKBgQD.README.txt, Kasseika将在受影响系统中加密的每个目录中放入该文件。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图19:Kasseika勒索通知】
在加密例程结束时,Kasseika勒索软件会更改受影响系统的壁纸,如下图所示。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图20:Kasseika用其勒索通知改变受感染设备的壁纸】
清除攻击痕迹
如下图所示,Kasseika勒索软件还具有通过执行命令清除系统事件日志来清除其痕迹的能力。 
Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序
【图21:Kasseika用于清除事件日志的命令】
wevutil.exe命令可以有效清除Windows系统上的应用程序、安全、系统事件日志,使安全工具识别和响应恶意活动变得更具挑战性。 
安全建议
以下是组织可以采用的最佳实践措施列表,以最大限度地减少成为勒索软件攻击受害者的机会:
  • 只在必要时授予员工管理权限和访问权限; 
  • 定期更新安全产品并进行周期扫描;
  • 定期备份重要数据,防止数据丢失;
  • 践行良好的电子邮件和网站安全实践,包括下载附件,选择URL,并仅从可信来源执行程序;
  • 鼓励用户提醒安全团队潜在的可疑邮件和文件,并使用工具阻止恶意邮件;
  • 定期对用户进行有关社会工程危险和信号的教育。 
  • 实施 多层安全防护方法,以帮助组织保护可能进入其系统的入口点(端点、电子邮件、web和网络)。专业的安全解决方案可以检测恶意组件和可疑行为,从而帮助保护企业。

原文始发于微信公众号(FreeBuf):Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月13日20:37:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Kasseika勒索软件部署BYOVD攻击,滥用PsExec和利用Martini驱动程序http://cn-sec.com/archives/2490424.html

发表评论

匿名网友 填写信息