25.03.2017 Views

LPE vulnerabilities exploitation on Windows 10 Anniversary Update

eJwXM6v

eJwXM6v

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

• Arbitrary read<br />

Arbitrary read via USER objects<br />

1. tagITEM structure is located <strong>on</strong> desktop heap. <strong>Windows</strong> API<br />

GetMenuItemInfo is using this fact to read item’s c<strong>on</strong>tent from<br />

usermode. So, if we replaced tagITEM pointer in tagMENU to<br />

arbitrary kernel address, we have to use another api, which can get<br />

info from kernel mode.<br />

2. GetMenuItemRect is able to do that, but it returns result in specific<br />

format.<br />

3. GetMenuItemRect reads 2 fields – tagITEM.cxItem, tagITEM.cyItem,<br />

so we can calculate 64-bit value from 2 dwords.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!