前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WanaCrypt0r“想哭”勒索蠕虫数据恢复可行性分析报告

WanaCrypt0r“想哭”勒索蠕虫数据恢复可行性分析报告

作者头像
FB客服
发布2018-02-26 15:19:10
7730
发布2018-02-26 15:19:10
举报
文章被收录于专栏:FreeBufFreeBuf

目录

第一章 前言…

第二章 加密文件核心流程分析…

第三章 数据恢复可行性分析…

第四章 总结…

第一章 前言

近日,360互联网安全中心发现全球多个国家和地区的机构及个人电脑遭受到了一款新型勒索软件攻击,并于5月12日国内率先发布紧急预警。该款勒索软件在短时间内在全球范围内爆发了广泛的攻击活动,据不完全统计,它在爆发后的几个小时内就迅速攻击了99个国家的近万台设备,并在大量企业组织和个人间蔓延。外媒和多家安全公司将其命名为“WanaCrypt0r”(直译:“想哭勒索蠕虫”)。

通常,常规的勒索病毒是一种趋利明显的恶意程序,它会使用非对称加密算法加密受害者电脑内的重要文件并以此来进行勒索,向受害者索要赎金,除非受害者交出勒索赎金,否则被加密的文件无法被恢复。而新型勒索软件的“想哭勒索蠕虫”尤其致命,它利用了窃取自美国国家安全局的黑客工具EternalBlue(直译:“永恒之蓝”)实现了全球范围内的快速传播,在短时间内造成了巨大损失。继5月12日WanaCrypt0r全球攻击爆发以来,360核心安全部门对该勒索蠕虫保持了高度关注,部门各团队紧密协作,首家发布了一系列针对该蠕虫的查杀、免疫和文件恢复解决方案。

360核心安全部门追日团队深入分析病毒原理,发现了其加密数据最精准的恢复技术,使用此技术360在全球独家发布了“想哭勒索蠕虫数据恢复工具”,帮助病毒受害者恢复被蠕虫加密文件,可以达到目前最全最快的数据恢复效果,我们希望本篇技术报告可以帮助大家了解该蠕虫的核心技术原理,并对恢复被加密数据的可行性做进一步探讨。

第二章 加密文件核心流程分析

蠕虫释放一个加密模块到内存,直接在内存加载该DLL。DLL导出一个函数TaskStart用于启动整个加密的流程。

程序动态获取文件系统和加密相关的API函数,以此来躲避静态查杀。

1. 加密入口

l 调用SHGetFolderPathW获取了桌面和文档文件夹的路径,调用10004A40函数获得非当前用户的桌面和文档文件夹,分别调用EncryptFolder对文件夹进行加密操作

l 从Z倒序遍历盘符直到C,遍历两次,第一次遍历本地盘符(跳过光驱),第二次遍历移动盘符,分别调用EncryptFolder对文件夹进行加密操作

2. 文件遍历

l EncryptFolder函数是一个递归函数,递归遍历文件夹,按照下图的描述搜集文件信息:

遍历过程中排除的路径或者文件夹名称:

其中有一个很有意思的目录名“ This folder protects against ransomware. Modifying it willreduce protection”,通过Google查询,发现其是国外的一款名为ransomfree的勒索防御软件创建的防御目录。

l 在遍历文件的过程中,会获取文件信息(大小等),并且根据后缀名使用下表的规则对文件进行分类(type):

type列表1:

type列表2:

3. 文件处理队列

WanaCrypt0r为了能尽快的加密其认为重要的用户文件,设计了一套复杂的优先级队列。

队列优先级:

i. 对type2(满足后缀列表1)进行加密(小于0×400的文件会降低优先级) ii. 对type3(满足后缀列表2)进行加密(小于0×400的文件会降低优先级) iii. 处理剩下的文件(小于0×400的文件),或者其他一些文件

4. 加密逻辑

加密过程采用RSA+AES的方式完成,其中RSA加密过程使用了微软的CryptoAPI,AES代码则静态编译到DLL中。加密流程如下图所示:

使用的密钥概述:

加密后的文件格式示意:

值得注意的是,在加密过程中,程序会随机选取一部分文件使用内置的RSA公钥来进行加密,这里的目的是解密程序提供的免费解密部分文件功能。

能免费解密的文件路径在文件f.wnry中,如下:

5. 随机数填充

在完成加密之后,WanaCrypt0r会对其认为重要的文件进行随机数填充,然后将文件移动到指定的临时文件夹目录然后删除。此举用于对抗文件恢复类软件,同时兼顾加密文件的速度。

被随机数填充的文件需要满足以下几点:

n 在特殊目录(桌面,我的文档,用户文件夹) n 文件小于200M n 文件后缀在type列表1

填充的逻辑:

n 如果文件小于0×400,直接覆盖对应长度的随机数。 n 如果文件大于0×400,对文件距离末尾0×400处进行覆盖。 n 再次重定位文件指针到文件头,以0×40000大小的缓冲区为单位向写随机数直到文件末尾。

6. 文件删除操作

WanaCrypt0r首先尝试将样本移动到临时文件夹,生成一个临时文件,然后再尝试多种方法删除文件。

当采用遍历磁盘的方式加密文件的时候,会在当前盘符生成“$RECYCLE”+ 全局自增量+”.WNCYRT”(eg:”D:\$RECYCLE\1.WNCRYT”)的临时文件。特别的,当盘符为系统盘(eg:C)时,使用的是系统的临时目录(%temp%)。

之后进程以固定时间间隔启动taskdl.exe来删除临时文件夹下的文件。

第三章 数据恢复可行性分析

根据对WannaCry蠕虫的执行逻辑进行分析,该蠕虫在加密线程中会对满足条件的文件用随机数或0×55进行覆写,从而彻底破坏文件的结构并防止数据被恢复,但是只限定于特定的文件夹和特定的后缀名。也就是说该蠕虫只对满足条件的文件进行了写覆写操作,受害者机器上仍然有很多的文件未被覆写,这就为数据恢复提供了可能。

在删除线程中,蠕虫是先将源文件通过MoveFileEx函数移动到其创建的临时文件夹下,最后统一进行删除。在这个过程中源文件的文件名会发生改变,常规数据恢复软件不知道这个文件操作逻辑,导致大部分文件无法恢复,只能恢复小部分文件,恢复数据效果极差。

另一方面,因为删除操作和加密操作在不同的线程中,受用户环境的影响,线程间的条件竞争可能存在问题,从而导致移动源文件的操作失败,使得文件在当前位置被直接删除,在这种情况下被加密的文件有很大概率可以进行直接恢复。但是满足这种情形的文件毕竟是少数,如果采用常规数据恢复软件则只能恢复少量此类文件。

根据以上分析,我们发现了除系统盘外的文件,用我们精细化处理的方法进行数据恢复,被加密的文件其实是有很大概率可以完全恢复的。据此360开发了专门的恢复工具2.0版,以期帮助在此次攻击中广大的受害者恢复加密数据:

http://dl.360safe.com/recovery/RansomRecovery.exe?from=360zhuiri

继14日凌晨360全球首家发布恢复工具,为病毒受害者抢救了部分文件后。此次更新发布2.0版工具进一步挖掘病毒加密逻辑漏洞,清除病毒防止二次感染,并利用多重算法深度关联出可恢复文件并对受害者的文件进行免费解密,一站式解决蠕虫勒索软件带来的破坏,最大程度低保护了用户的数据安全,成功率遥遥领先于其他数据恢复类产品!

第四章 总结

WannaCry蠕虫的大规模爆发得益于其利用了MS-17-010漏洞,使得其在传统的勒索病毒的基础上具备了自我复制、主动传播的特性。在除去攻击荷载的情况下,勒索病毒最重要的是其勒索技术框架。勒索文件加密技术是使用非对称加密算法RSA-2048加密AES密钥,然后每个文件使用一个随机AES-128对称加密算法加密,在没有私钥和密钥的前提下要穷尽或破解RSA-2048和AES-128加密算法,按目前的计算能力和技术是不可破解的。但是作者在处理文件加密过程中的一些疏漏,大大增加了我们恢复文件的可能性,如果第一时间及时抢救,用户是能够恢复大部分数据的。

另外由于勒索赎金交付技术是使用的比特币,比特币具有匿名性,比特币地址的生成无需实名认证,通过地址不能对应出真实身份,比特币地址的同一拥有者的不同账号之间也没有关联。所以基于加密算法的不可破解特性和比特币的匿名特性,勒索病毒这类趋利明显的恶意攻击仍然会长时间流行,大家仍需要提高警惕。

360追日团队(Helios Team)

360 追日团队(Helios Team)是360公司高级威胁研究团队,从事APT攻击发现与追踪、互联网安全事件应急响应、黑客产业链挖掘和研究等工作。团队成立于2014年12月,通过整合360公司海量安全大数据,实现了威胁情报快速关联溯源,独家首次发现并追踪了三十余个APT组织及黑客团伙,大大拓宽了国内关于黑客产业的研究视野,填补了国内APT研究的空白,并为大量企业和政府机构提供安全威胁评估及解决方案输出。

已公开APT相关研究成果

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 第一章 前言
  • 第二章 加密文件核心流程分析
    • 1. 加密入口
      • 2. 文件遍历
        • 3. 文件处理队列
          • 4. 加密逻辑
            • 5. 随机数填充
            • 第三章 数据恢复可行性分析
            • 第四章 总结
            相关产品与服务
            高级威胁追溯系统
            腾讯高级威胁追溯系统(Advanced Threat Tracking System,ATTS)由腾讯安全团队构建的高级威胁追溯平台,旨在帮助用户通过该平台进行线索研判,攻击定性和关联分析,追溯威胁源头,有效预测威胁的发生并及时预警。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档