Git Product home page Git Product logo

ms17-010's Introduction

MS17-010

This repository is for public my work on MS17-010. I have no plan to do any support. All support issues will not get response from me.

Files

  • BUG.txt MS17-010 bug detail and some analysis
  • checker.py Script for finding accessible named pipe
  • eternalblue_exploit7.py Eternalblue exploit for windows 7/2008
  • eternalblue_exploit8.py Eternalblue exploit for windows 8/2012 x64
  • eternalblue_poc.py Eternalblue PoC for buffer overflow bug
  • eternalblue_kshellcode_x64.asm x64 kernel shellcode for my Eternalblue exploit. This shellcode should work on Windows Vista and later
  • eternalblue_kshellcode_x86.asm x86 kernel shellcode for my Eternalblue exploit. This shellcode should work on Windows Vista and later
  • eternalblue_sc_merge.py Script for merging eternalblue x86 and x64 shellcode. Eternalblue exploit, that support both x86 and x64, with merged shellcode has no need to detect a target architecture
  • eternalchampion_leak.py Eternalchampion PoC for leaking info part
  • eternalchampion_poc.py Eternalchampion PoC for controlling RIP
  • eternalchampion_poc2.py Eternalchampion PoC for getting code execution
  • eternalromance_leak.py Eternalromance PoC for leaking info part
  • eternalromance_poc.py Eternalromance PoC for OOB write
  • eternalromance_poc2.py Eternalromance PoC for controlling a transaction which leading to arbitrary read/write
  • eternalsynergy_leak.py Eternalsynergy PoC for leaking info part
  • eternalsynergy_poc.py Eternalsynergy PoC for demonstrating heap spraying with large paged pool
  • infoleak_uninit.py PoC for leaking info from uninitialized transaction data buffer
  • mysmb.py Extended Impacket SMB class for easier to exploit MS17-010 bugs
  • npp_control.py PoC for controlling nonpaged pool allocation with session setup command
  • zzz_exploit.py Exploit for Windows 2000 and later (requires access to named pipe)

Anonymous user

Anonymous user (null session) get more restriction on default settings of new Windows version. To exploit Windows SMB without authentication, below behavior should be aware.

  • Since Windows Vista, default settings does not allow anonymous to access any named pipe
  • Since Windows 8, default settings does not allow anonymous to access IPC$ share (IPC$ might be acessible but cannot do much)

About NSA exploits

  • Eternalblue requires only access to IPC$ to exploit a target while other exploits require access to named pipe too. So the exploit always works against Windows < 8 in all configuration (if tcp port 445 is accessible). However, Eternalblue has a chance to crash a target higher than other exploits.
  • Eternalchampion requires access to named pipe. The exploit has no chance to crash a target.
  • Eternalromance requires access to named pipe. The exploit can target Windows < 8 because the bug for info leak is fixed in Windows 8. The exploit should have a chance to crash a target lower than Eternalblue. I never test a reliable of the exploit.
  • Eternalsynergy requires access to named pipe. I believe this exploit is modified from Eternalromance to target Windows 8 and later. Eternalsynergy uses another bug for info leak and does some trick to find executable memory (I do not know how it works because I read only output log and pcap file).

ms17-010's People

Contributors

helviojunior avatar worawit 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.