“永恒之蓝”WannaCry勒索病毒分析报告

2017-05-13   

WannaCry勒索病毒 通过windows操作系统漏洞EternalBlue永恒之蓝 发起攻击。3月14 微软已经发布补丁,由于很多受害者没有及时安装补丁,导致被病毒攻击,计算机中的文件被加密。

一. 背景介绍

WannaCry勒索病毒 通过windows操作系统漏洞EternalBlue永恒之蓝 发起攻击。3月14 微软已经发布补丁,由于很多受害者没有及时安装补丁,导致被病毒攻击,计算机中的文件被加密。

二. 详细分析

病毒分为漏洞利用模块,加密器,解密器

攻击逻辑如下:

攻击者发起攻击,被攻击机器由于存在漏洞,导致自身中毒。中毒之后漏洞利用模块启动,漏洞利用模块运行之后,释放加密器和解密器,启动攻击线程,随机生成ip地址,攻击全球。加密器启动之后,加密指定类型的文件。文件全部加密之后,启动解密器。解密器启动之后,设置桌面背景显示勒索信息,弹出窗口 显示付款账号和勒索信。威胁用户指定时间内不付款文件无法恢复。

漏洞利用模块分析

1.启动之后判断命令行参数,是否已经释放文件。如果没有释放文件则释放文件,启动释放的加密器,把自身设置为服务。

图-创建服务

病毒主程序 伪装为微软安全中心

图-伪装为服务

从资源中解密文件

图-从资源中释放出加密器

拼凑路径

图-拼凑加密器释放的路径

释放加密器

图-释放加密器

启动加密器

图-启动加密器程序

2.如果服务创建成功,则启动服务进入服务函数,创建线程 执行相应功能

图-随机生成攻击IP

图-利用漏洞攻击生成的IP

攻击线程中构造exploit 发送漏洞利用程序数据包

复制shellcode

图-构造漏洞利用数据包

发送数据包 利用漏洞攻击攻击生成的IP

图-收发数据包

图-发送漏洞利用数据包

随机生成IP 攻击全球主机

图-被攻击IP

加密器分析

加密器启动之后复制自身到C:\ProgramData\dhoodadzaskflip373(不同的系统会复制到不同的目录)目录下

图-复制自身并启动

创建服务 使用cmd命令启动自身 防止被结束进程

创建服务

图-创建服务 防止被结束

各参数信息

图-服务信息

创建互斥体 防止运行多个实例

MsWinZonesCacheCounterMutexA

创建注册表键值

图-创建注册表键值

从资源中解密出相关文件

包括提权模块taskse.exe 、 清空回收站模块taskdl.exe、解密器程序@WanaDecryptor@

还有一些 语言资源文件和 配置文件

图-加密器释放的文件

然后随机从三个比特币钱包中选取一个 作为勒索显示信息

图-比特币钱包地址

把释放的文件夹 所有文件 设置为隐藏属性

图-释放的文件设置为隐藏

遍历查找文件

图-遍历文件

判断是否是不感染的路径

图-判断路径

判断是否是要加密的文件类型

图-判断文件类型

读取文件并加密

图-读取文件

删除原来的文件 只保留加密后的文件

图-删除原文件

病毒会加密指定类型的文件

图-加密的文件类型

加密后的文件添加后缀 .WNCRYT

图-被加密的文件后缀

加密完成之后运行解密器 弹出勒索窗口

解密器分析

解密器运行之后会删除windows自动备份 无法还原被加密的文件

图-删除备份

修改桌面背景 显示勒索信息

图-勒索信息

弹出勒索窗口,显示比特币钱包地址和付款金额

图-勒索弹窗

解决方案

1.打补丁

由于此次勒索病毒大范围传播是由于很多机器没有打补丁,被攻击之后导致中毒。没有中毒的机器,尽快打补丁可以避免中毒。

2.关闭端口

由于此漏洞需要利用445端口传播,关闭端口 漏洞就无法利用

关闭端口详细方法见附录

3.创建互斥体

由于加密器,启动之后会检测是否已经有加密器程序存在,防止互相之间干扰,所以会创建互斥体MsWinZonesCacheCounterMutexA。只要检测到互斥体存在就会关闭程序。安全软件可以利用这一点 让病毒运行之后自动退出,无法加密文件。

附录 关闭端口方法

设置本机防火墙策略阻止本机445端口访问

1)WindowsXP 防火墙设置方法:

2)Win7/Win8/Win10防火墙设置方法:

启用防火墙

高级设置

新建入站规则

创建端口过滤规则

指定协议类型和端口号

阻止连接

规则应用到全部

[责任编辑:瑞瑞]