您现在的位置: 华盟网 >> Hack >> 牧马天地 >> 正文

[组图]新型恶意勒索软件DMA Locker分析

2016/2/23 作者:东二门陈冠希 来源: freebuf
导读 DMA Locker是今年早些时候出现的一款勒索软件。目前为止该勒索软件的影响范围比较小,但我们还是想提醒您,它仍然存在。

  

图片1.png

  DMA Locker是今年早些时候出现的一款勒索软件。目前为止该勒索软件的影响范围比较小,但我们还是想提醒您,它仍然存在。

  0×01 样本

  d35344b1f48764ba083e51438121e6a9—波兰语版本2(2016.1)<-主要分析这个样本

  4190df2af81ece296c465e245fc0caea—英文版本2(2016.1)

  6fbd3cdcafd6695c384a1119873786aa—波兰语版本1(2016.12)

  //特别感谢这些恶意软件的收集者:@PhysicalDrive0,@JAMESWT_MHT和@siri_urz。

  0×02 行为分析

  当勒索软件运行时,软件移至C:\ProgramData (或者C:\Documents and Settings\All Users\Dokumenty\),重命名为fakturax.exe,随后释放另一个修改后的备份:ntserver.exe。而faktura.exe在执行完后即被删除了。不同版本的勒索软件可能会在该目录下释放不同的文件。

  

图片2.png

  这种勒索软件通常会弹出一个红色的窗口。目前为止,有两种语言版本,波兰语和英语。下面显示的英文版本:

  

图片3.png

  早期的版本的GUI稍微有些不同(同样有波兰语和英文版本)。

  

图片4.png

  其他勒索软件的解密过程是分离的,与之相反的是DMA locker的解密过程是内建的。从该软件GUI的提示框中可以看到。如果用户在文本框中键入密钥(32个字符串长度)然后点击按钮,程序就会切换到解密模式(使用提供的密钥):

  

图片5.png

  这个程序不是很稳定,在解密的时候容易崩溃掉。在一些旧的版本中有时在加密过程中就会崩溃掉—但是在显示发生了什么事的任何信息之前,这可能会使受害者非常混乱。更麻烦的是没有改变文件的扩展名。所以目前可见的征兆就是受害人不能打开他们的一些文件。

  新版本还增加了自动执行的key。其中一个部署程序的拷贝,另一个显示txt格式的勒索金额(通过记事本)。然而,这个备份(DMA Locke 41:55:16:13:51:76:67:99ntserver.exe)经常不能释放成功,仅仅释放记事本。

  

图片6.png

  0×03检测

  目前已经被Malwarebytes Anti-Malware检测出来了Ransom.DMALocker:

  

图片7.png

  0×04 尝试

  根据勒索软件的提示,作者声称数据是被AES和RSA加密的。现在看看这个文件。首先可以看到加密的内容总是重复的图案,加密效果相当低级。

  左边—原始的BMP图片。右边—被DMA加密的BMP

  

图片45.png

  

图片45.png
图片8.png

  现在比较更多的文件,看看被DMA加密之后是怎么变化的。

  Example 1 – HTML files:

  比较原始文件:

  

图片9.png

  比较加密后的文件:

  

图片10.png

  Example 2 – PNG files:

  比较原始文件:

  

图片11.png

  比较加密后的文件:

  

图片12.png

  可以看到,原始文件的头部是一样的,加密文件头部也是一样的。似乎加密的是一些数据块,可能是8或者16个字节一次加密。从PNG文件可以看出,从0×10处开始加密的数据就不同了,然而在0×10,0×11。。。处都是0。

  0×05 剖析

  这个勒索软件目前来看是分布式的,并且不具备反分析的能力。所有用到的字符串和API函数均是普通文本。实际上,该恶意软件甚至“帮助”了分析人士,通过其提供的一系列调试的字符串(原文+译文):

  [+] Plik jest aktualnie zaszyfrowany, pomijanie.. //The file is already encrypted, skipping..

  [*] Rozmiar pliku = %I64d bajtow.. //File size = %I64d bytes..

  [+] Rozpoczeto szyfrowanie pliku: %s //Started encrypting the file: %s

  [+] Zakonczono szyfrowanie pliku: %s //Finished encrypting the file: %s

  [+] Rozpoczeto zapisywanie z pamieci do pliku: %s //Started dumping from memory to a file: %s

  [+] Zakonczono zapisywanie z pamieci do pliku: %s //Finished dumping from memory to a file: %s

  [*] Plik jest aktualnie odszyfrowany, pomijanie.. //The file is already decrypted, skipping..

  [+] Rozpoczeto deszyfrowanie pliku: %s //Started decrypting file: %s

  [+] Zakonczono deszyfrowanie pliku: %s //Finished decrypting file: %s

  Alokacja, error: %d //Allocation error: %d

  DMA Locker

  Otwieranie pliku: %d //Opening file: %d

  感谢这些日志,找到了代码比较重要的一部分。

  程序一执行起来,一个新的线程部署开来—作用是检查下列进程:

  rstrui.exe

  ShadowExplorer.exe

  sesvc.exe

  cbengine.exe

  如果其中一个被检测到,那么恶意软件就会终止它。在部署了这个线程的日志之后。(波兰语):

  “阻塞系统恢复进程”

  

图片13.png

  这个恶意软件包括两个黑名单而不是一系列的攻击扩展名,一个是目录:

  

图片14.png

  另一个是文件的扩展名:

  

图片15.png

  在他们包括的黑名单子串的文件直接被跳过。

  恶意软件枚举所有的文件—浏览系统盘,在网络畅通情况下—尝试加密每个文件(除了黑名单)

  

图片16.png

  一个简单的标志判断恶意软件是加密模式还是解密模式:

  

图片17.png

  加密(解密也是)在一个新的线程中部署。

  

图片18.png

  加密密钥

  加密的密钥32位长。在最新的版本中,恶意软件的key是在原始文档的最后硬编码的,然后读取。然而,过程复杂。

  在执行的过程中,两个原始文件的备份被释放:fakturax.exe 和 ntserver.exe,但是只有fakturax.exe才包含Key, 在ntserver.exe中被清楚了。在读取完这个key之后,fakturax.exe被删除了,而且这个Key也随之丢失。这是为何呢,通过原始文件的副本(如果我们知道感染源那这个就不是问题,例如,恶意文件通过e-mail获得),我们可以很简单的恢复这个key,。

  测试这些版本的恶意软件(上述提及的版本2,例如,4190df2af81ece296c465e245fc0caea),这个就足以从原始文件的末端找到key。(警告:这不是本样品的原始密钥。这是仅仅是演示它是如何工作的以及在哪里能够找到真正的Key。试图恢复文件之前,请确保您所做的备份,以防万一,如果在其他一些版本的算法是不同的)

  

图片19.png

  将其键入文本框:

  

图片20.png

  为了能够找到所有的文件。

  加密算法

  作者声称他使用的是AES和RSA算法。在代码里这些看起来是怎样的呢?

  文件被一块一块的加密,一个单元是16个字节(4 dwords)。Key是32位长,在加密之前已经做了预处理。这两个元素—预处理的key和输入文件的数据块—都是被拷贝进一个缓冲区中,这个缓冲区作为加密的中间过程。

  下面是一个样本文件:square.png被加密函数加密。使用的Key:”11111…”。(拷贝的文件的数据块在图片当中被选中了)

  

图片21.png

  加密之后(输出标记为灰色):

  

图片22.png

  输出之后又被拷贝进原始缓冲区中,包括整个文件。每个加密的文件都有前缀“ABCXYZ11”,一个有趣的值,这个被勒索软件用来确认加密文件(这个在新版本中有介绍)。下面我们可以看到dump至磁盘上的样本文件:

  

图片23.png

  16个字节长度的数据块文件被AES的ECB模式加密。

  0×06总结

  首先,并不是所有的恶意软件作者说的都是实话。这里的Key文件既不是RSA加密也不是随机生成的,而是保存在原始文件中。

  第二,立刻删除恶意软件也不是最好的解决方法,有时候我们需要其恢复数据。

  如果你遭遇到勒索软件,在做任何事之前记得要尽量收集其信息。万一你找不回数据,最好的办法是将其放到一些有名的门户或者专业论坛上去让人分析。我们正在收集各种威胁的样本,尝试去解决这些问题。

                  微信群名称:华盟黑白之道二群     华盟-黑白之道⑦QQ群: 9430885

  • 上一篇Hack:

  • 下一篇Hack: 没有了
  • 网友评论
      验证码
     

    关注

    分享

    0

    讨论

    2

    猜你喜欢

    论坛最新贴