Wastedlocker:今年出现的最危险的勒索软件之
安全软件研究人员称,Wastedlocker将成为今年出现的最危险的勒索软件之一。WastedLocker勒索软件于5月份出现,因其攻击智能手表制造商Garmin而臭名昭著。WastedLocker勒索软件对Garmin的攻击,使其主要产品服务和网站均瘫痪,随后WastedLocker向Garmin索要1000万美元以恢复其数据和业务。造成如此严峻的情形, WastedLocker无疑会让企业心惊胆战。
许多恶意软件都采用代码混淆技术来阻止分析,但是,少数恶意软件则采取了进一步的措施。WastedLocker通过在内存中完成整个操作来增加了一层混淆,使得传统安全工具在行为检测中很难捕获到它。
WastedLocker技术要点
命令行参数
WastedLocker有命令行界面,该界面允许它处理几个控制其操作方式的参数。
-p
优先处理:木马程序将首先加密指定的目录,然后将其添加到内部排除列表中,并对可用磁盘分区上其余所有的目录进行加密。
-f
仅加密指定的目录。
-u用户名:密码\\\\主机名
使用提供的身份验证凭据对指定网络资源上的文件进行加密。
-r
启动动作序列:
1、删除;
2、使用注册表项HKEY_LOCAL_MACHINE\\SYSTEM\\ CurrentControlSet\\Control\\的子项列表中的随机子字符串将文件复制到%WINDIR%\\ system32 \\ .exe;
3、创建一个名称与上述方法类似的服务。如果该服务已经存在,则服务名添加前缀“Ms”。新服务的命令行将设置为“%WINDIR%\\ system32 \\ .exe -s”;
4、启动此服务并等待其完成工作;
5、删除服务。
-s:
启动创建的服务。它将导致恶意软件对其可以找到的所有文件进行加密。
绕过UAC
WastedLocker的另一个特性是可以选择绕过UAC。当木马程序启动时,它将检查它的完整性级别,如果级别不够高,恶意软件将尝试使用已知的绕过技术悄悄提升其权限。
1、在%appdata%中创建一个新目录;目录名称是从注册表项HKEY_LOCAL_MACHINE\\SYSTEM\\ CurrentControlSet\\Control\\的子项列表中随机选择的;
2、将随机EXE或DLL文件从系统目录复制到此新目录;
3、将木马程序的主体写入此文件的NTFS流“:bin”中;
4、使用NtFsControlFile数创建一个新的临时目录并将其挂载点设置为“C:\\ Windows”;
5、在临时目录中创建一个名为“ system32”的新子目录,这样新的子目录为“%temp%\\ \\ system32”或“ C:\\Windows\\ system32”;
6、将合法的和复制到该子目录中;
7、补丁:用一小段恶意代码替换入口点代码,该恶意代码的唯一目的是启动在步骤2中创建的NTFS流文件;
8、启动,这将触发加载上面修补的。
上面的操作序列导致WastedLocker从具有更高管理权限的NTFS流中重新启动,而不显示UAC提示。
启动WastedLocker期间的Procmon日志片段
加密方案
为了加密受害者的文件,该木马的开发人员采用了AES和RSA算法的组合,该算法已成为各种加密勒索软件中的经典。
在恶意软件的配置中设置了要加密哪些文件以及忽略哪些路径。
木马配置的一部分,显示忽略的路径子字符串
对于每个要处理的文件,WastedLocker都会生成一个唯一的256位密钥和一个128位IV,这些密钥与步长将用于在CBC模式下使用AES-256算法对文件内容进行加密。值得一提的是文件操作的实现,它使用文件映射进行数据访问,每个加密文件将获得一个新的附加扩展名“.garminwasted ”,这意味着攻击者一定是在尝试使木马的性能最大化和/或避免被安全解决方案检测到。
该木马还实施了一种完整性控制方法,作为其文件加密例程的一部分。恶意软件会计算每个已处理文件的原始内容的MD5哈希值,并且可以在解密过程中利用此哈希值来确保过程的正确性。
WastedLocker使用名为“rsaref”的公开RSA算法实现。原始内容的AES密钥,IV和MD5哈希以及一些辅助信息均使用嵌入在木马程序主体中的公共RSA密钥进行加密。所考虑的示例包含一个4096位公共RSA密钥。
WastedLocker使用的公共RSA密钥格式
值得注意的是,如果要大量传播WastedLocker,那么对给定恶意软件样本的所有受害者使用一个公共RSA密钥的这种加密方案可能被认为是一个弱点。在这种情况下,一个受害者的解密器将必须包含唯一的RSA私钥,该密钥将允许所有受害者解密其文件。
但是,正如我们所看到的,WastedLocker用于针对特定组织的攻击,这使得这种解密方法在现实情况下毫无用处。
RSA加密的结果是将文件保存在Base64编码的扩展名为.garminwasted_info的新文件中,也就是为每个受害者的加密文件创建的一个新的信息文件。这是BitPaymer和DoppelPaymer木马以前使用的罕见方法。