GandCrab5.0.9样本详细分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GandCrab5.0.9样本详细分析相关的知识,希望对你有一定的参考价值。

?前言:
?WannaCry利用永恒之蓝漏洞爆发以后,病毒安全的前沿对抗最频繁种类则是勒索病毒了,17年初或者更早就有人捕获了GandCrab家族的勒索病毒,直到18年已经更新迭代到了5.0版本,18年进入尾声的时候,安全研究人员发现了GandCrab勒索病毒的V5.1最新版变种。
?对于勒索个人看法:当第一次听说勒索病毒的时候,就感觉一定是无法抗拒的利益驱动,才会让某一群人去迭代、维护、研发勒索病毒。这道理就像开了一家公司一样,能把病毒走向全世界,已经是很成功了,看似简单,其实背后的关联复杂。除了加密算法的复杂程度之外,勒索的潜伏与隐蔽(字符串混淆加密)也是比较到位。
?其实不管怎样,那些API还是那些API,即使自己实现相仿得函数,时间足够也能从函数功能与汇编,加以逻辑去推理过程,从而实现、还原。

?
1、预热(收集系统信息、提权、注册表操作、兼容匹配、加密解密关键字符串等)
2、枚举扫描(网络共享、资源枚举,遍历扫描文件)
3、加密文件(过滤、匹配的文件以不同方式进行加密)
4、收尾工作(发送勒索信息、删除病毒、销毁进程等)
?基本所分析的病毒大多数都会这样干,因为他既要保证你系统的稳定性,也要保证自己的安全与功能的实现,这样才能勒索到钱......

?????????????????????????????  ps:文章最后附思维导图
?
?预热分析:
1、线上分析:
技术图片
????????????????????图片一:线上分析
技术图片
????????????????????图片二:样本信息
?
2、工具分析:
技术图片
????????????????????图片三:exeinfo pe
?
?详细分析:
①拉入IDA也许你会看到花指令混淆,如下所示:
技术图片
技术图片
????????????????????图片四:花指令混淆
?②如上图所示,GandCrab.00426F7A函数会标志勒索病毒要开始了,当你发现桌面弹窗"我们很快就会回来",恭喜已经中了GandCrab勒索病毒,如下所示:
技术图片
????????????????????图片五:MessageBox
?③GandCrab.00405FF7函数先是创建快照,遍历进程,怕加密文件的时候影响加密效果,如文件被占用等问题,如下所示:
技术图片
????????????????????图片六:初始化字符串
技术图片
????????????????????图片七:遍历对比进程
技术图片
????????????????????图片八:匹配进程结束
?④如图三中GandCrab.00405944是最为核心的函数,先来看看获取windows版本信息,获取SID也就是说当前的权限等级,如下所示:
技术图片
????????????????????图片九:Windows版本信息
技术图片
????????????????????图片十:当前权限级别
?⑤GandCrab.004054BA函数对注册表中键盘布局键值获取,获取当前用户和系统的默认安装语言,比对如果匹配到419(俄罗斯),422(乌克兰) ,423(比利时)等等,那么将执行删除文本且结束进程,这意味着不进行勒索......,如下所示:
技术图片
????????????????????图片十一:键值循环
技术图片
技术图片
????????????????????图片十二:匹配成功
?⑥继续线性跟踪,GandCrab.00405016函数负责获取系统信息,检索了磁盘目录关联的文件系统和卷的信息,然后用磁盘的数据hash获取随机字符串,创建.lock互斥体:
技术图片
技术图片
????????????????????图片十三:创建互斥体
⑦GandCrab.0040586C函数,加密与异或字符串获取公钥1,如下所示:
技术图片
技术图片
????????????????????图片十四:获取RSA1
⑧参数入栈,安全进程扫描,关键系统数据异或解密,如下所示:
技术图片
????????????????????图片十五:入栈参数
技术图片
????????????????????图片十六:示意图
技术图片
技术图片
????????????????????图片十七:系统数据拼接
技术图片
????????????????????图片十八:安全服务遍历
技术图片
????????????????????图片十九:拼接后数据
技术图片
????????????????????图片二十:解密
⑨系统不显示critical-error-handler消息框,异常不显示,初始化临界区,如下所示:
技术图片
????????????????????图片二十一:SetErrorMode

?⑩如上图所示,GandCrab.00404DC5函数是GandCrab勒索的核心函数,先是利用微软提供的CSP函数获取随机数,如下所示:
技术图片
????????????????????图片二十二:GetModuleHandleA
?解密字符串,解密后发现是文件名的后缀,如下所示:
技术图片
????????????????????图片二十三:文件后缀名
?随机生成密钥,且导出公钥,私钥,如下所示:
技术图片
技术图片
技术图片
技术图片
????????????????????图片二十四:导出Key
?接着创建了注册表ex_datadata,并且设置了随机字符,如下所示:
技术图片
技术图片
????????????????????图片二十五:设置注册表
?导入公钥,加密了数据:
技术图片
????????????????????图片二十六:硬编码公钥导入

?创建了key_datasdatas,设置了public=公钥,private=硬编码加密后私钥(还加了随机数等数据)
技术图片
技术图片
技术图片
????????????????????图片二十七:注册表设置
?有意思的赋值方式,push入栈,pop弹出给寄存器,赋值给内存变量,如下所示:
技术图片
????????????????????图片二十八:赋值方式
?使用了Base64加密了之前的密钥,然后拼接勒索警告字符串与获取的pc数据,如下所示:
技术图片
技术图片
技术图片
????????????????????图片二十九:勒索警告
??下面压入了文件后缀格式,应该准备枚举网络资源,遍历文件,加密文件了,如下所示:
技术图片
????????????????????图片三十:GandCrab.00403D8E
?内部创建了两个线程,线程分析一,如下所示:
技术图片
????????????????????图片三十一:回调函数
技术图片
????????????????????图片三十二:局域网枚举
技术图片
????????????????????图片三十四:遍历局域网下文件目录与磁盘
技术图片
????????????????????图片三十五:递归扫描
技术图片
技术图片
技术图片
????????????????????图片三十六:加密过滤
技术图片
技术图片
技术图片
技术图片
????????????????????图片三十七:加密过程
技术图片
技术图片
????????????????????图片三十八:硬编码公钥加密文件
?线程分析二,如下所示:
技术图片
技术图片?
????????????????????图片三十九:本地文件加密且退出进程
最后调用了函数GandCrab.00405252执行了 ShellExecute,执行了如下指令:
技术图片
?
??样本中关于利用CVE漏洞提权代码没有分析,因为在测试环境下没有匹配0x1000,跳过了提权函数,上述有很多分析点不够精准,但是还原了样本的整体逻辑。
?关于硬编码公钥加密研究,使用的是CSP又称"加密服务提供者(Cryptographic Service Provider)",微软提供的一套API,后续有机会一起实现与深入研究一番。

?
思维导图:
技术图片

以上是关于GandCrab5.0.9样本详细分析的主要内容,如果未能解决你的问题,请参考以下文章

SPSS两配对样本T检验分析详细操作教程(附案例实战)

SPSS两独立样本T检验分析详细操作教程(附案例实战)

一个简单的监控木马分析

《肿瘤样本数据挖掘与统计分析 》训练营:首次招募

宋欣蓉.2019.11.21.spss

号称病毒之王的“熊猫烧香”详细分析