by cocoruder(frankruer_at_hotmail.com)http://ruder.cdut.net Summary: 百度超级搜霸是百度公司出品的一款免费的浏览器工具栏,提供百度公司的种种服务。更多信息请参考: http://bar.baidu.com/sobar/promotion.html 在百度超级搜霸中的一个ActiveX控件中存在一个远程代码执行破绽,远程攻击者可利用此破绽在被攻击者系统上以当前浏览器权限执行随便代码,进而可安装木马以及特工程序。 Affected Software Versions: 百度超级搜霸5.4(Version of "BaiduBar.dll" is 2.0.2.) Details: 破绽存在于由ActiveX控件"BaiduBar.dll"导出的"DloadDS()"函数中,相关信息如下: InprocServer32: C:\Program Files\baidu\bar\BaiduBar.dllClassID : A7F05EE4--F--C41EE9E9 [id(0xd), helpstring("method DloadDS")]void DloadDS([in] BSTR bstrUrl, [in] BSTR bstrName, [in] long lShow); 若是把bstrUrl设置成某个服务器上的CAB文件,DloadDS()函数会实验下载这个文件到TEMP目录并解压,然后执行其中的以bstrName命名的文件,执行处的要害代码如下: .text:F lea eax, [ebp-28h].text:F40A lea ecx, [ebp-10h].text:F40D push eax ; lpProcessInformation.text:F40E lea eax, [ebp-6Ch].text:F push eax ; lpStartupInfo.text:F push esi ; lpCurrentDirectory.text:F push esi ; lpEnvironment.text:F push esi ; dwCreationFlags.text:F push esi ; bInheritHandles.text:F push esi ; lpThreadAttributes.text:F push esi ; lpProcessAttributes.text:F push esi.text:F call sub_ ; get the CommandLine.text:F.text:F41E push eax ; lpCommandLine.text:F41F push esi ; lpApplicationName.text:F call ds:CreateProcessA 此时lpCommandLine指向"C:\DOCUME~1\administrator\LOCALS~1\Temp\calc.exe",由于之前没有任何有用的检查措施,因此攻击者可组织包罗木马或者特工程序的CAB文件,然后用DloadDS()函数下载并运行它。因此,有破绽的百度搜霸相当于一个完善的后门。 How to Reproduce: Exploit在如下URL地址: http://ruder.cdut.net/attach/baidu_soba/baidu_soba_exploit.html 安装百度搜霸, 用IE打开它并点击"DowndloadCalcAndRun"按纽,你会发现计数器程序(在http://ruder.cdut.net/attach/calc.cab)被下载并执行。 若是你无法找到受影响的版本,带有数字签名的百度搜霸5.4版在如下地址也可以下载到: http://ruder.cdut.net/attach/baidu_soba/setup.exe 此文件的MD5值:7FAAF42E92FDD0AF3FFE9AB Solution: Baidu通知已经修复了此破绽,但实际上,从http://bar.baidu.com/sobar/promotion.html下载的Baidu搜霸依旧受到影响(MD5值没变,不外可能是在线更新未乐成),强烈建议用户对此CLSID设置Killbit。 Disclosure Timeline: .07.19 破绽发现并通知厂商.07.19 厂商回应.07.23 厂商通知新版本公布但不公布公告.07.24 新版本未公布乐成.08.01 厂商再次通知新版本公布,但仍未完全修复20