相关阅读:
Nemesis和X3m的自救
Nemesis勒索病毒家族详情
一、 样本信息
- 文件名:Nemesis.exe
- MD5:ABCA8F0299F6B59111436948E98BDB64
- SHA1:42DB06832B7D0AFD7B4648FEF0E4EECE41C804EE
二、 样本分析
1. 地区豁免
- RU:俄语
- KZ:哈萨克语
- BY:吉尔吉斯语
- UA:乌克兰语
木马会判断系统语言,对以下语言代码进行国家或地区豁免:
除此之外,如果机器没连接网络,或是在%temp%目录下已存在以用户ID命名的文(说明当前机器已经被加密过),程序也将终止执行。
2. 卷影删除
删除卷影,并且禁用系统的启动修复功能。
- vssadmin.exe delete shadows /all /quiet
- bcdedit.exe /set {default} recoveryenabled no
- bcdedit.exe /set {default} bootstatuspolicy ignoreallfailures
3. 文件搜寻
避免加密已加密过的文件(判断文件后缀)、勒索提示文件_RESTORE FILES_.txt、temp000000.txt文件,以及含有以下字符串的文件名和路径。
- \windows\
- nvidia
- intel
- .sys
- .dll
- .exe
- .lnk
- !!!INSTRUCTION_RNSMW!!!.txt
- .WECANHELP
- boot.ini
- ntdetect.com
- bootfont.bin
- ntldr
- bootmgr
- bootnxt
- bootsect.bak
- ntuser.dat
- pdoxusrs.net
- internet explorer
- mozilla firefox
- opera
- google
病毒遍历本地磁盘文件目录和网络资源,搜索待加密的文件:
在每个存在待加密文件的目录下生成一个勒索信息文件” _RESTORE FILES_.txt”,并在其中添加用户ID(Personal ID)。
4. 文件加密
病毒首先根据以下信息生成Personal id:
计算crc32校验值,作为Personal id,利用Personal id产生加密文件后缀名“id_%%personal_id%%.WECANHELP”。
病毒在加密文件前先为其追加文件后缀“id_%%personal_id%%.WECANHELP”,加密文件时直接将文件的全部内容读入到内存,根据传入参数(”-1”和”0”)选择对应的对称加密算法,包括AES和DES3。
当前样本采用的是DES3(对称加密算法,Double-Length Keys)进行加密,为CBC加密模式。其中,密钥KEY为16字节,取自32字节随机密钥前半部分;初始向量IV为8字节,取自16字节随机密钥前半部分。
之后,病毒利用RC4(对称加密算法)对DES3加密后的密文二次加密,密钥为256字节的随机密钥。
Cipher_Text = RC4(DES3_CBC(Plain_Text))
除了文件加密后的密文,病毒将在文件尾部追加36(32+4)字节内容,32字节为原文件加密后密文最后1字节+31字节”\x00”,4字节为Personal Id每个字节异或DES3密钥首字节得到。
Nemesis勒索病毒加密流程以及加密后文件结构如下图:
5. 信息上传
勒索病毒程序会在同目录下创建了一个名为temp000000.txt文件,其内容包括常字符串”report”、生成的随机DES3密钥、初始变量和RC4密钥,以及用户ID、机器版本、位数、语言等信息。
上传信息即为temp000000.txt文件内容,只是将其中的常量字符串”report”修改为”statistic”。之后再利用” dsd213123dkf4fjklghkery48”作为RC4密钥对待上传信息进行加密,加密结果转16进制字符串后上传。
6. 删除自身
病毒在打开勒索信息提示文件提醒用户后,再在同目录下生成bat文件删除病毒程序,再删除bat文件自身。
|
|
|
|
评论
直达楼层