The presentation discusses the exploitation of a vulnerability in the Windows operating system using fuzzing and a type confusion vulnerability in the debug help library. The speaker explains how they were able to bypass the enhanced protected mode sandbox in Internet Explorer and run code at medium level.
- The speaker used fuzzing to find a vulnerability in the debug help library in Windows
- They exploited a type confusion vulnerability in the library to bypass the enhanced protected mode sandbox in Internet Explorer
- The exploit allowed the speaker to run code at medium level
- The speaker split the exploit functionality into two pdb files, one to spray the memory of wherefold and the other to trigger the vulnerability
- The speaker was able to spray the memory of wherefold by creating a large pdb file with a repeated pattern and mapping it into memory using the map view of file API
- The bug help library maps the entire pdb file into memory regardless of its size and does not unmap it until sim initialize exits
- The speaker was able to hijack the execution flow and call any absolute address they wanted in the context of wherefold
The speaker found that if a 32-bit executable crashes, the 32-bit version of wherefold is spawned for crash handling, making exploitation of the vulnerability much easier. They were able to spray the memory of wherefold by creating a large pdb file with a repeated pattern and mapping it into memory using the map view of file API. By splitting the exploit functionality into two pdb files, the speaker was able to trigger the vulnerability in the context of wherefold and run code at medium level.