一、事件背景

最近国外安全研究人员发现了GandCrab勒索病毒的V4.0最新版变种,深信服EDR安全团队马上对此事进行了相关跟进,第一时间获取到了相应的变种样本,确认此样本为GandCrab勒索家族的最新的变种,同样采用RSA1024加密算法,将系统中的大部分文档文件加密为.KRAB后缀的文件,然后对用户进行勒索。

GandCrab勒索病毒从2018年1月被首次发现之后,仅仅半年的时候,就连续出现了V1.0,V2.0,V2.1,V3.0,V4.0等变种,非常活跃,同时在分析这款V4.0版本的样本的时候,发现部分网络功能似乎还不太完善,很有可能近期黑产团伙会推出它的更新版,目前此勒索病毒无法解密。

该勒索病毒主要通过邮件、漏洞、垃圾网站挂马等方式进行传播,其自身不具备感染传播能力,不会主动对局域网的其他设备发起攻击,会加密局域网共享目录文件夹下的文件。

二、样本分析

1.样本经过多层封装与代码混淆,代码会经过几层解密操作,如下所示:

图片.png在内存中解密出勒索病毒Payload代码,如下所示:
图片.png最后进行内存拷贝,属性更改之后,跳转到相应的勒索Payload入口点执行勒索操作,如下所示:
图片.png2.样本跳转到了入口点,相应的反汇编代码,如下所示:
图片.png3.获取Windows操作系统版本,如下所示:
图片.png4.获取当前运行进程权限,如下所示:
图片.png5.遍历进程,然后结束相关的进程,如下图所示:
图片.png相关的进程列表如下:
msftesql.exesqlagent.exesqlbrowser.exesqlwriter.exeoracle.exeocssd.exe
dbsnmp.exesynctime.exeagntsvc.exeisqlplussvc.exexfssvccon.exe
sqlservr.exemydesktopservice.exeocautoupds.exeagntsvc.exeagntsvc.exe
agntsvc.exeencsvc.exefirefoxconfig.exetbirdconfig.exemydesktopqos.exe
ocomm.exemysqld.exemysqld-nt.exemysqld-opt.exedbeng50.exe
sqbcoreservice.exeexcel.exeinfopath.exemsaccess.exemspub.exe
onenote.exeoutlook.exepowerpnt.exesteam.exesqlservr.exethebat.exe
thebat64.exethunderbird.exevisio.exewinword.exewordpad.exe

6.查询操作系统安装的输入法,如下所示:

图片.png如果发现系统安装的输入法为Russian,则不进行加密操作,执行后面的自删除操作,如下所示:
图片.png

非常奇怪,在后面的分析中发现这个GandCrab勒索V4.0版本的Payload核心加密代码与我们之前分析的Sigrun勒索家族的加密核心代码非常多的相似之处……

7.获取操作系统的语言版本,如下所示:

图片.png当操作系统语言为如下国家时,则不进行加密,相应的国家列表如下:

419(LANG_RUSSIAN俄语) 422(LANG_UKRAINIAN乌克兰)

423(LANG_BELARUSIAN白俄罗斯) 428(LANG_TAJIK塔吉克)

42B(LANG_ARMENIAN亚美尼亚) 42C(阿塞拜疆,拉丁美洲(AZ))

437(LANG_GEORGIAN格鲁吉亚人) 43F(LANG_KAZAK哈萨克族)

440(LANG_KYRGYZ吉尔吉斯) 442(LANG_TURKMEN土库曼)

443(乌兹别克斯坦,拉丁语(UZ)) 444(LANG_TATAR俄罗斯(RU))

818(未知) 819(未知)

82C(LANG_AZERI阿塞拜疆,西里尔(亚利桑那州)) 843(LANG_UZBEK乌兹别克)

相应的反汇编代码,如下所示:

图片.png8.随机读取相应目录下的随机文件名.lock文件,如下所示:
图片.png

如果读取到随机的lock文件,则退出程序。

9.利用程序中硬编码的数据,生成加密RSA的公钥public,如下所示:

图片.png相应的public公钥信息如下:
06 02 00 00 00 A4 00 00 52 53 41 31 00 08 00 00 01 00 01 00 BB EF 02 46 
0B 5E 8C 72 8E A0 A0 31 AE 95 33 82 D6 67 89 32 B2 ED 92 A8 16 0A BC 28 
C1 4D 3E 00 A3 DC 48 47 3D E9 9A C1 31 AE 41 C5 E8 22 70 6A 7F 75 98 8F 
C6 EB EE 65 9B 1B 96 D3 4D AA 3F 75 0B A5 75 E7 71 CD 88 A0 77 E0 CB 2F 
33 A2 0D AB E4 E3 40 82 3F D9 95 50 A4 92 56 AA 77 61 05 75 F2 25 81 DA 
A1 BE 30 A7 CB DA 2B A39E 85 AB 03 8D BB D3 F0 BB 9C 71 9A D4 98 CF C6 
C2 A8 62 84 32 85 4C 1B 2C FF E4 D8 D9 E5 2A BB 18 06 08 6A F4 D8 D1 8D 
00 E3 41 FC E7 C5 20 25 D2 DD 47 FF 27 09 1F 6D 34 6C 8A 0A EB AB 13 48 
09 F6 24 24 98 84 22 DD C1 A1 1C 60 63 06 71 EE 00 4A 21 BA 1F AF 4C 03 
D2 C7 3F BA 64 39 35 B4 44 0B 17 5F B5 2C 8C 4E B2 E6 61 B2 23 21 4D AD 
FB D4 1D 96 4B A1 FC 7F BF 98 78 BB D3 72 F1 E3 46 1F 03 4C 05 18 96 C1 
47 C0 A0 6F 17 07 11 10 2B 2D D4 C8  

10.获取主机相关信息,如下所示:

图片.png获取到的相关信息如下:

用户名、主机名、工作组、操作系统语言、操作系统版本类型信息、安全软件信息、CPU类型、磁盘空间等信息

图片.pngpc_user=panda&pc_name=PANDA-PC&pc_group=WORKGROUP&pc_lang=zh-CN&pc_keyb=0&

os_major=Windows 7 Professional&os_bit=x86&ransom_id=4cccd561a9e9938&

hdd=C:FIXED_43850395648/15526735872,D:FIXED_41941987328/2760519680&id=15&sub_id=15&version=4.0.

11.获取主机中安装的安全软件信息,如下所示:

图片.png相应的安全软件列表如下:

AVP.EXE、ekrn.exe、avgnt.exe、ashDisp.exe、NortonAntiBot.exe、Mcshield.exe

avengine.exe、cmdagent.exe、smc.exe、persfw.exe、pccpfw.exe、fsguiexe.exe

cfp.exe、msmpeng.exe

12.将获取到的主机信息,在内存进行加密,如下所示:

图片.png

13.利用程序中硬编码的数据作为Key,用于生成RSA加密的公钥和私钥,并导出RSA公钥和私钥信息,如下所示:

图片.png14.将成生的公钥和私钥写入到注册表项上,如下所示:
图片.png生成的RSA私钥,如下所示:
图片.png15.将生成的公钥与私钥,导入到注册表中之后,如下所示:
图片.png相应的注册表项:

HKEY_CURRENT_USER\SOFTWARE\keys_data\data

16.生成勒索信息文件加密Key信息,如下所示:

图片.png17.内存拼接生成勒索文件信息,如下所示:
图片.png

18.创建线程,加密局域网共享目录文件夹下的文件,如下所示:

图片.png

19.遍历磁盘,创建线程,加密磁盘文件,如下所示:

图片.png

20.遍历主机或网络共享目录的文件目录,如果为以下文件目录,则不进行加密,如下图所示:

图片.png

相应的文件目录列表如下:

\\ProgramData\\

\\Boot\\

\\Program Files\\

\\Tor Browser\\

\\Local Settings\\

\\Windows\\

21.将之前生成的勒索信息相应写入到勒索信息文本文件KRAB-DECRYPT.txt中,如下所示:

图片.png

22.生成随机的lock文件,保存感染时间,如下所示:

图片.png

23.遍历磁盘目录下的文件,如果为以下文件,则不进行加密,如下所示:

图片.png

相应的文件列表如下:

desktop.ini

autorun.inf

ntuser.dat

iconcache.db

bootsect.bak

boot.ini

ntuser.dat.log

thumbs.db

KRAB-DECRYPT.html

KRAB-DECRYPT.txt

CRAB-DECRYPT.txt

ntldr

NTDETECT.COM

Bootfont.bin

24.生成以.KRAB为后缀的加密文件,如下所示:

图片.png

25.加密文件的主过程函数,如下所示:

图片.png26.加密完成之后,通过ShellExecuteW函数调用wmic.exe程序,删除磁盘卷影操作,如下所示:
图片.png27.然后弹出勒索信息文件,如下所示:
图片.png28.通过提供的链接,在tor打开链接,如下所示:
图片.png图片.png

通过分析发现,此勒索病毒整体的加密勒索过程与之前版本类似,但是感染方式发生了改变,同时这款勒索病毒没有了相应的网络功能,预测后面应该马上会有相应的V4.1….等版本出现,同时在分析的过程中,发现此勒索病毒的一些功能和之前发现的Sigrun勒索病毒比较类似,这款勒索病毒会针对不同的国家进行感染传播,如果为某些地区的国家的操作系统,则不进行感染加密。

三、解决方案

深信服EDR产品能有效检测及防御此类勒索病毒家族样本及其变种,如下所示:

图片.png同时深信服EDR安全团队提醒广大用户:

1.不要点击来源不明的邮件附件,不从不明网站下载软件

2.及时给主机打补丁,修复相应的高危漏洞

3.对重要的数据文件定期进行非本地备份

4.尽量关闭不必要的文件共享权限以及关闭不必要的端口,如:445,135,139,3389等

5.RDP远程服务器等连接尽量使用强密码,不要使用弱密码

6.安装专业的终端安全防护软件,为主机提供端点防护和病毒检测清理功能

四、相关IOC

97A910C50171124F2CD8CFC7A4F2FA4F

62801EBC255C28E86FDA4F9382324830

* 本文作者:千里目安全实验室