0x1 前言


360互联网安全中心近日发现全球多个国家和地区的机构及个人电脑遭受到了一款新型勒索软件攻击,并于5月12日国内率先发布紧急预警,外媒和多家安全公司将该病毒命名为“WanaCrypt0r”(直译:“想哭勒索蠕虫”),常规的勒索病毒是一种趋利明显的恶意程序,它会使用加密算法加密受害者电脑内的重要文件,向受害者勒索赎金,除非受害者交出勒索赎金,否则加密文件无法被恢复,而新的“想哭勒索蠕虫”尤其致命,它利用了窃取自美国国家安全局的黑客工具EternalBlue(直译:“永恒之蓝”)实现了全球范围内的快速传播,在短时间内造成了巨大损失。360追日团队对“想哭勒索蠕虫”国内首家进行了完全的技术分析,帮助大家深入了解此次攻击!

0x2 抽样分析样本信息


MD5: DB349B97C37D22F5EA1D1841E3C89EB4

文件大小: 3,723,264

影响面:除Windows 10外,所有未打MS-17-010补丁的Windows系统都可能被攻击

功能:   释放加密程序,使用RSA+AES加密算法对电脑文件进行加密勒索,通过MS17-010漏洞实现自身的快速感染和扩散。

0x03 蠕虫的攻击流程


该蠕虫病毒使用了ms17-010漏洞进行了传播,一旦某台电脑中招,相邻的存在漏洞的网络主机都会被其主动攻击,整个网络都可能被感染该蠕虫病毒,受害感染主机数量最终将呈几何级的增长。其完整攻击流程如下

0x04 蠕虫启动逻辑分析


1.蠕虫启动时将连接固定url: http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

a)如果连接成功,则退出程序

b)连接失败则继续攻击

2.接下来蠕虫开始判断参数个数,小于2时,进入安装流程;大于等于2时,进入服务流程.

a)安装流程

i.创建服务,服务名称: mssecsvc2.0

参数为当前程序路径 –m security

ii.释放并启动exe程序

移动当前 C:\WINDOWS\tasksche.exe到 C:\WINDOWS\qeriuwjhrf

释放自身的1831资源(MD5: 84C82835A5D21BBCF75A61706D8AB549),到C:\WINDOWS\tasksche.exe,并以 /i参数启动

b)服务流程

i.服务函数中执行感染功能,执行完毕后等待24小时退出.

ii.感染功能

初始化网络和加密库,初始化payload dll内存.

a)Payload包含2个版本,x86和x64

b)功能为释放资源到c:\windows\mssecsvc.exe并执行

启动线程,在循环中向局域网的随机ip发送SMB漏洞利用代码

0x05 蠕虫利用漏洞确认


通过对其中的发送的SMB包进行分析,我们发现其使用漏洞攻击代码和https://github.com/rapid7/metasploit-framework 近乎一致,为Eternalblue工具使用的攻击包。

蠕虫 SMB数据包:

Eternalblue工具使用的MS17-010 SMB数据包:

https://github.com/RiskSense-Ops/MS17-010/tree/master/exploits/eternalblue/orig_shellcode

文件内容在DB349B97C37D22F5EA1D1841E3C89EB4中出现

orig_shellcode文件内容:

DB349B97C37D22F5EA1D1841E3C89EB4 文件:

0x06 蠕虫释放文件分析


蠕虫成功启动后将开始释放文件,流程如下:

释放文件与功能列表,如下:

0x07 关键勒索加密过程分析


蠕虫会释放一个加密模块到内存,直接在内存加载该DLL。DLL导出一个函数TaskStart用于启动整个加密的流程。程序动态获取了文件系统和加密相关的API函数,以此来躲避静态查杀。

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

使用的密钥概述:

目前加密的文件后缀名列表:

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

能免费解密的文件路径在文件f.wnry中

0x08 蠕虫赎金解密过程分析


首先,解密程序通过释放的taskhsvc.exe向服务器查询付款信息,若用户已经支付过,则将eky文件发送给作者,作者解密后获得dky文件,这就是解密之后的Key

解密流程与加密流程相反,解密程序将从服务器获取的dky文件中导入Key

可以看到,当不存在dky文件名的时候,使用的是内置的Key,此时是用来解密免费解密的文件使用的。

之后解密程序从文件头读取加密的数据,使用导入的Key调用函数CryptDecrypt解密,解密出的数据作为AES的Key再次解密得到原文件。

总结


该蠕虫在勒索类病毒中全球首例使用了远程高危漏洞进行自我传播复制,危害不小于冲击波和震荡波蠕虫,并且该敲诈者在文件加密方面的编程较为规范,流程符合密码学标准,因此在作者不公开私钥的情况下,很难通过其他手段对勒索文件进行解密,同时微软已对停止安全更新的xp和2003操作系统紧急发布了漏洞补丁,请大家通过更新MS17-010漏洞补丁来及时防御蠕虫攻击。

原文地址: http://bobao.360.cn/learning/detail/3853.html

权威报告】WanaCrypt0r勒索蠕虫完全分析报告相关推荐

  1. WanaCrypt0r勒索蠕虫完全分析报告

    WanaCrypt0r勒索蠕虫完全分析报告 0x1 前言 360互联网安全中心近日发现全球多个国家和地区的机构及个人电脑遭受到了一款新型勒索软件攻击,并于5月12日国内率先发布紧急预警,外媒和多家安全 ...

  2. Morto蠕虫病毒分析报告

    文章目录 样本信息 病毒现场复现 分析过程 Loader部分 Payload部分 病毒查杀 样本信息 名称:cache.txt SHA1:a5f83e3baae0df2cdcf5b7e9e862705 ...

  3. 计算机应用基础分析与报告,y计算机应用基础出题分析报告.doc

    y计算机应用基础出题分析报告 计算机应用基础出题分析报告 本次计算机应用基础抽考试题按照2011年甘肃省三校生高考考试标准,重在考查学生对windows xp和office办公软件基本概念.基本操作的 ...

  4. 大学计算机试卷分析报告,(最新整理)大学试卷分析报告

    <(最新整理)大学试卷分析报告>由会员分享,可在线阅读,更多相关<(最新整理)大学试卷分析报告(6页珍藏版)>请在人人文库网上搜索. 1.完整)大学试卷分析报告(完整)大学试卷 ...

  5. 软件测试计划与测试分析报告,软件测试计划与测试分析报告.doc

    软件测试计划与测试分析报告.doc 软件测试计划与测试分析报告 概述: 测试目的:系统地测试软件从安装到使用的全过程的正确性.稳定性,以发现并纠正潜在的错误. 运行环境:拟进行测试的环境: 硬件环境: ...

  6. android 手机九宫格解锁实验报告,Android数独游戏实验分析报告.pdf

    本科生实验报告 实验课程 Android 课程设计数独游戏 学院名称 信息科学与技术学院 专业名称 物联网工程 学生姓名 学生学号 指导教师 实验地点 实验成绩 二〇一五 年 十 月 二〇一五 年 十 ...

  7. 切片分析报告格式_疫情舆情分析研判报告怎么撰写?2020舆情报告格式

    ​疫情舆情分析研判报告撰写不像疫情舆情信息监测与搜集工作那么容易,它需要从数据出发,以内容为支撑,要先对疫情舆情信息进行整理汇总,再处理.分析和研判.因此,报告撰写难度大,毕竟它是整个舆情分析研判最终 ...

  8. 【产品人生】<基础认知>产品分析方法产品体验分析报告撰写

    目录 一.什么是好的产品: 1.产品的定义: 2.好产品必备要素: 3.如何做好产品: 二.项目开发流程: 三.产品的声明周期: 四.产品常用方法论: 产品矩阵图谱: 三级火箭: SWOT分析法: 5 ...

  9. 网上舆情分析报告写作框架及六大技巧

    舆情分析报告主要是指对舆情信息或某一舆情事件经过深入调查,进行相关信息汇总整理,综合分析,将具体情况和问题以报告形式进行反馈.因此,不同类型的舆情分析报告其需分析的点是有所不同的,但一般最基本的舆情分 ...

最新文章

  1. Spring Boot集成Sharding-jdbc + Mybatis-Plus实现分库分表
  2. Syncfusion教程:在Xamarin.Forms中创建数据输入表单 (3)
  3. mxnet制作人脸识别训练集
  4. 【转】线性代数的几何意义
  5. Docker镜像上传至私有仓库
  6. mysql2012用户名_SQL Server 登录名、服务器角色、用户名和数据库角色 --- 解释
  7. unistd.h linux,Linux 标准库下的unistd.h
  8. mq java 开发_Java后台开发ActiveMQ使用指南
  9. 美国插画家Mike Bear作品欣赏
  10. springboot的基础面试题
  11. 十大笔记本电脑排行_2020双十一,十大高性价比游戏笔记本电脑值得买排行榜之搭载144Hz电竞屏机型(配置推荐)福利放送...
  12. step7启动不了的问题
  13. java mac算法_银行业加密算法,MAC算法算法(java-国密)
  14. ubuntu装指定分区_Ubuntu安装过程中如何手动指定分区
  15. 计算机辅助翻译在翻译实践中的应用,计算机辅助翻译在翻译实践中的应用
  16. 天下码农苦外包公司久矣
  17. oracle数据库一个汉字占几个字节
  18. 2022华为杯E题思路分析
  19. vue的axios两种写法(不知道对不对,仅供参考)
  20. LoRa 数据速率,码片速率,符号速率

热门文章

  1. (四)JS学习笔记 - 模式 - 观察者模式
  2. [导入]MsAjax Lib- Array.remove 函数
  3. 当对项目强名时自动构建失败(TeamFoudationServer试用笔记)
  4. Python学习笔记:访问数据库
  5. Mathematica常用命令
  6. 基于VTK与Qt的体绘制程序
  7. 云炬60s看世界20211127
  8. 学长毕业日记 :本科毕业论文写成博士论文的神操作20170407
  9. [:zh]<界面编程>任务二 用户注册界面设计[:]2018-01-24
  10. 6 个核心理念!诠释了吴恩达新书《Machine Learning Yearning》