GithubHelp home page GithubHelp logo

Comments (23)

0xh4di avatar 0xh4di commented on July 2, 2024

use python3

from bluekeep_cve-2019-0708_poc_to_exploit.

brizzbane avatar brizzbane commented on July 2, 2024

I am. The point I am making removing the supposed sending of the shellcode, you will get the same result as with it.

from bluekeep_cve-2019-0708_poc_to_exploit.

terrafying avatar terrafying commented on July 2, 2024

read the source...

from bluekeep_cve-2019-0708_poc_to_exploit.

brizzbane avatar brizzbane commented on July 2, 2024

I did.

It looks to me like what he is printing out in the readme:

[ + ] <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('192.168.137.1', 64251), raddr=('192.168.137.201', 3389)>

is the socket that is initially created for starting the exploit (i.e. line 297). Which has nothing to do with a payload actually being sent.

This can be confirmed by commenting out any lines that have anything to do with sending payload/shellcode.

@terrafying, or the author, I'd love to see a screen cap of an actual connect back (using this code)--if by "read the source..." you mean you have it working.

from bluekeep_cve-2019-0708_poc_to_exploit.

terrafying avatar terrafying commented on July 2, 2024

Oh i interpreted what you said wrong, then. That's exactly what it does; the print is kinda meaningless.
Anyway, all I can do is BsOD it by sending tons of garbage in that last packet.

from bluekeep_cve-2019-0708_poc_to_exploit.

terrafying avatar terrafying commented on July 2, 2024

Also I don't get what the author even means by using the unicorn framework, which gives you powershell output that would be used to inject shellcode into memory, which is what we're already doing.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

Also I don't get what the author even means by using the unicorn framework, which gives you powershell output that would be used to inject shellcode into memory, which is what we're already doing.

This vulnerability could execute arbitrary code on the target system, I was using the unicorn framework to do the job. That's all, nothing special.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

Research Needed

from bluekeep_cve-2019-0708_poc_to_exploit.

terrafying avatar terrafying commented on July 2, 2024

So you're saying kernel pool/heap spraying isn't a thing?

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

It is.

from bluekeep_cve-2019-0708_poc_to_exploit.

je6k avatar je6k commented on July 2, 2024

Have you successfully executed any code?

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

I have tried to supply the code through both plaintext and various encoded versions. No luck so far.

from bluekeep_cve-2019-0708_poc_to_exploit.

GossiTheDog avatar GossiTheDog commented on July 2, 2024

It won't ever work as you need to spray etc, you can't just paste in shellcode.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

So far, I probably don't posses the skill of doing so. However, I'll do some research on this topic. Thanks for your guidance.

from bluekeep_cve-2019-0708_poc_to_exploit.

brizzbane avatar brizzbane commented on July 2, 2024

I messed w/it for several days...and yea, from what I read--you aren't going to get anywhere pasting shellcode. Regardless if its encoded correctly etc. I think the shellcode has to be specifically crafted for THIS vulnerability ...so that it 'hits' (I'm super newb), the right process/dll/whatever that the exploit has granted it access to.

I think just sending the shellcode puts it in memory (maybe), but doesn't really do anything with it. I took n1xbyte/CVE-2019-0708, update, and looked at his code....looked at the differences between x32 bit and 64 bit, took what was the 'same', and then added the shellcode on to that--hoping maybe he had some idea what he was doing, and the beginning of that code was hitting what it needed to...

but anyways, I guess my point is, ...theres a good chance you probably need to know what you are doing (beyond programming skills), to be able to take advantage of the exploit and get a shell.

[edit]

also, you do:

tls.sendall(bytes(allpacl2, "latin-1"))

and then info(results) (line 411), which is still defined as the socket that was created to start executing the original code, line 302:
results = socket_connection(tpkt.getData(), ip, receive_size=1024)

(Which really doesn't tell you anything).

In the original POC, it suggests doing something like, results = tls.sendall(bytes(allpacl2, "latin-1")), and then printing out THAT 'results', so you can get the actual response of what you just sent...

but to avoid confusion, imho, I'd do something like:

my_test = tls.sendall(bytes(allpacl2, "latin-1"))

or whatever. Use another name other than results. You have line 412 commented out, but if you would do results = tls.sendall, ...then when it trys to close the socket (line 412), it's no longer referencing the socket, and you'll get an error saying something about a string.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

I messed w/it for several days...and yea, from what I read--you aren't going to get anywhere pasting shellcode. Regardless if its encoded correctly etc. I think the shellcode has to be specifically crafted for THIS vulnerability ...so that it 'hits' (I'm super newb), the right process/dll/whatever that the exploit has granted it access to.

I think just sending the shellcode puts it in memory (maybe), but doesn't really do anything with it. I took n1xbyte/CVE-2019-0708, update, and looked at his code....looked at the differences between x32 bit and 64 bit, took what was the 'same', and then added the shellcode on to that--hoping maybe he had some idea what he was doing, and the beginning of that code was hitting what it needed to...

but anyways, I guess my point is, ...theres a good chance you probably need to know what you are doing (beyond programming skills), to be able to take advantage of the exploit and get a shell.

[edit]

also, you do:

tls.sendall(bytes(allpacl2, "latin-1"))

and then info(results) (line 411), which is still defined as the socket that was created to start executing the original code, line 302:
results = socket_connection(tpkt.getData(), ip, receive_size=1024)

(Which really doesn't tell you anything).

In the original POC, it suggests doing something like, results = tls.sendall(bytes(allpacl2, "latin-1")), and then printing out THAT 'results', so you can get the actual response of what you just sent...

but to avoid confusion, imho, I'd do something like:

my_test = tls.sendall(bytes(allpacl2, "latin-1"))

or whatever. Use another name other than results. You have line 412 commented out, but if you would do results = tls.sendall, ...then when it trys to close the socket (line 412), it's no longer referencing the socket, and you'll get an error saying something about a string.

Thanks for your information. It is not an easy task. I am working on several different version of this PoC, and it's easy to confuse between each of them. I will refine my code and see what the actual response is. Much appreciated.

from bluekeep_cve-2019-0708_poc_to_exploit.

Dimanp00 avatar Dimanp00 commented on July 2, 2024

Some additional techinacl details about this CVE
https://www.malwaretech.com/2019/05/analysis-of-cve-2019-0708-bluekeep.html

from bluekeep_cve-2019-0708_poc_to_exploit.

0x0kasaku avatar 0x0kasaku commented on July 2, 2024

I have used the unicorn to generate my own shellcode, and use the msf to listen the port. The poc is running successfully, but i don't get the reverse shell !!! Can you help me ?

from bluekeep_cve-2019-0708_poc_to_exploit.

brizzbane avatar brizzbane commented on July 2, 2024

@0x0kasaku, the POC is not running successfully. Even though it informs you that it is 'infected', indeed, it is not.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

@0x0kasaku, the POC is not running successfully. Even though it informs you that it is 'infected', indeed, it is not.

info(infected) is executed through the execution of the program. However, at this stage, it does not indicate the success of the exploit. I would comment it out to avoid confusion.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

I have used the unicorn to generate my own shellcode, and use the msf to listen the port. The poc is running successfully, but i don't get the reverse shell !!! Can you help me ?

This is not some simple exploit templates where you can just pop in your payload and expect it to work. We are still researching the correct method of delivery, and please (x10) do some research yourself before posting comments like "It doesn't work". Script kiddies looking for easy exploit is not welcomed.

from bluekeep_cve-2019-0708_poc_to_exploit.

rwhitcroft avatar rwhitcroft commented on July 2, 2024

People are confused because you're contradicting yourself.

The README literally says "working shell code", but that's wrong. Then you said you have to generate your own payloads with unicorn, which is also wrong. Then when you run the code, you get the "infected" message, which is meaningless because there's no check for success.

from bluekeep_cve-2019-0708_poc_to_exploit.

algo7 avatar algo7 commented on July 2, 2024

People are confused because you're contradicting yourself.

The README literally says "working shell code", but that's wrong. Then you said you have to generate your own payloads with unicorn, which is also wrong. Then when you run the code, you get the "infected" message, which is meaningless because there's no check for success.

Apology for causing confusions. the README has been updated and the "info(infected!)" which was used as a programming trace was also removed.

from bluekeep_cve-2019-0708_poc_to_exploit.

Related Issues (20)

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.