freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

勒索软件分析:WastedLocker技术细节分析
2020-08-13 18:02:33

写在前面的话

网络犯罪分子在具有针对性的攻击活动中使用勒索软件,已经成为了一种很常见的现象了。每个月都会出现新的勒索软件攻击事件,有的时候甚至会更加频繁。在今年的上半年,WastedLocker勒索软件的活动日趋频繁,我们在这篇文章中,将对一个WastedLocker勒索软件样本进行详细的技术分析。

命令行参数

需要注意的是,WastedLocker拥有一个命令行接口,它支持处理多个由攻击者控制的参数,而这些参数将控制WastedLocker的行为。

-p <directory-path>

优先处理:该参数用于指定勒索软件首先需要加密的目录,然后会将其添加到内部排除列表之中,以避免进行重复加密。接下来,勒索软件将会加密可用驱动器中剩余的目录及文件。

-f <directory-path>

该参数用于指定需要加密的目录。

-u username:password \\hostname

该参数可以指定使用认证凭据来对网络资源文件进行加密。

-r

该参数可以执行下列行为:

1、删除源文件。

2、使用注册表键“SYSTEM\CurrentControlSet\Control\”中子键列表中的随机子字符串来将文件拷贝至“%WINDIR%\system32\<rand>.exe”。

3、创建一个服务,服务名称跟第二步选取方法类似。如果服务名已存在,则会添加一个“Ms”前缀。比如说,如果“Power”服务已存在,恶意软件将会创建一个名为“MsPower”的新服务。新服务的命令行接口将会被设置为“%WINDIR%\system32\<rand>.exe -s”。

4、开启这个服务,并等待其完成任务。

5、删除该服务。

-s

开启已创建的服务,并对恶意软件查找到的所有符合条件的文件进行加密处理。

UAC绕过

WastedLocker另一个有意思的功能是它用于实现UAC绕过所使用的方法。当木马开始运行之后,它会检测运行的完整性等级。如果这个等级不够高,恶意软件将会尝试在后台悄悄地使用已知的绕过技术来提升其权限。

首先,恶意软件会在“%appdata%”下创建一个新目录,目录名选自注册表键“SYSTEM\CurrentControlSet\Control\”中子键列表中的随机子字符串。接下来,根据系统目录中的数据,在这个新目录中创建一个随机的EXE或DLL文件,然后将木马程序写入至NTFS流“:bin”中。

此时,恶意软件会创建一个临时目录,通过API函数NtFsControlFile和参数“IO_REPARSE_TAG_MOUNT_POINT”来加载该目录并指向”C:\Windows“。接下来,它会在这个临时目录中创建一个名为“system32”的子目录,此时这个子目录的路径就变成了“%temp%\<directory_name>\system32”或“C:\Windows \system32”了。

接下来,将合法的winsat.exe和winmm.dll拷贝到这个子目录中,使用第二步中创建的NTFS流以及恶意代码来替换winmm.dll的入口点代码,启动winsat.exe,并触发winmm.dll修改以实现DLL劫持。

下图显示的是WastedLocker启动过程中的Procmon日志片段:

加密方案

为了加密目标设备中的文件,WastedLocker的开发人员使用了一种AES和RSA算法结合的加密方案,这种技术也跟很多勒索软件常用的方式有所不同。恶意软件的搜索掩码可以选择待加密的文件,以及恶意软件配置中设置的需要忽略的路径。下图显示的是勒索软件配置中需要忽略的路径子字符串:

针对每一个待处理文件,WastedLocker将生成一个唯一的256位密钥和一个126位IV,恶意软件将使用这两个参数以及AES-256算法(CBC模式)对文件内容进行加密。文件操作的实现是值得我们分析的,因为它使用了文件映射技术来实现数据访问。在这里,恶意软件开发者必须要尽最大努力尝试提升勒索软件躲避安全解决方案的能力,而每一个被加密的文件都将追加一个“.garminwasted”后缀。

除此之外,勒索软件还在加密程序中实现了文件完整性控制机制。恶意软件将会计算原始文件的MD5哈希,这个哈希将用在解密程序中以确保解密的正确性。

在这里,WastedLocker使用了一个RSA算法中公开可用的引用实现,即“rsaref”。

原始文件的AES密钥、IV、MD5哈希以及其他的一些信息都将使用一个嵌入在勒索软件内部的RSA公钥进行加密。下面的样本中包含了一个4096位RSA公钥:

需要注意的是,这种类型的加密机制针对所有的目标用户都使用了同一个RSA公钥,这对于WastedLocker的大规模传播来说是一个弱点。此时,如果一个用户获取到了解密工具,那么其中包含的RSA私钥将允许其他所有的用户解密自己的文件。

但是我们可以看到,WastedLocker主要针对的是特定的组织,因此这种解密方法在实际的攻击场景中并不适用。

RSA加密的结果将是Base64编码数据,并且会存储在一个后缀为“.garminwasted_info”的新文件中。

下图显示的是我们测试设备中被加密的文件列表:

下图显示的是勒索软件在目标设备上留下的勒索信息:

安全缓解措施

  • 安装最新更新补丁,使用最新版本的操作系统和应用程序版本。
  • 除非有必要,请不要在互联网上开启RDP访问,优先选择使用VPN远程访问保护。
  • 使用现代终端安全解决方案,这些解决方案需要支持行为检测、自动文件回滚和其他勒索软件防护技术。
  • 加强组织内部的网络安全教育,将网络安全方面的专业知识与最佳实践教育技术和技术相结合。
  • 使用可靠的数据备份方案。

入侵威胁指标IoC

2cc4534b0dd0e1c8d5b89644274a10c1

# 勒索软件 # 勒索软件攻击 # 勒索软件分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者