设为首页收藏本站 开启辅助访问
搜索
    查看: 1726|回复: 0

    再议勒索病毒:GrandCrab5.0.3病毒分析

    [复制链接]
    发表于 2018-11-16 11:21:42 | 显示全部楼层 |阅读模式
    自2018年1月起,GrandCrab勒索病毒被首次发现后,相继出现变种。海青实验室近日捕获到GrandCrab 5.0.3版本病毒样本并对其进行详细分析。该病毒对用户磁盘进行遍历,生成勒索信并加密磁盘内文件。与之前版本不同的是,加密后文件后缀由随机生成的字符串代替了固定字符串。
    GrandCrab家族勒索病毒主要通过RDP爆破、垃圾邮件、恶意链接、捆绑恶意程序的正常软件、RigEK漏洞等方式进行传播。
    图 1 GrandCrab 5.0.3 修改桌面背景图 2 GrandCrab 5.0.3 勒索信
    在勒索信尾部包含了勒索文件的解密信息:
    图 3 文件解密信息
    样本分析
    样本特征:
    MD5:95557a29de4b70a25ce62a03472be684
    该病毒主要通过RDP爆破、垃圾邮件、恶意链接、捆绑恶意程序的正常软件、RigEK漏洞等方式进行传播,传播后释放Grandcrab5.0.3.exe文件。
    检查文件数据段,可以判断出程序是有经过加固的:
    图 4 GrandCrab5.0.3数据段
    因此定位到该数据段调用块,进行壳解密:
    图 5 第一层壳解密汇编代码
    这只是一个简单的解密过程,还原后解密代码如下:
    图 6 还原后解密代码
    解密成功后是一PE可执行文件。程序调用VirtualProtect()写入保护,其后自加载此PE文件。
    PE文件重定位所需DLL文件。遍历dll目录,寻找库函数偏移地址,建立库函数地址映射表,以便后续调用。
    部分主要DLL如下:
    图 7 加载的DLL文件
    这里验证DLL有一个比较有意思的手法,程序并不会将DLL名称字符串直接写成硬编码,而是将字符串加密,待程序运行后,解密字符串,将其统一转换成小写字母,取每个Byte的ASCII码进行移位、累加。生成一整型数据,再与内置数据进行变换。用以躲过系统及安全软件检测。
    图 8 检测Dll
    图 9 具体验证算法
    经过分析,发现了第二个加密的数据块,数据块分别由四个函数操作载入内存,每个函数装载0x400 byte:
    图 10 装载内存函数
    装载完成加密数据后,程序对数据进行解密操作,其次修复解密完成后的文件头:
    图 11 第二层壳解密函数
    解密算法如下:
    图 12 解密算法一图 13 解密算法二
    第二层壳解密后的文件就是恶意软件主体了,程序通过获取操作系统键盘布局和系统语言,如果目标系语言统为俄语,则不进行后续操作,并自删除(该病毒来源可能为俄罗斯)。
    图 14 验证系统语言
    其次,程序遍历进程中的杀毒软件程序。为防止恶意行为失败,率先杀死安全软件进程:
    图 15 对抗杀毒软件模块
    然后,程序遍历运行中的系统进程,为防止加密文件过程中资源被占用,将如下进程杀死:
    图 16 需要关闭的进程
    接下来程序枚举本地磁盘和网络共享磁盘,获取磁盘信息:
    图 17 磁盘操作模块
    之后遍历磁盘内的文件,获取文件信息:
    图 18 获取文件信息
    文件目录下生成勒索信息,复制原始文件并加密副本,之后删除文件的原始版本:
    图 19 加密文件过程
    而程序将公钥以及私钥信息初始化完成后,写入
    \HKEY_CURRENT_USER\Sofeware\keys_data\data\private
    以及
    \HKEY_CURRENT_USER\Sofeware\keys_data\data\public
    注册表。程序通过"expand 32-byte kn"、"expand 16-byte kexpand 32-byte kn"、随机数以及公钥的组合生成初始256位加密密钥。随后程序遍历所有盘符即其所有文件,在排除特定文件后,将文件加密并删除原文件。在加密完成后,将创建的注册表键值删除。
    图 20 文件操作
    加密过程中,程序会过滤一些系统运行的必须文件和老版本GranCrab勒索病毒文件,以确保系统可以正常运行。
    图 21 文件过滤图 21 文件过滤
    GrandCrab5.0.3的恶意行为还不止于此,病毒对如下网站建立的数百个连接和大量的POST流量:
    图 22 程序请求的部分域名
    程序将"wp-content,static,content,includes,data,uploads,news" 、"images,pictures,image,graphic,assets,pics,imgs,tmp"、"im,de,ka,ke,am,es,so,fu,se,da,he,ru,me,mo,th,zu" 随机拼接,构造后缀为jpg、png、gif、bmp的随机POST请求。

    获取其服务器图片:(部分图片如下)
    图 23 图片一图 24 图片二
    有意思的是,在GrandCrab主体,发现了病毒作者对Ahnlab(安博士)的警告信息:
    图 25 病毒作者给Ahnlab的警告信
    遗憾的是,filestorage上的软件早已被删除。
    总结与建议
    Grandcrab 5.0.3版本病毒特征
    1、与Grandcrab家族前几个版本不同的是,该病毒使用多层壳对病毒主体进行防护,对Windows 关键API的调用更加隐蔽,加大了杀毒软件的查毒难度和研究人员的分析难度。
    2、在文件加密算法中,用采用了更快的Salsa20算法对文件进行加密,RSA对密钥进行加密。文件解密需要获取数字私钥,在没有私钥情况下解密难度极大。被感染用户可尝试使用磁盘文件恢复软件找回。

    解决方案
    GrandCrab勒索病毒家族主要由RDP爆破、邮件、漏洞、垃圾网站挂马等方式进行传播。为防御病毒,用户除了养成良好的行为习惯,不要点击不明邮件附件,不从不明网站下载软件外还需要引入相应的服务器防护软件。
    对于受到该勒索病毒影响的用户,建议尽快与海青实验室进行联系:

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|手机版|安全狗论坛-汇聚安全的力量 ( 闽ICP备14014139号-1  

    GMT+8, 2019-8-20 00:41 , Processed in 0.080422 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表