写在前面的话
GandCrab勒索软件于1月首次出现,并在其短时间中迅速发展。此恶意软件的第一个版本(1.0和1.1)有一个错误,将密钥留在内存中,因为作者没有正确使用加密函数中的标志。一家反恶意软件公司在罗马尼亚警方和欧洲刑警组织的帮助下,在NoMoreRansom.org上发布了一款免费解密工具。
恶意软件作者在俄罗斯论坛上证实了黑客攻击: 
感染方式
GandCrab使用几种感染方式:1.利用安全性较弱的远程桌面连接。2.带有链接或附件的钓鱼邮件。3.用户下载并启动包含恶意软件的合法程序。4.利用RigEK等工具包。与其他勒索软件一样,GandCrab的目标是加密受感染系统上的所有或多个文件,勒索用户。开发人员需要以加密货币(主要是DASH)付款,因为它很难追踪。恶意软件具有多样性。我们已经看到.exe格式的变体(主要形式)以及DLL格式。
版本4.0
版本4.0中最大的变化就是用于加密文件的算法。早期版本使用RSA和AES; 最新版本使用Salsa20。主要原因是速度。RSA是一种功能强大但速度慢的算法。Salsa20很快。勒索软件会检查系统的语言,如果受感染的机器以俄语或某些其他前苏联语言运行,则不会删除payload: 



版本4.1
此版本保留了Salsa20算法,修复了一些bug,并添加了一个新功能。例如,此版本的一个示例具有以下加密域的硬编码列表。(这只是此列表的一小部分。) 




VirtualAlloc和VirtualFree等函数的调用。
版本4.1.2
此版本已出现一些变体。两家安保公司透露了一种预防先前版本感染的工具。该工具会在勒索软件感染系统之前在具有特殊名称的文件夹中创建特殊文件。该文件的名称来自Windows逻辑单元硬盘值的序列号。恶意软件使用此名称进行简单计算,并在%appdata% or %program files%(基于操作系统)中使用扩展名.lock创建它。 
.lock扩展名。 
版本4.2
此版本会检测是否处于虚拟机环境,一但检测到虚拟机就会停止运行。 
0x1E,则等待一小时以启动正常进程。如果该值大于0x1E,则勒索软件完成其执行。
版本4.2.1
这个版本出现在8月1日。与之前版本不同的是,这是一条发给安全公司的短信,以及一个0day漏洞的链接,攻击该公司的一个产品。该漏洞攻击了这家公司的一个产品。代码是一个Visual Studio项目,可以很容易地重新编译。在Visual Studio中加载项目后,该代码有俄文文件夹。
版本4.3
此版本也出现在8月1日。此版本与以前的版本有以下变化:1.它删除了用于检测虚拟机的代码以及4.2版中的其他一些东西。这段代码有一些bug——无法检测到某些虚拟机。2.它针对防病毒公司的一种产品的发起攻击,该产品通过版本4.1.2的第一版发布了针对4.0版的杀毒工具。而代码出现的位置是在恶意软件加密文件之后和删除之前。 
delta调用(将delta偏移的地址放在堆栈的顶部)并添加0x11(特殊代码的大小,意味着恶意软件作者正在使用宏)到ESP寄存器中的值。ESP现在指向特殊代码块之后的地址,并在该块的操作码中间跳转。这种技术使它看起来像另一条指令,在本例中是“pop eax”,它从堆栈顶部(ESP寄存器)添加0x11后提取值。代码稍后在EAX中无条件跳转到此地址。这样勒索软件遵循其正常的代码流程。
结论
GandCrab是任何个人或企业的领先勒索软件威胁。作者使用多种方式传播它—— 包括漏洞利用工具包,钓鱼邮件,木马程序。开发人员主动更新和改进代码,以使分析更加困难。该代码不是专业编写的,并且仍然存在漏洞,但该产品在地下论坛中得到了很好的推广,并且价值也在不断增加。
*参考来源mcafee,由周大涛编译,转载请注明来自FreeBuf.COM
来源:freebuf.com 2018-08-30 13:00:20 by: 周大涛


