Friday, July 20, 2007

More URI Stuff... (IE's Resouce URI)

The resource (res://) protocol is built into Internet Explorer 4.0 and later. Typically, the resource protocol is used to pull resources like images, html, xsl... etc from DLLs and executables. You've probably seen the resource protocol in use and didn't even realize it (take a look at the properties for the images on a typical IE error page). The resource URI (like other URIs) has access to software on YOUR local file system. So, it's possible to call the resource URI from a remote web page, use the resource URI to check for the presence of certain executables and DLLs, then report back to a remote server whether that file exists or not. So in essence, an attacker can use the resource URI to:

  • Enumerate the software on your machine

  • In many cases, determine the exact version of software enumerated

  • Use the enumerated software list to target specific exploits and attacks


The software doesn't have to be "installed" for this to work... simply having the executable on your system can also allow for enumeration. I've posted a proof of concept HERE. The PoC should work for pretty much all versions of IE (including IE7).  If you want more information about using the resource URI, check out our paper - URI Use and Abuse.


Now, before Firefox users start snickering, Firefox had a similar issue which was fixed recently. Their issue involved the "resource:" URI supported by Firefox browsers. Besides... FireFox has other URI handling vulnerabilities they should be worried about....

13 comments:

  1. The problem still exists in Firefox but in my IE v 6.0.2800.1106 SP1 it doesn't appear

    ReplyDelete
  2. [...] (BK) Rios posted this information on his blog and we thought it would be a good idea to make sure people know about [...]

    ReplyDelete
  3. I tired your POC and none of the programs it listed was on my machine. 2 were there, but have been gone for months lol. Nice POC none the less!

    ReplyDelete
  4. wicked, works perfectly.

    ReplyDelete
  5. [...] res - http://xs-sniper.com/blog/2007/07/20/more-uri-stuff-ies-resouce-uri/ [...]

    ReplyDelete
  6. Nice PoC... definitely revealed some of my apps and 'tools'. Just discovered your site and will continue to read your papers, keep up the good work.

    ReplyDelete
  7. [...] This method of using the res:// protocol to enumerate installed software was documented by Billy Rios in 2007. Rios explains that the res:// protocol, which was built into Internet Explorer since [...]

    ReplyDelete
  8. [...] This method of using the res:// protocol to enumerate installed software was documented by Billy Rios in 2007. Rios explains that the res:// protocol, which was built into Internet Explorer since [...]

    ReplyDelete
  9. [...] This method of using the res:// protocol to enumerate installed software was documented by Billy Rios in 2007. Rios explains that the res:// protocol, which was built into Internet Explorer since [...]

    ReplyDelete
  10. [...] web-based scripts that caused earlier versions of Microsoft’s Internet Explorer browser to divulge detailed information about the software used by the compromised account [...]

    ReplyDelete
  11. [...] web-based scripts that caused earlier versions of Microsoft’s Internet Explorer browser to divulge detailed information about the software used by the compromised account [...]

    ReplyDelete
  12. [...] This method of using the res:// protocol to enumerate installed software was documented by Billy Rios in 2007. Rios explains that the res:// protocol, which was built into Internet Explorer since [...]

    ReplyDelete