@[TOC](勒索病毒CrySis病毒变种分析报告-加密文件后缀.wallet)
一、样本简介
CrySis勒索病毒在2017年5月万能密钥被公布之后,消失了一段时间,但是该病毒一直比较活跃, 该病毒是黑客利用弱口令暴力破解受害者电脑导致其中毒
,植入到用户的服务器进行攻击,其加密后的文件的后缀名为.wallet,Crysis采用AES+RSA的加密方式并且删除系统备份文件,危害巨大。
二、现象描述
该病毒感染过后会创建多个勒索信息窗口
文件加密方式
1.1 样本信息
病毒名称:哈希值
所属家族:Crysis
MD5值:4A0FF6D33C45A670E23C924435905F0C
SHA1值:2CF9750907778F553D187C3FA44DE263BA3BEAD9
CRC32:1536561E
1.2 测试环境及工具
环境:Windows 7 32位
工具:火绒剑,OD,IDA,PEiD,010Editor
病毒行为:
1) 绘制窗口、获取登录用户信息、枚举局域网服务器、判断当前计算机语言
一、流程图:
获取登录用户信息
枚举局域网服务器
判断电脑语言
二、主要行为流程图
2) 发现原始文件数据被修改,在0x400000内存地址上下硬件写入断点,发现构造shellcode通过LoadLibrary函数加载Kernel32.dll,然后利用GetProcAddress动态获取VirtualProctect等函数地址。!
3) 在shellcode中动态调用VirtualAlloc申请内存,把新的变体内容拷贝到内存,调用VirtualProctet修改内存属性,把原程序地址空间清零,获取Crysis病毒变种的pdb文件,再使用新的变体填充,实行“换体”操作,阻止IDA静态分析。
4) 根据参数是否为1,分别创建互斥体变量Global\syncronize_107MKRA和Global\syncronize_107MKRA,防止被多次运行、利用OpenProcessToken、AdjustPrivilege等函数执行进程提权操作。
5) 通过RC4解密字符串,得到进程名和服务列表名,创建一个线程后,建立服务控制管理器连接,遍历服务,关闭服务更新,判断是否需要关闭服务,创建进程快照,对比关闭相应进程。
进程名:1c8.exe、1cv77.exe、outlook.exe、postgres.exe、mysqld-nt.exe、mysqld.exe、sqlservr.exe。
关闭进程
关闭服务更新
服务名:FirebirdGuardianDefaultInstance、FirebirdServerDefaultInstance、sqlwriter、mssqlserver、sqlserveradhelper。
6) 拷贝病毒文件到以下目录:
%windir%\System32
%appdata%
%sh(Startup)%
%sh(Common Starup)%
相关进程
配置文件
7) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run注册表创建三个键值,添加启动项。
8) 通过RC4解密“mode con cp select=1251 vssadmin delete shadows /all /quiet Exit”删除卷影备份文件命令字符串,创建cmd.exe进程,执行该命令,防止用户通过还原磁盘的方式恢复文件。
9) 创建线程RC4解密获取“ABCDEFGHIJKLMNOPQRSTUVWXYZ”字符串,获取本地磁盘。通过RC4解密出343种该病毒可支持的文件加密格式文件后缀、不加密保障系统正常运行的文件、感染info.hta文件等
343种可加密文件后缀
```
.1cd;.3ds;.3fr;.3g2;.3gp;.7z;.accda;.accdb;.accdc;.accde;.accdt;.accdw;.adb;.adp;.ai;.ai3;.ai4;.ai5;.ai6;.ai7;.ai8;.anim;.arw;.as;.asa;.asc;.ascx;.asm;.asmx;.asp;.aspx;.asr;.asx;.avi;.avs;.backup;.bak;.bay;.bd;.bin;.bmp;.bz2;.c;.cdr;.cer;.cf;.cfc;.cfm;.cfml;.cfu;.chm;.cin;.class;.clx;.config;.cpp;.cr2;.crt;.crw;.cs;.css;.csv;.cub;.dae;.dat;.db;.dbf;.dbx;.dc3;.dcm;.dcr;.der;.dib;.dic;.dif;.divx;.djvu;.dng;.doc;.docm;.docx;.dot;.dotm;.dotx;.dpx;.dqy;.dsn;.dt;.dtd;.dwg;.dwt;.dx;.dxf;.edml;.efd;.elf;.emf;.emz;.epf;.eps;.epsf;.epsp;.erf;.exr;.f4v;.fido;.flm;.flv;.frm;.fxg;.geo;.gif;.grs;.gz;.h;.hdr;.hpp;.hta;.htc;.htm;.html;.icb;.ics;.iff;.inc;.indd;.ini;.iqy;.j2c;.j2k;.java;.jp2;.jpc;.jpe;.jpeg;.jpf;.jpg;.jpx;.js;.jsf;.json;.jsp;.kdc;.kmz;.kwm;.lasso;.lbi;.lgf;.lgp;.log;.m1v;.m4a;.m4v;.max;.md;.mda;.mdb;.mde;.mdf;.mdw;.mef;.mft;.mfw;.mht;.mhtml;.mka;.mkidx;.mkv;.mos;.mov;.mp3;.mp4;.mpeg;.mpg;.mpv;.mrw;.msg;.mxl;.myd;.myi;.nef;.nrw;.obj;.odb;.odc;.odm;.odp;.ods;.oft;.one;.onepkg;.onetoc2;.opt;.oqy;.orf;.p12;.p7b;.p7c;.pam;.pbm;.pct;.pcx;.pdd;.pdf;.pdp;.pef;.pem;.pff;.pfm;.pfx;.pgm;.php;.php3;.php4;.php5;.phtml;.pict;.pl;.pls;.pm;.png;.pnm;.pot;.potm;.potx;.ppa;.ppam;.ppm;.pps;.ppsm;.ppt;.pptm;.pptx;.prn;.ps;.psb;.psd;.pst;.ptx;.pub;.pwm;.pxr;.py;.qt;.r3d;.raf;.rar;.raw;.rdf;.rgbe;.rle;.rqy;.rss;.rtf;.rw2;.rwl;.safe;.sct;.sdpx;.shtm;.shtml;.slk;.sln;.sql;.sr2;.srf;.srw;.ssi;.st;.stm;.svg;.svgz;.swf;.tab;.tar;.tbb;.tbi;.tbk;.tdi;.tga;.thmx;.tif;.tiff;.tld;.torrent;.tpl;.txt;.u3d;.udl;.uxdc;.vb;.vbs;.vcs;.vda;.vdr;.vdw;.vdx;.vrp;.vsd;.vss;.vst;.vsw;.vsx;.vtm;.vtml;.vtx;.wb2;.wav;.wbm;.wbmp;.wim;.wmf;.wml;.wmv;.wpd;.wps;.x3f;.xl;.xla;.xlam;.xlk;.xlm;.xls;.xlsb;.xlsm;.xlsx;.xlt;.xltm;.xltx;.xlw;.xml;.xps;.xsd;.xsf;.xsl;.xslt;.xsn;.xtp;.xtp2;.xyze;.xz;.zip;
```
不加密保障用户操作系统正常的文件
```
boot.ini;bootfont.bin;ntldr;ntdetect.com;io.sys;
```
三、加密文件流程图
10) 计算RSA公钥的SHA1结果,通过GetVolumeInformationW函数获取硬盘序列号,函数405690:连续两次通过RDTSC指令获取CPU自启动以来的周期数,生成0x20字节的随机数,计算SHA1值;使用RC4加密,RC4加密的结果为后面对文件加密的AES密钥。通过函数405b80进行RSA加密,初始IV随机生成16字节,再用SHA1加密生成IV
1、硬盘序列号:
2、获取RSA_SHA1:
随机生成0x20字节的随机数,计算SHA1值,RC4加密:
在这里插入图片描述0x20的RC4加密的随机密钥+32字节处填写硬盘序列号+20字节是RSA_SHA1的值:
11) 创建文件加密线程函数4033b0,先判断文件大小是否大于0x180000,
1、 创建加密线程、判断文件大小
2、如果文件小于0x180000:
3、取16字节,每四字节倒序:
4、与IV进行xor运算:
5、进行AES加密文件数据,写入加密文件
6、在文件末尾利用memset函数初始化0x20字节,并填充固定数据
再把文件名+107MKR+文件补齐长度+0x20RSA_SHA1的值+0x10AES_IV+0x80RSA加密AES_Key+(0x20+文件名长度)
7、利用SetEndOfFile设置文件末尾、设置文件属性、利用DeleteFile删除原文件
8、如果文件大于0x180000:
利用MoveFile进行AES加密操作,直接写入文件:
总结:近几年勒索病毒变种速度极快,常采用RSA+AES等成熟算法加密文件,不易破解,并且用户一旦中招,通常情况下只能支付赎金,黑客也不一定会帮你解密,危害性巨大。
防范方法:
1、对重要数据要备份文件
2、不要浏览非法网站,接受来历不明的软件
3、开启防火墙,及时更新杀毒工具
4、重命名vssadmin.exe进程,防止勒索病毒利用它一次性清除文件的卷影副本
5、关闭不必要的端口,如:445、135、139、3389等
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-8-23 10:51
被youxie编辑
,原因: