欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

对Anatova勒索软件进行一番深度分析后发现,它可能是新旧两代勒索技术的分水岭!

来源:本站整理 作者:佚名 时间:2019-05-29 TAG: 我要投稿

今年1月,迈克菲实验室(McAfee Labs)发现了一款攻击威力远胜于 Ryuk 的勒索软件,该勒索软件通常将自己伪装成流行的游戏或者应用程序欺骗用户下载执行,运行后,它会主动请求管理员权限以便对用户磁盘文件进行加密,之后再索取赎金。根据对Anatova的分析可以发现该勒索软件的开发者是一个经验十足的恶意代码编写者,至今发现的多个样本中包含了不同的密钥和部分不同的函数,该勒索软件还预留了模块化扩展的功能,因此其可能衍生出更多的恶意行为。当前主要在美国和欧洲部分国家发现了该勒索软件的踪迹,该勒索软件有简单的绕过分析设备的功能,并根据系统语言版本决定是否进行加密勒索行为,使用了RSA+Salsa20的方式进行加密,中招后不交赎金进行文件解析的可能性非常低。
需要说明的是,Anatova是在一个私有P2P网络中被发现的。在经过了初步分析以及确保其客户已经受到了保护之后,迈克菲实验室决定将这一发现公之于众。
从不同角度来对Anatova进行深度分析
现在距离Anatova的出现已经过了快5个月了,不过对它的分析还都停留在最粗浅的水平(就像前言里分析的那样),本文,我们将深入分析Anatova攻击时的技术细节。这些细节在以前都没有被发现过,也没有在其它报道中被提及过。深入分析该勒索软件,我们将会对它可能发生的概率和攻击模式有个准确的把握。
本文所分析的具体细节大概包括:
1.Anatova用于删除卷影副本(Volume Shadow Copy)的实际指令;
2.收集Anatova试图终止的进程的所有名称的列表;
3.Anatova避免感染的所有文件夹、文件和扩展名;
4. Anatova如何终止一个进程;
5.当检测到一个目标用户时,Anatova如何从内存中删除自己的攻击痕迹。
希望这些信息能帮助其他研究人员分析他们将来可能遇到的这种勒索软件和类似的恶意软件。
Anatova勒索软件是一个64位恶意软件,目前在野外运行,目前FortiGuard实验室的研究人员很少能看到纯碎的64位勒索软件,因为它们要适应32位设备的要求。
没有明显被攻击的症状
一旦Anatova勒索软件开始在目标设备上执行,它就会删除“ANATOVA.TXT”文件的副本,该副本包含带有DASH支付地址的赎金通知。每个受感染的文件夹都会包含此通知,以方便受害者知道怎么与幕后人联系。
图1含有赎金地址通知信息:

与其他勒索软件不同,Anatova发起攻击后,没有明显的症状。其他勒索软件在攻击完成后,都会在受害者的设备上出现闪烁和闪亮的赎金图像,明确告诉他们的设备被感染。但对于Anatova来说,除非你已经看过ANATOVA.TXT文件,或者你注意到你的某些数据文件已经加密,否则你无法确定设备是否被攻击了。
不显示可见症状应该是Anatova比较高明的攻击策略,值得注意的是,它要求的支付赎金还要求用Dash币(达世币),而不是更常见的门罗币(Monero)或比特币。达世币是一种基于比特币的,致力于更加匿名化;更快支付效率;以及平稳系统升级的支付类虚拟货币。
解析API
就像任何典型的恶意软件一样,Anatova试图隐藏其API名称,以避免仍然严重依赖于字符串检测的杀毒扫描程序。为了解析API地址,恶意软件从加密名称数组中解密API名称,并调用GetProcAddress API。
然后,恶意软件使用简单的XOR指令来解析API名称。它使用一个单字节密钥来解析名称中的每个字符字节,并且每个API的单字节密钥是不同的。
图2显示了一些API名称及其被解析后所包含的字符串:

该列表显示目前已被解析的kernel32 API。另外,该恶意软件还解析了CryptAcquireContextW,CryptGenRandom,CryptReleaseContext,CryptGenKey,CryptExportKey,CryptDestroyKey,CryptImportKey,GetUserNameW,CryptEncrypt,CryptBinaryToStringA和ShellExecuteW API。
Mutex(互斥锁)
mutex一般用于为一段代码加锁,以保证这段代码的原子性(atomic)操作,即:要么不执行这段代码,要么将这段代码全部执行完毕。
在解析这些名称的进程中,恶意软件在解析了kernel32.dll中需要的所有API之后,创建了一个名为“6a8c9937zFIwHPZ309UZMZYVnwScPB2pR2MEx5SY7B1xgbruoO”的mutex。
(避免对一些用户进行攻击)
Anatova试图避免感染一些使用特定用户名的计算机系统,比如:
LaVirulera
tester
Tester
analyst
Analyst
lab
Lab
malware
Malware
如果匹配了与以上列表中相同的用户名,则Anatova将终止执行。
从列表中可以看出,这些用户名是设备或系统使用的常见用户名,而这些用户名经常被用于蜜罐分析中。可见Anatova的反追踪能力是非常强的。另外,这些名称也在恶意软件内被加密了,且使用与解析API相同的解析技术。
以上所说的只是Anatova执行攻击之前的反检测功能,在最终执行之前,还要经过很多步骤。首先,Anatova将包含已解析API的内存位置清除,并删除具有mutex名称的内存位置。接下来,它使用VirtualProtect API将.text部分的一部分内存保护更改为PAGE_EXECUTE_READWRITE,然后将其清除。之后它将内存保护更改回PAGE_EXECUTE_READ。 Anatova通过仅将可执行代码的上半部分清零,从而避免清除当前正在执行的代码。
随后,Anatova将包含当前代码的内存保护更改为PAGE_EXECUTE_READWRITE。然后调用memset函数清除当前代码的内存位置,从而有效地将自己从内存中删除。
图3显示了恶意软件清除API和代码部分前后的代码。左侧仍包含恶意软件代码的上半部分,而另一侧已被清除:

大多数恶意软件一旦找到某个攻击标记,比如用户名,只需终止自身的运行,就会停止其恶意执行。不过这样做,通常也会在内存中留下攻击痕迹。但是Anatova希望在它停止其恶意执行之前,清除内存位置,以确保没有留下任何攻击痕迹。

[1] [2] [3]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载