安天CERT在分析的过程中发现该勒索软件包含解密程序,在勒索窗口中存在一个按键“查询当前付款状态及解密”。当用户点击该按键时,该勒索软件获取比特币钱包地址,连接比特币官网查询当前该账户钱包余额是否大于等于0.045BTC,若大于则进行相应的解密操作,同时发现目前有一个比特币钱包地址收到了0.05BTC。
 图2-1 勒索软件技术特点对应ATT&CK的映射
图2-1 勒索软件技术特点对应ATT&CK的映射
具体ATT&CK技术行为描述表:
| ATT&CK阶段/类别 | 具体行为 | 注释 | 
| 执行 | 诱导用户执行 | 诱导用户执行邮件中的附件 | 
| 持久化 | 利用自启动执行或登录 | 添加注册表实现自动启 | 
| 发现 | 发现文件和目录 | 枚举系统内文件和目录 | 
| 发现进程 | 获取进程名称判断恶意代码是否执行 | |
| 影响 | 损毁数据 | XOR指定后缀名文件的前100byte | 
| 篡改可见内容 | XOR指定后缀名文件的前100byte | 
| 加密文件命名方式 | <原文件名>+.locky | 
| 联系方式 | 无 | 
| 加密文件类型 | 试图采用非对称加密RSA、对称加密AES和XOR加密三种加密方式任意一种方式进行加密。本次分析的样本采用的加密策略是XOR加密,采用指定长度的字符XOR指定文件前100byte字符。 | 
| 勒索币种与金额 | 0.05个比特币 | 
| 是否有针对性 | 未发现 | 
| 能否解密 | 能 | 
| 是否内网传播 | 否 | 
| 勒索窗口 | 
 
 | 
表5‑1 样本标签
| 病毒名称 | Trojan/MSIL.locky | 
| 原始文件名 | Leen.exe | 
| MD5 | B0E68A3352D31A9DD403A5ACAE6387A0 | 
| 处理器架构 | Intel 386 or later, and compatibles | 
| 文件大小 | 127.50 KB (130,560 字节) | 
| 文件格式 | Win32 EXE | 
| 时间戳 | 2069-12-23 16:26:41(伪造) | 
| 数字签名 | 无 | 
| 加壳类型 | 无 | 
| 编译语言 | .NET | 
| VT首次上传时间 | 2020-09-19 17:36:41 | 
| VT检测结果 | 51/70 | 
该中文勒索软件使用.net语言编写。其运行后,首先通过获取进程名称判断恶意代码是否执行,若已执行则弹出“应用执行中,请勿重复执行,首次执行需耗时20分钟初始化”窗口,并退出程序。

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

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

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

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

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

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

在本次所分析的样本中采用的加密策略为XOR加密,所以通过该方式加密的文件可以进行解密。XOR加密密钥如下表所示:
表5‑2 XOR加密字符
| XOR加密密钥 | 类型 | 
| 1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5 | Byte | 
XOR加密具体加密方式为采用指定长度的字符XOR指定文件前100byte字符。

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

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

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

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

表5‑3 勒索软件指定的后缀名
| .gif | .jpg | .txt | .png | .xlsx | .ppt | .html |  | 
| .xls | .doc | .docx | .pptx | .aam | .abf | .adb | .adi | 
| .afm | .ai | .all | .anc | .aps | .ari | .art | .asc | 
| .ase | .asm | .asp | .avi | .bak | .bat | .c | .cad | 
| .cap | .ccb | .cda | .cdf | .class | .clss | .com | .cpp | 
| .crt | .mov | .csv | .db | .go | .ini | .jpeg | .java | 
| .jar | .js | .mpeg | .mp4 | .wav | .mp3 | .py | .pot | 
| .pon | .ra | .rtf | .vbs | .vbp | .vba | .wps | 
5.2.4 样本衍生文件
表5‑4 衍生文件路径与文件及其功能
| 衍生文件路径与文件名 | 功能 | 
| %USERNAME%DocumentsDrivera.print | 加密后的比特币地址 | 
| %USERNAME%DocumentsDriveraaa.print | 记录比特币金额倍数 | 
| %USERNAME%DocumentsDriverKKK.print | 勒索软件运行日志 | 
| %USERNAME%DocumentsDrivert.print | 记录软件窗口倒计时的时间 | 
| %USERNAME%DocumentsDriverb.print | 记录加密过的标志 | 
| %USERNAME%DocumentsDriverK.log | (推测)记录加密RSA密钥 | 
| %USERNAME%DocumentsDriverK. print | (推测)记录AES密钥 | 
| %USERNAME%DocumentsWindowsShell HttpAgilityPack.dll | 未知 | 
判断“HttpAgilityPack.dll”是否在“%USERNAME%DocumentsWindowsShell”目录下存在,若不存在则创建HttpAgilityPack.dll。读取HttpAgilityPack.dll中是否存在“ot”,“main”字符串,不存在则写入“ot 0 main”字符串。由于HttpAgilityPack.dll在该勒索软件中并未被调用,其功能未知。

表5‑5 比特币钱包地址
| 1Ly1hXiXG5fa4k79of6xPm4xLYFyj5iH8N | 
| 1L9REpvzBkWUhVKzsoLJEVLBh19Ng5jiqb | 
| 1JXXsYGiNmVzEyuj29murEpFqc9sXr5dhn | 
| 1FuPAucXqBXvhzzXguCyQAH7AbGHg6xfrM | 
| 1FgbsSWNHzDnHjbxokLqe1rbjy4juSpsas | 
从五个比特币钱包地址中随机获取一个钱包地址与“u0005”进行异或加密,将其保存在“%USERNAME%DocumentsDrivera.print”文件中,待解密时读取该文件。

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

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

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

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

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

该勒索软件解密方式与加密方式类似,具有三种解密方式。根据所加密方式的不同所采用的解密方式不同。解密方式如下表所示:
| XOR解密 | AES解密 | RSA解密 | 
在本次所分析的样本中采用的解密策略是XOR解密方式,所以解密所采用的解密密钥与加密密钥一样。解密密钥如下表所示:
表5‑6 解密策略是XOR解密方式
| XOR解密密钥 | 类型 | 
| 1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5,1,8,3,5,7,0,8,8,1,9,6,6,7,4,3,2,1,3,1,5 | Byte | 
具体解密方式为采用指定长度的字符XOR指定文件前100byte字符。

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

| IoCs | 
| b0E68A3352D31A9DD403A5ACAE6387A0 | 
| hxxps://lihi1.cc/4kdW2 | 

本文作者:AntiyLab
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/161007.html
必填 您当前尚未登录。 登录? 注册
必填(保密)