Tuesday, August 24
Windows DLL Injection Vulnerability
Most of the security world has now heard about the vulnerability that was reported by hdmoore regarding the linking of malicious dll files by using remote shares in the windows filesystem. This issue has also been discussed at slashdot by many users.
Since metasploit is constantly updated with the latest public exploits, I decided to try this one out to see how easy it really is on the Windows 7 platform. Here is the coles notes and results of my attempts.
1. Prep my test environment. I use a Windows 7 box fully patched running Windows Defender as my primary Windows work environment. I also have the convenience of using VMware fusion to virtualize the environment so it was easy to clone my installation to create a sample copy. I made sure to use the host-only networking so I can isolate the Windows box with metasploit.
2. I updated my metasploit environment running on my OSX host. A quick svn update gave me the latest code. Version 10133 checked out.
3. I opened msfconsole and loaded the "windows/browser/webdav_dll_hijacker" exploit. I also set the payload to be the "windows/meterpreter/reverse_tcp" to get an interactive session with the exploited box. You need to set some options to have it work, so I set the RHOST and SRVHOST variables to my internal host IP address 192.168.32.1.
4. The last option to set is with the exploit, and I chose to give the file extension ppt and pptx for the exploited file to trigger an opening of Microsoft's Powerpoint application. This names the resulting files to policy.ppt and policy.pptx.
5. Type "exploit" and my listener is started and a webserver is created to host the two exploitable files.
6. On the Windows 7 box, I enter "http://192.168.1.32/documents/" into the address bar. The browser notices that this is a webdav supported server and loads explorer to display the remote files in the browser window.
7. Double clicking on the ppt file alerts me that the browser is trying to access a share that requires additional privileges and asks me to confirm the operation, which I do - I really want to test the exploit!
8. I choose allow to accept the executable attempt to run, and the exploit is run on the Windows 7 box. I confirm by checking that there is an active session in meterpreter.