查看原文
其他

GandCrab v5.2 分析

BQC 看雪学院 2021-03-07

本文为看雪论坛精华文章

看雪论坛作者ID:BQC



第一次分析有很多没分析到的地方,多多见谅。



病毒简介



GandCrab勒索病毒于2018年1月首次出现,并出现了很多变种,GandCrab病毒家族主要通过RDP暴力破解、钓鱼邮件、捆绑恶意软件、僵尸网络以及漏洞利用传播。

病毒本身不具有蠕虫传播能力,但会通过枚举方式对网络共享资源进行加密,同时攻击者往往还会通过内网人工渗透方式,利用口令提取、端口扫描、口令爆破等手段对其他主机进行攻击并植入该病毒。

在一年半内赚进超过20亿美金后,他们决定金盆洗手,关闭这个恶意程序。2019年6月,GandCrab勒索病毒团队相关论坛发表俄语官方声明,将在一个月内关闭其RaaS(勒索软件即服务)业务。


样本信息



文件:C:\Users\win7\Desktop\VW5\VW5.exe

大小:95232 bytes

修改时间:2019年2月24日,22:15:11

MD5:B48F9C12805784546168757322A1B77D

SHA1:527C655FE98810AB22B6F36C9677D862BC66770E

CRC32:8F03CEAF


查壳



使用PEiD查壳,链接器版本是14.0 是vs2015写的程序,区段也很正常。



大致分析



加载了C:\Windows\System32\vmhgfs.dll 模块。


文件操作有点多,大致是遍历目录生成txt文件。和后缀为.lock的文件。


txt的内容大概是告诉我们文件被加密了,不要删除,和购买私钥的具体方法。



具体分析



入口处发现不能反汇编,猜测可能动态解密或者有混淆,使用动态调试看看吧。


使用OD分析发现有多处混淆,由于我没什么太好的方法于是就单步分析。

获取用户名,及一些计算机信息配置信息磁盘空间信息和当前使用的输入法:




通过注册表获得当前使用的输入法判断是否是俄语。


然后又获取了这些国家的输入法标识,通过GetUserDefaultUILanguage获得本机 输入法标识。

具体对应的国家可以去
https://docs.microsoft.com/zh-cn/openspecs/windows_protocols/ms-lcid/a9eac961-e77d-41a6-90a5-ce1a8b0cdb9c 查询。

循环比较是不是在这些国家内。是的话就结束了。



创建一个名字为 "BitHuender"的互斥体,并且遍历进程如果有以下进程就结束掉。steam做错了啥??




获取主流杀毒软件名字,并遍历进程,如果有的话就保存一下,并没有给结束。


解密生成密钥:


这个病毒有混淆,IDA有的地方不能分析,接着动态分析看看:


接着生成私钥:


会被加密文件的后缀:



接下来创建了一个线程(403cda),地址为 403dce,去ida中发现这个地址也不能反汇编。



动态调试下看看这个线程在做什么。

启动网络资源的枚举,并且加密局域网共享目录。


接下来获取磁盘类型,又启动了一个线程。


获取了一些目录:
\ProgramData.
\IETldCache.
\All Users.\Windows.
\Boot\
\Program Files\
\Tor Browser\
\All Users\
\Local Settings\
\Windows\

如果是以上几种就不感染,除了函数直接jmp 到ret。


如果是文件的话,以下几种不感染。


接下来就是遍历加密文件:


生成随即名称 lock文件,保存的感染时间:


创建勒索文档:



生成以后缀为 ukczkvdo的文件,这个后缀是随机生成的:




- End -






看雪ID:BQC

https://bbs.pediy.com/user-856083.htm 


*本文由看雪论坛  BQC  原创,转载请注明来自看雪社区




推荐文章++++

通过捕获段错误实现的自定义linker

Xposed高级用法 实现Tinker热修复

连连看逆向

从“短信劫持马”的制作来谈App安全

入门级加固——3种加固方式学习记录



进阶安全圈,不得不读的一本书






公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com




“阅读原文”一起来充电吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存