模仿Locky的中文勒索软件分析 – 作者:antiylab

1、概述

近日,安天CERT发现了一个勒索语言为中文的勒索软件。该勒索软件采用.net语言编写,模仿Locky勒索软件,对加密的文件追加“.locky”后缀名。其最早出现于2020年9月,试图采用非对称加密RSA、对称加密AES和XOR加密三种加密方式任意一种方式进行加密。由于其非对称加密RSA和对称加密AES部分功能未完善,安天CERT推测该样本可能为测试版本。本次分析的样本采用的加密策略是XOR加密,通过该方式加密的文件可以解密。

安天CERT在分析的过程中发现该勒索软件包含解密程序,在勒索窗口中存在一个按键“查询当前付款状态及解密”。当用户点击该按键时,该勒索软件获取比特币钱包地址,连接比特币官网查询当前该账户钱包余额是否大于等于0.045BTC,若大于则进行相应的解密操作,同时发现目前有一个比特币钱包地址收到了0.05BTC。

经验证,安天智甲终端防御系统(简称IEP)的勒索软件防护模块可有效阻止该勒索软件的加密行为。


2、勒索软件对应ATT&CK映射图谱

该勒索软件技术特点分布图:

图片[1]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图2-1 勒索软件技术特点对应ATT&CK的映射

具体ATT&CK技术行为描述表:

表2-1 具体技术行为描述表图片[2]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

3、防护建议

针对该勒索软件安天建议个人及企业采取如下防护措施:

3.1 个人防护

(1) 安装终端防护:安装反病毒软件。建议使用安天智甲的用户开启勒索病毒防御工具模块(默认开启);

(2) 加强口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;

(3) 及时更新补丁:建议开启自动更新功能安装系统补丁,服务器应及时更新系统补丁;

(4) 定期数据备份:定期对重要文件进行数据备份,备份数据应与主机隔离;

(5) 确认邮件来源:接收邮件时要确认发送来源是否可靠,避免打开可疑邮件中的网址和附件。

3.2 企业防护

(1) 开启日志:开启关键日志收集功能(安全日志、系统日志、PowerShell日志、IIS日志、错误日志、访问日志、传输日志和Cookie日志),为安全事件的追踪溯源奠定基础;

(2) 设置IP白名单规则:配置高级安全Windows防火墙,设置远程桌面连接的入站规则,将使用的IP地址或IP地址范围加入规则中,阻止规则外IP进行暴力破解;

(3) 主机加固:对系统进行渗透测试及安全加固;

(4) 灾备预案:建立安全灾备预案,确保备份业务系统可以快速启用;

(5)安全服务:若遭受勒索软件攻击,建议及时断网,并保护现场等待安全工程师对计算机进行排查。安天提供7*24小时安全服务热线:400-840-9234。

目前,安天智甲终端防御系统可实现对该勒索软件的查杀与有效防护。

图片[3]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图3-1 安天智甲有效防护

图片[4]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图3-2 安天智甲阻止修改文件行为


4、勒索软件概览

表4-1 勒索软件概览图片[5]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

5、样本分析

5.1 样本标签

表5-1 样本标签图片[6]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

5.2 样本行为

5.2.1 勒索初始化

该中文勒索软件使用.net语言编写。其运行后,首先通过获取进程名称判断恶意代码是否执行,若已执行则弹出“应用执行中,请勿重复执行,首次执行需耗时20分钟初始化”窗口,并退出程序。

图片[7]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-1 弹出窗口

判断“%USERNAME%\Documents\Driver”目录下是否存在b.print文件且文件内容为“6688123”,若存在则表示用户文件已交纳赎金后解密,无需再加密,则退出程序,否则重复加密。所以该文件可作为该勒索软件的免疫文件。

图片[8]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-2 判断文件中的标志

使用IE浏览器打开hxxps://lihi1.cc/4kdW2(失陷主机、钓鱼网站),判断是否可以连接网络。

图片[9]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-3 IE浏览器打开网址测试网络

若连接网络成功则将自身复制到“%USERNAME%\Documents\WindowsShell”目录下,并将文件属性设置为隐藏。

图片[10]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-4 复制自身到相关目录下

打开CMD命令行,将其窗口隐藏,运行“%USERNAME%\Documents\WindowsShell”下的复制过来的样本并将自身程序退出。

图片[11]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-5 以隐藏模式打开命令行窗口

将“%USERNAME%\Documents\WindowsShell”目录下的自身添加到注册表实现开机自启动。

图片[12]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-6 将自身添加到注册表

5.2.2 加密方式

安天CERT通过对该勒索软件分析发现其试图采用非对称加密RSA、对称加密AES和XOR加密三种加密方式任意一种方式进行加密。通过对传入的参数不同进行相应的不同加密方式,如下所示:

图片[13]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-7 三种加密方式

在本次所分析的样本中采用的加密策略为XOR加密,所以通过该方式加密的文件可以进行解密。XOR加密密钥如下表所示:

表5-2 XOR加密字符

图片[14]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

XOR加密具体加密方式为采用指定长度的字符XOR指定文件前100byte字符。

图片[15]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-8 指定长度的字符XOR指定文件前100byte字符

获取用户主机上磁盘信息,如下图所示:

图片[16]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-9 获取用户主机上磁盘信息

进入加密函数中LockTXTFiles加密函数进行加密。如下图所示:

图片[17]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-10 采用XOR方式进行加密

试图模仿Locky勒索软件,对加密的文件追加“.locky”后缀名。具体格式为:<原文件名>+.locky。如下图所示:

图片[18]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-11 添加“.locky”后缀名

在分析的过程中发现该勒索软件的非对称加密RSA和对称加密AES尚未完成,推测其为测试样本。如下所示非对称加密RSA函数内容为空。

图片[19]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-12 非对称加密RSA函数内容为空

5.2.3 指定后缀名的文件

针对指定后缀名的文件进行加密,指定的后缀名如下表所示:

表5-3 勒索软件指定的后缀名图片[20]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

5.2.4 样本衍生文件

在运行的过程中会衍生多个文件并将文件进行隐藏,具体衍生文件路径与文件名及其功能如下表所示:

表5-4 衍生文件路径与文件及其功能图片[21]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

判断“HttpAgilityPack.dll”是否在“%USERNAME%\Documents\WindowsShell”目录下存在,若不存在则创建HttpAgilityPack.dll。读取HttpAgilityPack.dll中是否存在“ot”,“main”字符串,不存在则写入“ot 0 main”字符串。由于HttpAgilityPack.dll在该勒索软件中并未被调用,其功能未知。

图片[22]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-13 HttpAgilityPack.dll文件写入字符串

5.2.5 比特币钱包地址

勒索软件包含的比特币钱包地址如下所示:

表5-5 比特币钱包地址图片[23]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

从五个比特币钱包地址中随机获取一个钱包地址与“\u0005”进行异或加密,将其保存在“%USERNAME%\Documents\Driver\a.print”文件中,待解密时读取该文件。

图片[24]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-14 随机获取一个钱包地址加密后写入文件

安天CERT在跟踪比特币钱包地址时发现其中一个钱包已经收到了一个价值为0.05BTC,以本报告发布前的比特币汇率为准,0.05BTC约为11582人民币。

图片[25]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-15 比特币交易信息

5.2.6 勒索窗口

勒索软件加密完成后在桌面弹出一个勒索窗口,提示受害者文件已被加密,缴纳赎金。勒索窗口如下图所示:

图片[26]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-16 勒索窗口

当勒索窗口上的倒计时结束时,其会读取衍生文件“%USERNAME%\Documents\Driver\aaa.print”获取当前加密倍数将其提高两倍并弹出窗口提示受害者“由于您长时间未付款,价格提升为两倍,Sorry”。如下图所示:

图片[27]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-17 弹出窗口提示受害者

5.2.7 勒索软件自带解密方式

安天CERT在分析的过程中发现该勒索软件包含解密程序,在勒索窗口中存在一个按键“查询当前付款状态及解密”。当用户点击该按键时,该勒索软件针对“%USERNAME%\Documents\Driver\a.print”中内容进行解密获取比特币钱包地址,连接比特币官网查询当前该账户钱包余额是否大于等于0.045BTC,若大于则进行相应的解密操作。

图片[28]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-18 勒索窗口解密按钮

图片[29]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-19 比较比特币

该勒索软件解密方式与加密方式类似,具有三种解密方式。根据所加密方式的不同所采用的解密方式不同。解密方式如下表所示:

图片[30]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

在本次所分析的样本中采用的解密策略是XOR解密方式,所以解密所采用的解密密钥与加密密钥一样。解密密钥如下表所示:

表5-6 解密策略是XOR解密方式

图片[31]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

具体解密方式为采用指定长度的字符XOR指定文件前100byte字符。

图片[32]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图 5-20 采用指定长度的字符XOR指定文件前100byte字符

在分析的过程中发现RSA解密和AES解密功能未完善,如下所示RSA解密方式函数,读取K.log文件获取密钥并未后续解密操作。

图片[33]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

图5-21 未完成的RSA解密方式



6、附录:IoCs

图片[34]-模仿Locky的中文勒索软件分析 – 作者:antiylab-安全小百科

来源:freebuf.com 2021-06-11 17:41:12 by: antiylab

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论