wannacry病毒作者_wannacry病毒利用了哪种漏洞

wannacry病毒作者_wannacry病毒利用了哪种漏洞1.样本概况1.1样本信息病毒名称:Trojan-Ransom.Win32.Wanna.m所属家族:木马/勒索/蠕虫MD5:DB349B97C37D22F5EA1D1841E3C89EB4SHA1:E889544AFF85FFAF8B0D0DA705105DEE7C97FE26CRC32:9FBB12271.2测试环境及工具…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1.样本概况
 
1.1样本信息

病毒名称:Trojan-Ransom.Win32.Wanna.m

所属家族:木马/勒索/蠕虫

MD5: DB349B97C37D22F5EA1D1841E3C89EB4

SHA1: E889544AFF85FFAF8B0D0DA705105DEE7C97FE26

CRC32: 9FBB1227

 

1.2测试环境及工具

VMware + win7 32位 + PEID + OD + IDA + 火绒剑 + PCHunter
 
 
2.病毒行为
wannacry病毒作者_wannacry病毒利用了哪种漏洞

大量文件被加密,后缀名为.WNCRY

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

每隔一段时间弹出勒索窗口

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

桌面背景被强制更换

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

3.恶意代码分析

病毒执行后会尝试连接 http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

进入fun_enterCry之后通过判断参数的个数来执行相应的流程。
当参数>=2,进入服务流程 否则进入病毒主流程

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

服务流程
创建服务启动,每次开机都会自启动

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

从内存中读取MS17_010漏洞利用代码,payload分为x86和x64两个版本

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

分别创建两个线程,扫描内网和外网,进行蠕虫传播感染

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

对于内网,则直接扫描当前计算机所在的网段进行感染

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

对于外网,随机生成公网IP,尝试连接445端口 

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

连接445端口

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

如果445端口连接成功,则对该地址进行漏洞攻击

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

病毒主流程
加载资源,并把资源写入”C:\windows\tasksche.exe”

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

接着执行tasksche.exe

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

依照目录找到tasksche.exe 

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

把使用到的一些API地址赋值给全局变量

wannacry病毒作者_wannacry病毒利用了哪种漏洞

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

加载 t.wncy 文件, 并执行t.wncy的 TaskStart函数

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

此处我们无法继续使用IDA往下分析,因为t.wncy的内容是动态申请出来的,我们使用OD把这块内存dump出来,再使用IDA分析

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

接下来继续使用IDA分析

创建互斥体

wannacry病毒作者_wannacry病毒利用了哪种漏洞

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

初始化全局变量(一些使用到的API)

wannacry病毒作者_wannacry病毒利用了哪种漏洞

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

检查互斥体是否存在

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

检查00000000.dky和00000000.pky是否存在,是否是配对的,如果是返回1,否则返回0

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

如果已经加密过,则创建一个线程,做三件事情
1.更新c.wncy

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

2.启动 @WanaDecryptor@.exe

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

3.设置启动项

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

如果没有加密过,初始化秘钥,保存到00000000.pky, 00000000.eky。
生成一个8字节的随机数

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

接着创建5个线程

线程1每隔25秒 更新全局时间标记 循环写入数据到00000000.res,包括上面生成的8字节的随机数

wannacry病毒作者_wannacry病毒利用了哪种漏洞

wannacry病毒作者_wannacry病毒利用了哪种漏洞

线程2 每隔5秒检查00000000.dky和00000000.pky是否存在,以及密钥是否配对,是则设置全局标志,然后退出线程

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

线程3 每隔3秒检测磁盘盘符是否发生变化,如果发生变化 则开启线程 加密新磁盘的文件 

wannacry病毒作者_wannacry病毒利用了哪种漏洞

线程4 每隔30秒 运行 taskdl.exe 清除所有磁盘的回收站文件

线程5 和 判断已加密完成的做一样工作

 

创建快捷方式,生成提示文件 , 枚举文件,为加密做准备

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

强制结束相关进程,防止加密时文件被占用

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

遍历文件

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

判断文件类型

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

会加密以下文件类型

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

 

比较路径 是否是不加密的,保证系统正常运行

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

创建AES秘钥,加密文件

wannacry病毒作者_wannacry病毒利用了哪种漏洞

 

 加密流程图

 wannacry病毒作者_wannacry病毒利用了哪种漏洞

加密流程:
加密文件的算法是AES, 而AES秘钥被RSA公钥_B加密, 私钥_B 被RSA公钥A 加密, 而私钥_A在攻击者手里

 

加密文件格式:
对文件进行加密时,首先会生成新的AES秘钥,使用RSA公钥_B对生成的AES秘钥进行加密,保存到要加密文件的开头部分,(在WANACRY!)标识符之后,随后使用AES秘钥对文件进行加密
wannacry病毒作者_wannacry病毒利用了哪种漏洞
解密流程:
每个被加密的文件均使用不同的AES秘钥,若想对文件进行解密操作,需要先获取RSA私钥_B, 将文件头的AES秘钥进行解密,再使用AES秘钥对文件进行解密,而要获得RSA私钥_B则必须要获取私钥_A,私钥_A是在攻击者手里,理论上文件也就无法被解开

 

3.解决方案
3.1 打补丁,此病毒能大范围传播正是由于很多机器没有打补丁,被攻击之后导致中毒,没有中毒的机器,尽快打补丁可以避免中毒,但是已经中毒的打补丁也没用了
3.2 关闭端口 此病毒所利用漏洞只要利用445端口传播,关闭端口漏洞就无法利用
3.3 创建互斥体 此办法只适用于未变种版本,由于病毒会检测是否创建互斥体MsWinZonesCacheCounterMutexA,用户可自行创建此互斥体,这样病毒检测到互斥体就不会进行加密操作
3.4 因为病毒是生成加密过的用户文件后再删除原始文件,所以存在通过文件恢复类工具恢复原始未加密文件的可能。但是因为病毒对文件系统的修改操作过于频繁,导致被删除的原始文件数据块被覆盖,致使实际恢复效果有限。且随着系统持续运行,恢复类工具恢复数据的可能性会显著降低。

 

4.结语
此病毒通过远程高危漏洞进行自我传播复制,并且加密文件采用了高强度的双RSA+AES加密,至少目前来说激活成功教程秘钥是不可能的,只能通过预防的方式来防御,勤打补丁,关闭445、139等端口,及时安装安全软件

 

转载于:https://www.cnblogs.com/wensday/p/9099386.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183992.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Wireshark网络流量分析工具

    Wireshark网络流量分析工具Wireshark网络流量分析工具安装使用yum安装wireshark遇到的问题http://blog.chinaunix.net/uid-11828817-id-2816828.htmlrpm-qawireshark#yuminstall-ywiresharkwireshark-gnome…

    2022年5月24日
    39
  • 系统日志管理[通俗易懂]

    系统日志管理[通俗易懂]1、日志的查看日志可以记录下系统所产生的所有行为,并按照某种规范表达出来。我们可以使用日志系统所记录的信息为系统进行排错,优化系统的性能,或者根据这些信息调整系统的行为。收集你想要的数据,分析出有价值的信息,可以提高系统、产品的安全性,可以帮助开发完善代码,优化产品。日志会成为在事故发生后查明“发生了什么”的一个很好的“取证”信息来源。日志可以为审计进行审计跟踪。系统用久了偶尔也会出现一

    2022年4月29日
    26
  • ssh登录linux

    ssh登录linux2018-9-6上一篇提到用ssh登录centos好处很多,许多linux系统管理员都在用ssh。在windows下ssh客户端主要有puTTY、Xshell、secureCRT、sshsecureshell。linux下有openssh,这是个命令行工具。这篇主要将puTTY和Xshell的使用。puTTYpuTTY是开源免费软件。放恶意软件,建意到官网下载,或者百度、360、搜…

    2022年10月28日
    0
  • P1983 [NOIP2013] 车站分级(拓扑排序)[通俗易懂]

    P1983 [NOIP2013] 车站分级(拓扑排序)[通俗易懂]原题链接题目描述一条单向的铁路线上,依次有编号为 1, 2, …, n1,2,…,n的 nn个火车站。每个火车站都有一个级别,最低为 11 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 xx,则始发站、终点站之间所有级别大于等于火车站xx 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是55趟车次的运行情况。其中,前44 趟车次均满足要求,而第 55 趟车次由于停靠了 33 号火车站(22 级)却未停靠途经的 66 号火车站(亦为

    2022年8月8日
    3
  • sql学生选课管理系统[通俗易懂]

    sql学生选课管理系统[通俗易懂]一、概要设计1.1目的和意义学生选课系统作为一种现代化的教学技术,被广泛应用于学校的学生选课,是一个学校不可或缺的部分,学生选课系统使管理选课信息更加简单,学生选课更加方便。学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的无条理性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。在选课时间内,学生能够使用选课系统灵活的修

    2022年10月9日
    0
  • mysql 联合主键_Mysql 创建联合主键[通俗易懂]

    mysql 联合主键_Mysql 创建联合主键[通俗易懂]Mysql创建联合主键2008年01月11日星期五下午5:21使用primarykey(fieldlist)比如:createtablemytable(aaint,bbchar(8),ccdate,primarykey(aa,bb));aa,bb为联合主键不知道是不是因为mysql(6.0)的版本问题,还是各版本都是这种情况,mysql中创建联合主键,联合主键列名之外…

    2022年6月16日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号