Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Win 1909 Enterprise socket timeout #9

Open
0xShkk opened this issue Jun 4, 2020 · 14 comments
Open

Win 1909 Enterprise socket timeout #9

0xShkk opened this issue Jun 4, 2020 · 14 comments

Comments

@0xShkk
Copy link

0xShkk commented Jun 4, 2020

Followup on #5 (comment)

@chompie1337
Copy link
Owner

hi, how many times have you tried? what is the stop code? thank you

@MagicNieh
Copy link

Hi. My stop code is "overwrote HalpInterruptController pointer, should have execution shortly...", but I didn't get shell.

@0xShkk
Copy link
Author

0xShkk commented Jun 5, 2020

Hello,

have tried it like 5 times or so.
Everytime the bluescreen was immediately trigged without the python script giving me any output but immediately timeout (because windows was down obviously).

BUT I was trying it again just now and discovered that I have accidentally used python version 2.7.18 which forces the described crash reliably..

Windows error code:

KMODE EXCEPTION NOT HANDLED

Sorry for confusion!

Tried it again then with python3 like 10 times.

Get this result every time:

python3 exploit.py -ip 192.168.100.51
[+] found low stub at phys addr 13000!
[+] PML4 at 1aa000
[+] base of HAL heap at fffff7e380000000
[+] found PML4 self-ref entry 162
Traceback (most recent call last):
File "exploit.py", line 466, in
do_rce(args.ip, args.port)
File "exploit.py", line 429, in do_rce
search_hal_heap(ip, port)
File "exploit.py", line 325, in search_hal_heap
phys_addr = get_phys_addr(ip, port, index)
File "exploit.py", line 262, in get_phys_addr
pte_buff = read_physmem_primitive(ip, port, pte)
File "exploit.py", line 206, in read_physmem_primitive
buff = try_read_physmem_primitive(ip, port, phys_addr)
File "exploit.py", line 221, in try_read_physmem_primitive
buff = sock.recv(1000)
socket.timeout: timed out

@0xShkk 0xShkk changed the title Win 1909 Enterprise Bluescreen only Win 1909 Enterprise socket timeout Jun 5, 2020
@0xShkk
Copy link
Author

0xShkk commented Jun 5, 2020

Got Bluescreen now with correct execution (py3)

Win error:

IRQL NOT LESS OR EQUAL

@0xShkk
Copy link
Author

0xShkk commented Jun 5, 2020

Get BLs now reliable with IRQL NOT LESS OR EQUAL error after second to fourth execution of exploit.py

@chompie1337
Copy link
Owner

Hi. My stop code is "overwrote HalpInterruptController pointer, should have execution shortly...", but I didn't get shell.

did you replace payload like it says in the README?

@MagicNieh
Copy link

Thank you for your reply. I have reproduced it successfully.

@Stab1el
Copy link

Stab1el commented Jun 12, 2020

Thank you for your reply. I have reproduced it successfull

could you please show your successful working environment? Since I got read primitive failed on Vmware + win10 1909

@wanghualei2
Copy link

hello,I can't find low_stub,can you tell why your code write so,do you study some paper?

@wanghualei2
Copy link

what is low stub? why you write so to get it?

@MagicNieh
Copy link

Thank you for your reply. I have reproduced it successfull

could you please show your successful working environment? Since I got read primitive failed on Vmware + win10 1909

This exploit code has a low success rate. I tried it more than ten times before it succeeded once.

@chompie1337
Copy link
Owner

Reducing the number of processor cores in the VM increases reliability due to the physical read primitive.

@chompie1337
Copy link
Owner

chompie1337 commented Jun 17, 2020

what is low stub? why you write so to get it?
I got the idea from Alex Ioenscu's research. It is to have a reliable way to defeat KASLR with only a physical read primitive. It may not present on all VMs, but I've seen it on most.
Here's the talk, relevant portion @ 38 minutes
https://www.youtube.com/watch?v=RSV3f6aEJFY

@wanghualei2
Copy link

I think your code only success on win10 with UEFI,I always failed on win10 with BIOS.DO you have some suggestion?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants