Bluesky勒索软件深度技术分析

一、背景介绍

勒索软件作为一种流行的木马,近年来已成为最为常见的安全威胁之一。与其他威胁不同,勒索软件先向受害者表明自己的身份,再通过加密的方式使用户数据资产或计算资源无法正常使用,而恢复数据资产的唯一方法通常是支付高昂的费用。

BlueSky作为近期发现的一种勒索软件变种,在3月份首次出现,在6月末开始爆发。它的一些勒索软件样本以“MarketShere.exe”和“SecurityUpdate.exe”的形式在线分发,在入侵目标之后,BlueSky会加密受感染机器上的文件,然后添加“.bluesky”文件扩展名。同时它还会生成两个名为#DECRYPT FILES BLUESKY#.txt和#DECRYPT FILES BLUESKY#.html 的文件,让要求受害者访问BlueSky TOR网站并按照提供的说明进行操作。

二、病毒分析

BlueSky的执行流程如下:动态加载 API、混淆字符串、采用反调试技术、进行权限提升、生成受害者 ID、对文件进行加密、生成赎金通知书。

1. 动态加载 API

所有的 API 都通过动态加载的方式获取,首先遍历 PEB,通过遍历 PEB_LDR_DATA 中的 InLoadOrderModuleList 链表枚举其中包含的模块。其中用到了许多反分析技术,包括字符串加密和反调试机制,使其能够混淆 Windows API 函数名称并使用间接调用来解析 API。此外,BlueSky 使用 DJB 散列函数对 API 名称进行计算,并将它们与代码中的模糊哈希值进行比较,以便正确导入所需的模块。

2. 混淆字符串

所有的字符串都进行了混淆,使用时通过动态解密的方式获取字符串。

3. 反调试技术

除了以上提到的字符串加密、API 混淆等反调试机制外,程序还调用 NtSetInformationThread 并使用 ThreadHideFromDebugger API 隐藏线程,线程对调试器隐藏后,它将继续运行,但调试器不会收到与该线程相关的事件。该线程可以执行反调试检查,例如代码校验和、调试标志验证等。但是,如果隐藏线程中有断点,或者对调试器隐藏了主线程,那么进程就会崩溃,调试器就会卡住。

用 nop 填充函数调用地址处来过反调试。

4. 权限提升

COM 提升名称(COM Elevation Moniker)技术允许运行在用户账户控制(UAC)下的应用程序使用提升权限的方法来激活 COM 类,以此来提升 COM 接口权限。该方法的目标接口是 ICMLuaUtil,该接口存在于 CMSTPLUA 组件中,使用 OleViewDotNet 工具查看系统中的 COM 接口属性信息,找到 CMSTPLUA 组件:

BlueSky 使用了这种方法来绕过 UAC。

此外,BlueSky 还会调用 RtlAdjustPrivilege 来获取每个文件和进程的权限。

5. 生成受害者 ID

BlueSky 通过计算卷信息、机器 GUID、数字产品 ID 和安装日期值的 MD5 哈希来生成唯一的用户 ID:A11F9CA342F6AF8414D5516688381DD5。并且使用该 ID 来生成互斥锁:GlobalA11F9CA342F6AF8414D5516688381DD5

解密字符串 “x25519_public”、“RECOVERYBLOB”、“completed” 用来生成注册表项,保存 BlueSky 的加密操作数据。

BlueSky 将与加密相关的信息存储在注册表项 “HKCUSoftwareA11F9CA342F6AF8414D5516688381DD5” 中,用来恢复信息 RECOVERYBLOB,使用 “ChaCha20 + Curve25519 + RC4 (on RECOVERYBLOB)” 算法进行计算,通过 ChaCha20 和 Curve25519 算法对 RECOVERYBLOB 进行加密。

6. 文件加密过程

与其他勒索软件通常包含文件扩展名列表以识别符合条件的加密文件不同,BlueSky 会创建一个在文件加密过程中排除文件的扩展名列表,具体的清单如下:

扩展名:ldf、scr、icl、386、cmd、ani、adv、theme、msi、rtp、diagcfg、msstyles、bin、hlp、shs、drv、wpx、bat、rom、msc、 lnk、cab、spl、ps1、msu、ics、key、msp、com、sys、diagpkg、nls、diagcab、ico、lock、ocx、mpa、cur、cpl、mod、hta、exe、ini、icns、prf、dll、bluesky、nomedia、idx

目录:$recycle.bin、$windows.~bt、$windows.~ws、boot、windows、windows.old、system volume information、perflogs、programdata、program files、program files (x86)、all users, appdata, tor browser

文件名:#decrypt files bluesky #.txt、#decrypt files bluesky #.html、ntuser.dat、iconcache.db、ntuser.dat.log、bootsect.bak、autorun.inf、bootmgr、ntldr、thumbs.db

如下图所示,BlueSky 使用多线程队列进行加密。启动的其中一个负责文件加密,另一个负责枚举本地文件系统上的文件,并将挂载的网络共享添加到队列中。这种多线程架构与 Conti (Ransomware) v3 的代码相似,特别是网络搜索模块是 Conti v3 的精确复制品。但是文件加密例程存在某些差异。例如,Conti v3 使用基于 RSA 和 AES 的文件加密,而 BlueSky 使用基于 Curve25519 和 ChaCha20 的文件加密。

BlueSky 的文件加密与 Babuk Ransomware 类似——都使用 Curve25519(非对称加密) 为主机生成公钥,并与攻击者的公钥生成共享密钥。生成椭圆曲线密钥对后,BlueSky 计算出共享密钥的哈希值,并使用它为 ChaCha20 算法生成文件加密密钥。最后,它读取文件缓冲区,使用 ChaCha20(对称加密) 对其进行加密并替换原始文件的内容,如下图所示。

7. 赎金通知书

加密完成之后会生成赎金通知的文档和网页,其中恢复 ID 就是保存在注册表项 RECOVERYBLOB 中的值。

三、六方云防范建议

针对勒索软件的防护六方云希望用户做到以下几点:

1. 规范上网行为,不下载安装未知的软件,不点开来历不明的文档、图片、音频视频等;

2. 定期更换域控、数据库、服务器上的管理员密码;

3. 定期更新病毒库,定时组织内网进行全盘扫描;

4. 定期更新补丁,修复漏洞;

5. 定期检查防火墙及安全软件的防护日志,及时发现异常并解决;

6. 定期离线备份或异地备份重要数据;

7. 修改数据库默认端口,防止被扫描器暴破。

8. 进行严格的隔离,有关系统、服务尽量不开放到互联网上,内网中的系统也要通过防火墙、VLAN或网匣等进行隔离。

必要的安全防护设备:

1. 网络出口位置部署六方云防火墙,并及时更新特征库;

2. 终端部署六方云安全卫士,及时扫描和查杀病毒;

3. 部署六方云神探产品,及时发现未知威胁和高级威胁;

展开阅读全文

页面更新:2024-04-29

标签:赎金   密钥   软件   线程   字符串   受害者   注册表   深度   接口   权限   文件   技术

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top