注:以下文章转自Anti Wann Dcryptor联盟:

http://www.wannadecryptor.cn/

一、 WannaCryptor 是如何传播?

WanaCrypotor在几周之前就被发现了,但是这款恶意勒索软件传播速度没那么严重,是什么造成了传播如此之快? ETERNALBLUE ,永恒之蓝,这个是影子经纪人泄露的NSA攻击工具,攻击window的smbv1协议,端口为445,在公网上这个端口基本屏蔽了,但是有些教育网还有内网是开放的。给 WannaCrypotor 带来了便利,因为其功能的影响性影响了很多设备。

二 Wanna Decryptor 是如何加密一个电脑?

2.1 开始工作

当一款电脑被Wanna Decrypor 植入后,这个安装工具会解压缩一个嵌入的文件到安装器的相同目录,这个嵌入的文件是有密码保护的压缩文件zip,里面有Wanna Decrytor利用和执行的文件。密码为:WNcry@2ol7

嵌入的有密码的zip文件

WannaDecryptor 会把他们加压到本地相同文件夹下,执行一些初始化安装工作,比如把恶意勒索的内容放到msg文件夹下,支持的本地化语言有:

Bulgarian, Chinese (simplified), Chinese (traditional), Croatian, Czech, Danish, Dutch, English, Filipino, Finnish, French, German, Greek, Indonesian, Italian, Japanese, Korean, Latvian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swedish, Turkish, Vietnamese

2.2 预处理

接下来 WannaCryptor 会从https://dist.torproject.org/torbrowser/6.5.1/tor-win32-0.2.9.10.zip

下载一个木马客户端,然后加压到TaskData目录,这个木马客户端被用来和暗网下的服务器做通信:

gx7ekbenv2riucmf.onion,

57g7spgrzlojinas.onion,

xxlvbrloxvriy2c5.onion,

76jdd2ir2embyv47.onion,

cwwnhwhlz52maqm7.onion.

Wana Cryptor为了加密尽可能多的文件,会执行授权命令,如下:

icacls . /grant Everyone:F /T /C /Q

这个命令是给每一个Wanna crypor用到的文件夹和子文件夹所有权限,他同时会把一些邮件服务器和数据库服务器进程关闭以做加密处理。关闭数据库命令如下:

taskkill.exe /f /im mysqld.exe

taskkill.exe /f /im sqlwriter.exe

taskkill.exe /f /im sqlserver.exe

taskkill.exe /f /im MSExchange*

taskkill.exe /f /im Microsoft.Exchange.*

然后就开始加密数据库和邮箱邮件用来进行勒索

2.3 开始加密

Wanna Decryptor 现在已经准备好可以开始加密了,它加密的文件只有这些,使用了AES和RSA加密算法:

.der, .pfx, .key, .crt, .csr, .pem, .odt, .ott, .sxw, .stw, .uot, .max, .ods, .ots, .sxc, .stc, .dif, .slk, .odp, .otp, .sxd, .std, .uop, .odg, .otg, .sxm, .mml, .lay, .lay6, .asc, .sqlite3, .sqlitedb, .sql, .accdb, .mdb, .dbf, .odb, .frm, .myd, .myi, .ibd, .mdf, .ldf, .sln, .suo, .cpp, .pas, .asm, .cmd, .bat, .vbs, .dip, .dch, .sch, .brd, .jsp, .php, .asp, .java, .jar, .class, .wav, .swf, .fla, .wmv, .mpg, .vob, .mpeg, .asf, .avi, .mov, .mkv, .flv, .wma, .mid, .djvu, .svg, .psd, .nef, .tiff, .tif, .cgm, .raw, .gif, .png, .bmp, .jpg, .jpeg, .vcd, .iso, .backup, .zip, .rar, .tgz, .tar, .bak, .tbk, .PAQ, .ARC, .aes, .gpg, .vmx, .vmdk, .vdi, .sldm, .sldx, .sti, .sxi, .hwp, .snt, .onetoc2, .dwg, .pdf, .wks, .rtf, .csv, .txt, .vsdx, .vsd, .edb, .eml, .msg, .ost, .pst, .potm, .potx, .ppam, .ppsx, .ppsm, .pps, .pot, .pptm, .pptx, .ppt, .xltm, .xltx, .xlc, .xlm, .xlt, .xlw, .xlsb, .xlsm, .xlsx, .xls, .dotx, .dotm, .dot, .docm, .docb, .docx, .doc

加密算法如下:

使用AES-128-CBC算法,先用 CSPRNG生成AES key,再把AES key 用RSA-2048加密

加密后的文件,每个客户端收到的key都是唯一的,文件被加密后没有Key的情况不能解密:每一个被加密的文件最后都会带上.WNCRY 的后缀名。

2.4 禁用开机恢复功能,提示付款勒索屏幕

最后, WannaCryptor 会执行一个命令,删除卷影副本,禁用window开机启动恢复,清除

Windows 服务备份文件,命令如下:

C:/Windows/SysWOW64/cmd.exe /c vssadmin delete shadow /all /quiet & wmic shadowcopy delete & bcdedit /set {default} boostatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet

这些命令需要管理员权限,受害者会收到一个UAC 弹框提示如下:

如果点击确认,Wanna Decryptor 2.0 锁屏就会蹦出来:

屏幕显示:该勒索软件提供免费解密数个加密文件以证明攻击者可以解密加密文件,“点击 按钮,就可以免费恢复一些文档。”该勒索软件作者在界面中发布的声明表示,“3天内付款正常,三天后翻倍,一周后不提供恢复”。

点击Check Payment 查询支付状态,恶意软件会发送一个请求到暗网的一台服务器确认是否付款,如果确认付款了,恶意软件会马上恢复你的文件,如果没付款,就会弹出如下提示:

三、 Wanna Cryptor 样本介绍

WanaCryptor 通过 NSA攻击工具进行传播,

持久性:

禁用了开机启动修复功能,使用icals 修改自启动功能,设置写入注册表感染很多进程,试图使启动出错。

样本哈希:

SHA256: ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa

相关样本文件:

主程序执行后生成文件并调用执行

/00000000.eky

/00000000.pky

/00000000.res

/@WanaDecryptor@.exe 主程序

/@WanaDecryptor@.exe.lnk

/b.wnry

/c.wnry

/f.wnry

/msg/ 本地语言化

/msg/m_bulgarian.wnry

/msg/m_chinese (simplified).wnry

/msg/m_chinese (traditional).wnry

/msg/m_croatian.wnry

/msg/m_czech.wnry

/msg/m_danish.wnry

/msg/m_dutch.wnry

/msg/m_english.wnry

/msg/m_filipino.wnry

/msg/m_finnish.wnry

/msg/m_french.wnry

/msg/m_german.wnry

/msg/m_greek.wnry

/msg/m_indonesian.wnry

/msg/m_italian.wnry

/msg/m_japanese.wnry

/msg/m_korean.wnry

/msg/m_latvian.wnry

/msg/m_norwegian.wnry

/msg/m_polish.wnry

/msg/m_portuguese.wnry

/msg/m_romanian.wnry

/msg/m_russian.wnry

/msg/m_slovak.wnry

/msg/m_spanish.wnry

/msg/m_swedish.wnry

/msg/m_turkish.wnry

/msg/m_vietnamese.wnry

/r.wnry

/s.wnry

/t.wnry

/TaskData/ 木马客户端程序

/TaskData/Data/

/TaskData/Data/Tor/

/TaskData/Tor/

/TaskData/Tor/libeay32.dll

/TaskData/Tor/libevent-2-0-5.dll

/TaskData/Tor/libevent_core-2-0-5.dll

/TaskData/Tor/libevent_extra-2-0-5.dll

/TaskData/Tor/libgcc_s_sjlj-1.dll

/TaskData/Tor/libssp-0.dll

/TaskData/Tor/ssleay32.dll

/TaskData/Tor/taskhsvc.exe

/TaskData/Tor/tor.exe

/TaskData/Tor/zlib1.dll

/taskdl.exe

/taskse.exe

/u.wnry

/wcry.exe

注册表修改项:

HKCU/Software/Microsoft/Windows/CurrentVersion/Run/[random] “安装目录/tasksche.exe”

HKCU/Software/WanaCrypt0r/

HKCU/Software/WanaCrypt0r/wd 安装目录

HKCU/Control Panel/Desktop/Wallpaper “安装目录/Desktop/@WanaDecryptor@.bmp”

四、Wanna Cryptor 逆向深入分析样本

逆向分析了母体安装,解压缩资源,预处理,加密,和设置弹窗和桌面背景等操作流程

4.1 是否执行恶意操作开关

下面的网址是个开关,如果连接成功则退出,不执行任何恶意功能,否则开始执行恶意功能:

4.2 传播和安装后再加密和其他辅助恶意操作

检查命令行参数个数,如果没有参数,则执行相关的安装操作(2.1),否则说明样本以服务的方式启动,执行服务的派遣例程(2.2)。

4.2.1 安装操作分为2个步骤:

创建并启动服务(服务带参数,启动的服务执行步骤2.2操作):

4.2.2 加载资源,写入文件C:/WINDOWS/tasksche.exe,并执行(负责磁盘文件加密等恶意操作):

4.3 服务的派遣例程(利用SMB漏洞进行传播):

4.4 以下为新创建的进程tasksche.exe的操作:

拷贝样本到C:/Intel/hhuypkdu230目录:

首先这个进程会尝试两种方式执行解压缩和加密等相关操作,如果两个方式任意一种成功,本进程都会退出,否则由本进程执行相关操作。

第一种尝试方式:

为新目录的样本文件创建服务,并启动之:(此服务负责执行加密磁盘等操作)

等待互斥体Global//MsWinZonesCacheCounterMutexA0,如果等待失败,则说明上一步启动的服务没有完成加密的任务:

第二种方式:

启动新目录的文件,继续等待互斥体Global//MsWinZonesCacheCounterMutexA0:

如果新创建的进程依然没有完成加密磁盘的任务,则本进程亲自执行。

4.5 解压缩资源文件,模拟加载PE文件,调用其导出函数TaskStart去执行加密操作

设置注册表HKLM/SOFTWARE/WanaCrypt0r/wd,值为当前进程样本所在目录:

创建cmd进程:

读取t.wnry的内容,验证后解密,模拟LoadLibrary加载,获取并调用其导出函数TaskStart:

模拟LoadLibrary加载后进入模块入口:

调用导出函数TaskStart:

4.6 TaskStart加密等操作:

检查互斥体MsWinZonesCacheCounterMutexA,如果存在则进程退出:

获取互斥体Global//MsWinZonesCacheCounterMutexW,如果成功,则进一步获取互斥体Global//MsWinZonesCacheCounterMutexA0(前文中提到过):

如果此处检查不通过,或者存在文件00000000.dky,说明已经加密完成,则:创建通知线程,线程中循环执行如下操作:

创建taskse.exe进程(以@WanaDecryptor@.exe路径为参数):

taskse.exe的作用:枚举所有Session,在每个Session中创建传入的参数进程:

创建@WanaDecryptor@.exe进程:

创建cmd.exe进程写入注册表,实现样本自启动:

如果检查通过:

循环创建taskdl.exe进程

,删除加密过程中的临时文件:

创建多个线程,遍历并加密磁盘文件。

创建上上面用于提示的线程

将解压缩得到的u.wnry拷贝为@WanaDecryptor@.exe:

当前目录下创建随机名称.bat文件,向其中写入批处理脚本,执行之:

批处理脚本用于创建@WanaDecryptor@.exe的快捷方式:

关闭数据库和邮箱系统的进程:

删除影卷备份,禁止开机启动修复等持久化操作过程

设置桌面背景和弹窗

五、防御方案和修复方法

1、及时更新操作系统补丁

2、关闭445等端口(其他关联端口如: 135、137、139)的外部网络访问权限,在服务器上关闭不必要的上述服务端口

3、加强对445等端口(其他关联端口如: 135、137、139)的内部网络区域访问审计,及时发现非授权行为或潜在的攻击行为

4、定期在不同的存储介质上备份信息系统业务和个人数据

5、 window停止更新的系统补丁,xp补丁已经验证,请尽快下载打好补丁

由于本次Wannacry蠕虫事件的巨大影响,微软总部刚才决定发布已停服的XP和部分服务器版特别补丁https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/

6、开启防火墙

WannaCryptor 勒索蠕虫样本深度技术分析相关推荐

  1. 勒索病毒WannaCry深度技术分析——详解传播、感染和危害细节

    一.综述 5月12日,全球爆发的勒索病毒WannaCry借助高危漏洞"永恒之蓝"(EternalBlue)在世界范围内爆发,据报道包括美国.英国.中国.俄罗斯.西班牙.意大利.越南 ...

  2. Bluesky勒索软件深度技术分析

    0 1. 背景介绍 勒索软件作为一种流行的木马,近年来已成为最为常见的安全威胁之一.与其他威胁不同,勒索软件先向受害者表明自己的身份,再通过加密的方式使用户数据资产或计算资源无法正常使用,而恢复数据资 ...

  3. 802.11ac深度技术分析

    802.11ac 是专门为5GHz频段设计,特有的新射频特点,能够将现有的无线局域网的性能吞吐提高到可以与有线千兆级网络相媲美的程度,其采用了众多的技术,如更密的调制模式.更宽的信道带宽.更多的空间流 ...

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

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

  5. 权威报告】WanaCrypt0r勒索蠕虫完全分析报告

    0x1 前言 360互联网安全中心近日发现全球多个国家和地区的机构及个人电脑遭受到了一款新型勒索软件攻击,并于5月12日国内率先发布紧急预警,外媒和多家安全公司将该病毒命名为"WanaCry ...

  6. 深度学习Dropout技术分析

    深度学习Dropout技术分析 什么是Dropout? dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃.注意是暂时,对于随机梯度下降来说,由于是随机 ...

  7. Petya勒索病毒爆发,腾讯安全反病毒实验室首发技术分析

    本文讲的是Petya勒索病毒爆发,腾讯安全反病毒实验室首发技术分析,据twitter爆料,乌克兰政府机构遭大规模攻击,其中乌克兰副总理的电脑均遭受攻击,目前腾讯电脑管家已经确认该病毒为Petya勒索病 ...

  8. 宏碁再次遭遇勒索病毒攻击、谷歌分析8000万个勒索软件样本|10月15日全球网络安全热点

    安全资讯报告 MyKings僵尸网络仍然活跃并赚取大量资金 MyKings僵尸网络(又名Smominru或DarkCloud)仍在积极传播,在它首次出现在野外五年后,通过加密货币赚取了大量资金. 作为 ...

  9. [翻译]震荡波蠕虫技术分析(振荡波蠕虫技术分析)

    [翻译]震荡波蠕虫技术分析(振荡波蠕虫技术分析) 本帖被 EvilOctal 从 论坛原创{ Original Paper } 移动到本区(2007-03-19) 文章翻译:冰血封情 [E.S.T] ...

最新文章

  1. List for game to play latter
  2. Java 虚拟机经典六问
  3. UVa 10652 (简单凸包) Board Wrapping
  4. unbuntu安装阿里云
  5. 一名运营,自学一年前端,成功入职杭州某独角兽企业,他的面试经验和学习方法等分享...
  6. php zend 多个站错误,php – 如何显示Zend框架抛出的异常错误
  7. NXP Pico i.MX7D上安装Android Things系统疑难杂症汇总
  8. bzoj千题计划254:bzoj2286: [Sdoi2011]消耗战
  9. 系统性能评价的关键指标指标
  10. Esri和IBM通过“代码集结号”全球挑战赛携手应对气候变化
  11. 关于Button控件的CommandName属性用法的一个实例
  12. String类基本介绍及常用方法
  13. 《21世纪资本论》阅读摘要
  14. CentOS7 网络安装版本 设置基础软件仓库出错
  15. GitHub 中国区前 100 名到底是什么样的人
  16. selector wakeup
  17. 7、共享模式的文件服务器
  18. 什么样的岗位会最先被人工智能 (AI) 取代?
  19. android WebView加载视频只有声音没有画面
  20. opencv:对`cv :: DescriptorMatcher‘的未定义引用

热门文章

  1. 拉普拉斯变换与闭环系统稳定探讨
  2. LaTex\TexStduio设置参考文献Bibtex
  3. 【MOGDB/openGauss的txid_snapshot 数据类型和相关函数】
  4. 【Axure教程】中继器手风琴
  5. 手写识别文字软件有哪些?看完你就知道了
  6. 创建vue3项目(vite+js)
  7. CPU维护及故障处理
  8. 联想微型计算机B3O5,触摸电视功能 联想B3系列一体电脑评测
  9. MySQL多表查询之(自连接)
  10. 戏人看戏--什么是Web3.0?区块链又是什么?如何写一个web3.0的界面?