Code Monkey home page Code Monkey logo

wannacry-experiment's Introduction

WannaCry-Experiment

该资源主要复现了WannCry勒索病毒过程,包括对应的资源、文章和勒索病毒。希望对您有所帮助~

本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。

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

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

其他文件内容如下,下一篇文章会详细介绍勒索原理。

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

参考文章:

WannaCry勒索病毒复现及分析(一)Python利用永恒之蓝及Win7勒索加密
WannaCry勒索病毒复现及分析(二)MS17-010利用及病毒解析
WannaCry勒索病毒复现及分析(三)蠕虫传播机制分析及IDA和OD逆向

实验复现

WannaCry运行的整体流程推荐安天公司的框架图,如下图所示:

  • 主程序文件利用漏洞传播自身,运行WannaCry勒索程序
  • WannaCry勒索程序释放tasksche.exe,对磁盘文件进行加密勒索
  • @[email protected]显示勒索信息,解密示例文件

传播过程

其中,图中上半部分为WannaCry蠕虫的传播部分,该蠕虫通过网络进行传播,有自我复制和传播迅速等特点。传播步骤如下:

  • 连接远程域名
  • 安装并启动服务
  • 建立局域网或公网IP表,为每个IP依次创建线程
  • 尝试连接445端口,测试是否存在SMB漏洞
  • 如果存在漏洞,则发送包含动态库的Payload进行攻击
  • 执行shellcode并使用APC注入将生成的dll注入到进程lsass.exe
  • dll调用导出函数PlayGame,释放资源文件并保存为mssecsvc.exe执行,释放勒索程序tasksche.exe
  • 被攻击计算机继续使用MS17-010漏洞进行传播

勒索过程

推荐文章

为了更好帮助读者,作者将参考文献提前。下面给出下各大安全厂商及安全大佬对WannaCry蠕虫分析的文章,强烈推荐大家阅读,作者也吸取了它们的精华,在此感谢。


By:Eastmount 2020-04-27

wannacry-experiment's People

Contributors

eastmountyxz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.