Potato 发表于 2020-4-10 19:05

Snatch勒索病毒样本分析

本帖最后由 Potato 于 2022-4-18 15:57 编辑

一、样本信息
文件名:pqsisftkx86.exe
MD5:dab732de116bba4b7d92a072b2fbd8eb+
SHA1:5d0f3991595ed4cb620c2562a98e100115b4ee70
二、代码分析
当前勒索病毒样本使用Go语言进行编译。病毒开始执行后,根据当前的映像文件名以及执行参数进行不同的操作。

而不同参数主要决定了病毒启动后是进行加密还是创建服务驻留系统,以及指定额外的加密路径。
1.服务安装&安全模式重启
若病毒进程执行无参数或参数-override值为false,并且执行文件名中含有字符串”safe”,将会进入此阶段。病毒中执行的命令大多通过写入BAT文件执行,执行后删除BAT文件。
首先病毒创建随机名BAT文件,通过批处理命令查询注册表项SystemStartOptions,进而确认病毒是否已通过服务启动的方式进入到系统的安全模式中。若不是,则添加服务并重启到安全模式。

创建加密服务前,病毒复制自身到目录C:\Windows下。如果复制成功,以复制后文件作为服务的映像文件;若失败,则以当前文件作为映像文件。
接着,创建随机名BAT文件,通过命令创建名为UOZXSecLogonjwi的服务,开机自启动。
若创建的服务已存在或已有同名服务,说明已安装恶意服务,退出当前进程。

恶意服务安装成功后,再次创建随机名BAT文件,通过命令修改注册表值,在系统的安全模式下追加了VSS卷影服务和UOZXSecLogonjwi恶意加密服务。
通过调用bcdedit.exe,病毒设置当前系统重启时进入的模式为minimal(无网络)安全模式。
执行命令结束后,病毒检查bcdedit.exe执行回显中”Windows 启动加载器”部分是否成功配置安全模式重启。如果配置失败,退出进程。
服务安装成功,注册表和启动模式都配置成功后,病毒调用shutdown.exe重启机器,由于之前的配置,计算机将以安全模式启动。

如果病毒成功使机器以安全模式启动,因为该模式下除了极少部分和系统运行相关的服务和进程得以自启动,其余程序都不被加载,所以在该模式下病毒将轻易避免杀软的查杀拦截,并且可对绝大多数文件和路径进行搜索加密。
2.结束指定服务
病毒只在override参数值为true或执行文件名中无”safe”子字符串的情况下执行此操作。
执行命令获取当前所有活动服务名。
忽略大小写匹配带有TEAM、SQL、EXCHANGE、BACKUP字符串的服务名,主要与通讯工具、数据库、邮件、数据备份等相关。记录符合条件的目标,之后结束相应的服务,防止在加密相关文件时出现文件占用,从而导致加密失败。

3.删除卷影
病毒删除卷影,防止管理员通过卷影备份恢复数据。
删除卷影的操作在搜索文件加密前和所有文件加密后分别执行一次。

4.搜索文件进行加密
搜索文件时,对A-Z盘以及-path参数中追加的路径进行遍历,记录符合条件的文件路径,以便于后续加密。

搜索时,跳过根路径下以下文件夹:
windows
perflogs
recovery
$recycle.bin
system volume information
跳过根路径下”Program Files”、”Program Files (x86)”文件夹中的以下子文件夹:
windows
mozilla firefox
windows defender
windows journal
windows mail
uninstall information
跳过根路径下” ProgramData”文件夹中的以下子文件夹:
microsoft
start menu
templates
favorites
不加密以下扩展名类型的文件,pqsisftk为加密后文件扩展名:
exe
dll
sys
ini
bat
lnk
pqsisftk

5.文件加密方式
病毒在加密文件时采用PGP加密技术,PGP公钥内置于文件中。
根据文件长度不同,文件中被读取加密的数据长度也随之变化。根据分析可知,每个文件最多被加密首部1MB内容,即文件长度大于10MB时;小于64KB的文件将被全部加密。

加密使用的PGP公钥经两重Base64编码后被攻击者内置于文件中。加密文件时,病毒加载该公钥对读取的数据进行加密。加密结果写回首部,而被加密的会话密钥在之后将被置于尾部。

当前病毒内置的PGP公钥:

加密结果写回原文件首部后,病毒通过内置的3个Marker标志(每个标志占64字节),夹带着使用非对称加密算法加密后的会话密钥(加密文件使用的密钥)以及文件中被加密数据长度(占8字节),形成尾部空间,追加于文件尾部,并修改文件属性为只读。

加密文件的尾部示例:

在加密前,病毒就会为被加密文件添加扩展名. pqsisftk。

以大于10MB的文件为例,文件加密流程以及加密后文件结构如下:

三、勒索信息提示文件
病毒在每个被搜索的目录下创建一个勒索信息提示文件HOW TO RESTORE YOUR FILES.TXT。
攻击者在文件中告知,可免费解密3个总大小不超过1MB的文件数据。在文件尾部,攻击者还自称获得的赎金将被捐助给新冠肺炎的感染者。

联系攻击者邮箱:
returndb@seznam.cz
returndb@airmail.cc
页: [1]
查看完整版本: Snatch勒索病毒样本分析