Crysis勒索病毒变种-.wallet文件后缀病毒分析报告
@TOC一、样本简介
CrySiS勒索病毒在2017年5月万能密钥被公布之后,消失了一段时间,最近又发现这类勒索病毒的新的变种比较活跃,攻击方法同样是通过远程RDP爆力破解的方式,植入到用户的服务器进行攻击,其加密后的文件的后缀名为.wallet,CrySiS采用AES+RSA的加密方式。
二、现象描述
该病毒感染过后会创建多个窗口
https://img-blog.csdnimg.cn/201908221928178.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
文件加密方式
https://img-blog.csdnimg.cn/2019082219293921.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
1.1 样本信息
病毒名称:哈希值
所属家族:Crysis
MD5值:4A0FF6D33C45A670E23C924435905F0C
SHA1值:2CF9750907778F553D187C3FA44DE263BA3BEAD9
CRC32:1536561E
1.2 测试环境及工具
环境:Windows 7 32位
工具:火绒剑,OD,IDA,PEiD,010Editor
病毒行为:
1)绘制窗口、获取登录用户信息、枚举局域网服务器、判断当前计算机语言
流程图:
https://img-blog.csdnimg.cn/20190822193214598.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
获取登录用户信息
https://img-blog.csdnimg.cn/20190822194857294.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
枚举局域网服务器
https://img-blog.csdnimg.cn/20190822194915266.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822194936987.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70判断电脑语言
https://img-blog.csdnimg.cn/20190822195014970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
2)发现原始文件数据被修改,在0x400000内存地址上下硬件写入断点,发现构造shellcode通过LoadLibrary函数加载Kernel32.dll,然后利用GetProcAddress动态获取VirtualProctect等函数地址。https://img-blog.csdnimg.cn/20190822195551715.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822195235152.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
3)在shellcode中动态调用VirtualAlloc申请内存,把新的变体内容拷贝到内存,调用VirtualProctet修改内存属性,把原程序地址空间清零,获取Crysis病毒变种的pdb文件,再使用新的变体填充,实行“换体”操作,阻止IDA静态分析。
https://img-blog.csdnimg.cn/20190822201920716.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822201940451.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
4)根据参数是否为1,分别创建互斥体变量Global\syncronize_107MKRA和Global\syncronize_107MKRA,防止被多次运行、利用OpenProcessToken、AdjustPrivilege等函数执行进程提权操作。
https://img-blog.csdnimg.cn/20190822201309586.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70https://img-blog.csdnimg.cn/20190822201242924.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822202050867.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
5)通过RC4解密字符串,得到进程名和服务列表名,创建一个线程后,建立服务控制管理器连接,遍历服务,关闭服务更新,判断是否需要关闭服务,创建进程快照,对比关闭相应进程。
进程名:1c8.exe、1cv77.exe、outlook.exe、postgres.exe、mysqld-nt.exe、mysqld.exe、sqlservr.exe。
https://img-blog.csdnimg.cn/20190822201745355.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
关闭进程
https://img-blog.csdnimg.cn/20190822202126716.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
关闭服务更新
https://img-blog.csdnimg.cn/20190822201705620.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
服务名:FirebirdGuardianDefaultInstance、FirebirdServerDefaultInstance、sqlwriter、mssqlserver、sqlserveradhelper。
https://img-blog.csdnimg.cn/20190822201843415.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
6)拷贝病毒文件到以下目录:
%windir%\System32
https://img-blog.csdnimg.cn/20190822204259772.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
%appdata%
https://img-blog.csdnimg.cn/20190822203755308.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
%sh(Startup)%
https://img-blog.csdnimg.cn/20190822203906799.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
%sh(Common Starup)%
相关进程
https://img-blog.csdnimg.cn/20190822203817706.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
配置文件
https://img-blog.csdnimg.cn/20190822203828788.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
7)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run注册表创建三个键值,添加启动项。
https://img-blog.csdnimg.cn/20190822203711142.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822203525665.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
8)通过RC4解密“mode con cp select=1251 vssadmin delete shadows /all /quiet Exit”删除卷影备份文件命令字符串,创建cmd.exe进程,执行该命令,防止用户通过还原磁盘的方式恢复文件。
https://img-blog.csdnimg.cn/20190822195938663.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
9)创建线程RC4解密获取“ABCDEFGHIJKLMNOPQRSTUVWXYZ”字符串,获取本地磁盘。通过RC4解密出343种该病毒可支持的文件加密格式文件后缀、不加密保障系统正常运行的文件、感染info.hta文件等
https://img-blog.csdnimg.cn/2019082220341120.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
343种可加密文件后缀
https://img-blog.csdnimg.cn/20190822203332286.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
.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;
https://img-blog.csdnimg.cn/20190822203638232.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
不加密保障用户操作系统正常的文件
https://img-blog.csdnimg.cn/20190822203310639.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
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、硬盘序列号:
https://img-blog.csdnimg.cn/2019082220260170.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
2、获取RSA_SHA1:
https://img-blog.csdnimg.cn/2019082220105422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
随机生成0x20字节的随机数,计算SHA1值,RC4加密:
https://img-blog.csdnimg.cn/20190822203129481.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
在这里插入图片描述0x20的RC4加密的随机密钥+32字节处填写硬盘序列号+20字节是RSA——SHA1的值:
https://img-blog.csdnimg.cn/20190822200934351.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
11) 创建文件加密线程函数4033b0,先判断文件大小是否大于0x180000,
1、 创建加密线程、判断文件大小https://img-blog.csdnimg.cn/20190822202352900.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822200516708.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
2、如果文件小于0x180000:
创建加密文件,利用ReadFile将文件读入内存:
https://img-blog.csdnimg.cn/20190822200536811.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
3、取16字节,每四字节倒序:
https://img-blog.csdnimg.cn/20190822200427764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
4、与IV进行xor运算:
https://img-blog.csdnimg.cn/20190822200439225.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
5、进行AES加密文件数据,写入加密文件
https://img-blog.csdnimg.cn/20190822200338307.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
6、在文件末尾利用memset函数初始化0x20字节,并填充固定数据
再把文件名+107MKR+文件补齐长度+0x20RSA_SHA1的值+0x10AES_IV+0x80RSA加密AES_Key+(0x20+文件名长度)
https://img-blog.csdnimg.cn/20190822200325910.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
https://img-blog.csdnimg.cn/20190822200226113.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
7、利用SetEndOfFile设置文件末尾、设置文件属性、利用DeleteFile删除原文件
https://img-blog.csdnimg.cn/20190822200208188.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
8、如果文件大于0x180000:
利用MoveFile进行AES加密操作,直接写入文件:
https://img-blog.csdnimg.cn/20190822200006422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lvdXhpZUo=,size_16,color_FFFFFF,t_70
总结:近几年勒索病毒变种速度极快,常采用RSA+AES等成熟算法加密文件,不易破解,并且用户一旦中招,通常情况下只能支付赎金,黑客也不一定会帮你解密,危害性巨大。
防范方法:
1、对重要数据要备份文件
2、不要浏览非法网站,接受来历不明的软件
3、开启防火墙,及时更新杀毒工具
4、重命名vssadmin.exe进程,防止勒索病毒利用它一次性清除文件的卷影副本
5、关闭不必要的端口,如:445、135、139、3389等 kingwl 发表于 2019-8-23 19:58
牛逼 https://www.52pojie.cn/thread-1003712-1-1.html 大佬看一下我中的这个
https://tieba.baidu.com/p/6218205807?red_tag=0667858529你问下楼主,是否有最快的解决方案? kingwl 发表于 2019-8-23 19:58
牛逼 https://www.52pojie.cn/thread-1003712-1-1.html 大佬看一下我中的这个
你这个肯定是种了相关病毒变种了 牛逼 https://www.52pojie.cn/thread-1003712-1-1.html 大佬看一下我中的这个
跟着楼主一步步学 fhxylang 发表于 2019-8-24 07:46
跟着楼主一步步学
加油,有什么不懂的可以问我,我也在慢慢学习中 感谢分享。。。 学习学习 楼主,病毒样本可以发我一份吗,我学习学习 楼主厉害,赞