内容简介:GandCrab勒索病毒于2018年1月首次出现,在半年的时候之内,迅速发展,短短几个月时间里就出现了V1.0,V2.0,V3.0,V4.0等几个大的版本的更新,V4.0之后又出现了V4.1,V4.2,V4.3,V4.4等几个小版本的变种更新样本,非常活跃,目前此勒索病毒最新的变种样本均无法解密。GandCrab的感染方式主要是通过以下几种方式:(1)RDP爆破
一、样本简介
GandCrab勒索病毒于2018年1月首次出现,在半年的时候之内,迅速发展,短短几个月时间里就出现了V1.0,V2.0,V3.0,V4.0等几个大的版本的更新,V4.0之后又出现了V4.1,V4.2,V4.3,V4.4等几个小版本的变种更新样本,非常活跃,目前此勒索病毒最新的变种样本均无法解密。
GandCrab的感染方式主要是通过以下几种方式:
(1)RDP爆破
(2)垃圾邮件,带有恶意链接或附件
(3)下载捆绑有恶意程序的正常软件
(4)利用RigEK漏洞利用 工具 包
二、样本分析
1.样本前期进行解密操作,先解密出里面的shellcode代码,如下所示:
修改shellcode代码的属性,如下所示:
转跳到相应的内存地址,执行shellcode代码,如下所示:
定位kernel32.dll,如下所示:
获取GetProcAddress函数的地址,如下所示:
然后再获取内存操作VirtualAlloc,VirtualProtect,VirtualFree,GetVersionExA,
TerminateProcess等函数地址,如下所示:
分配相应的内存地址,如下所示:
进行内存解密出payload代码,如下所示:
进行内存块拷贝操作,将003B0000的内存数据payload拷贝到00400000内存地址处,如下所示:
再将003B0400处的数据,拷贝到00401000处,如下所示:
循环拷贝003B0000处的相关数据到00400000,重建PE文件数据,如下所示:
重建输入表操作,如下所示:
输入表重建完成之后,如下所示:
获取atexit函数地址,并执行atexit,如下所示:
最后跳转到相应的payload加密操作代码入口,执行payload代码,如下所示:
2.样本跳转到了入口点,相应的反汇编代码,如下所示:
3.使用了静态对抗反汇编的方式,去混淆之后,如下所示:
4.跳转到入口函数之后,同样使用了相同的对抗反汇编的方式,如下所示:
5.获取Windows操作系统版本,如下所示:
6.获取当前运行进程权限,如下所示:
7.遍历相关进程,如下所示:
然后结束相关的进程,如下所示:
相关的进程列表如下:
msftesql.exe、sqlagent.exe、sqlbrowser.exe、sqlwriter.exe、oracle.exe、ocssd.exe、dbsnmp.exe、 synctime.exe、agntsvc.exeisqlplussvc.exe、xfssvccon.exe sqlservr.exe、mydesktopservice.exe、ocautoupds.exe、agntsvc.exeagntsvc.exe agntsvc.exeencsvc.exe、firefoxconfig.exe、tbirdconfig.exe、mydesktopqos.exe ocomm.exe、mysqld.exe、mysqld-nt.exe、mysqld-opt.exe、dbeng50.exe sqbcoreservice.exe、excel.exe、infopath.exe、msaccess.exe、mspub.exe onenote.exe、outlook.exe、powerpnt.exe、steam.exe、sqlservr.exe、thebat.exe thebat64.exe、thunderbird.exe、visio.exe、winword.exe、wordpad.exe
8.查询操作系统安装的输入法,如下所示:
比较操作系统输入法是否为Russian,如下所示:
如果操作系统为输入法为Russian,则不进行加密操作,执行后面的自删除操作,如下所示:
9.获取操作系统的语言版本,如下所示:
当操作系统语言为如下国家时,则不进行加密,执行自删除操作,相应的国家列表如下:
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乌兹别克)
10.创建一个随机名称的互斥变量,防止重复感染,如下所示:
11.利用程序中硬编码的数据,内存加密生成RSA公钥public_key,如下所示:
动态调试,得到的RSA公钥数据,如下所示:
RSA公钥,如下:
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
12.获取主机相关信息,如下所示:
获取的相关信息列表如下:
用户名 主机名 工作组 操作系统语言 操作系统键盘输入法 操作系统版本类型信息 CPU类型及型号信息 安全软件信息 磁盘类型及空间信息
遍历主机上的安全软件,收集安全软件相关信息,如下:
相关的安全软件列表如下:
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
得到的相关信息,如下所示:
相应的反汇编代码,如下所示:
13.获取到主机的相关信息,拼接字符串信息,如下所示:
然后对拼接出来的字符串进行加密处理,如下所示:
相应的反汇编代码,如下所示:
可以看到此GandCrab勒索样本的版本信息version=4.3
14.获取相应的网站域名链接地址,如下所示:
相应的域名地址列表如下:
勒索软件从上面的域名地址列表中选择一个域,并使用以下单词之一创建随机的路径,如下所示:
随机的路径列表如下:
wp-content、static、content、includes、data、uploads、news
然后再选择一个单词添加后URL后面,如下所示:
相关的单词列表如下:
images、pictures、image、graphic、assets、pics、imgs、tmp
再从下面的文件名列表中随机选择几个组合成文件名,如下所示:
相应的文件名组合列表如下:
im、de、ka、ke、am、es、so、fu、se、da、he、ru、me、mo、th、zu
最后再把前面的URL与随机选择的扩展名连接起来,如下所示:
随机的扩展名列表如下:
jpg、png、gif、bmp
使用POST的方式发送HTTP请求到之前拼接出来的网站,如下所示:
15.利用程序中的硬编码数据作为Key,然后生成RSA公钥和私钥,并导出公钥,如下所示:
16.将生成的RSA私钥和硬编码生成的RSA公钥设置到注册表项中,如下所示:
设置完成之后,注册表键值如下:
相应的注册表项:
HKEY_CURRENT_USER\SOFTWARE\keys_data\data
17.生成勒索信息文件加密Key的相关信息,如下所示:
生成的勒索信息加密Key,如下所示:
18.内存拼接生成勒索信息,如下所示:
19.遍历磁盘,创建线程,加密磁盘文件,如下所示:
20.创建线程,加密局域网共享目录文件夹下的文件,如下所示:
21.遍历主机或网络共享文件夹目录,如果是以下文件目录,则不进行加密操作,如下所示:
相应的文件目录列表如下:
\ProgramData\
\IEIldCache\
\Boot\
\Program Files\
\Tor Browser\
\All Users\
\Local Settings\
\Windows\
22.遍历磁盘目录下的文件,如果为以下文件,则不进行加密操作,如下所示:
相应的文件名称列表如下:
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
23.将之前生成的勒索信息写入到每个加密后的文件夹下的勒索信息文本文件KRAB-DECRYPT.txt中,如下所示:
写入相应的勒索信息,如下所示:
24.生成随机的lock文件,保存感染时间,如下所示:
25.加密文件,生成以KRAB为后缀的加密文件,如下所示:
26.加密完成之后,通过ShellExecuteW函数调用wmic.exe程序,删除磁盘卷影操作,如下所示:
27.对抗杀毒软件,对杀毒软件的相关驱动进行攻击DeviceIoControl请求,如下所示:
28.相应的勒索信息文本文件,如下所示:
29.加密后的文件,如下所示:
30.通过勒索信息,打开相应的暗网网站,如下所示:
三、总结
此勒索病毒V4.3版本主要利用了对抗静态反汇编的方式,防止安全分析人员对样本进行静态分析,增大了样本静态分析的难度。
对抗反汇编的方式,如下所示:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
电子邮件营销密码
[美] Jeanniey Mullen、David Daniesl / 薛剑韬 / 人民邮电出版社 / 2009-9 / 39.00元
在当今互联网蓬勃发展的形势下,电子邮件是互联网应用最广的服务之一。那么如何利用其作为有效的营销工具呢?本书系统地讲解了美国电子邮件营销的预算统筹、营销策略、管理模式、执行机制、涉及的技术、营销实施的细节等,其方法有很强的可循性,并可预见将获得的成果。阅读本书之后,读者会深刻感受到电子邮件营销的博大精深,它既是一门扎实严谨的科学,又是一项充满创造力的艺术。. 本书适合企业管理人员及市场营销人员......一起来看看 《电子邮件营销密码》 这本书的介绍吧!