漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0124016
漏洞标题:通过逻辑缺陷撸穿金山安全套装(含具体分析)
相关厂商:金山毒霸
漏洞作者: cssembly
提交时间:2015-07-02 08:20
修复时间:2015-08-16 09:10
公开时间:2015-08-16 09:10
漏洞类型:未授权访问/权限绕过
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-07-02: 细节已通知厂商并且等待厂商处理中
2015-07-02: 厂商已经确认,细节仅向厂商公开
2015-07-12: 细节向核心白帽子及相关领域专家公开
2015-07-22: 细节向普通白帽子公开
2015-08-01: 细节向实习白帽子公开
2015-08-16: 细节向公众公开
简要描述:
程序只需要起个好名字,然后增加注册表项,就能够实力大增,撸穿金山安全套装
详细说明:
ksapi.sys对关键位置未保护,导致绕过限制,撸穿安全套装
漏洞证明:
ksapi.sys中sub_13F10处理上层驱动打开动作
其调用了sub_1C2F0函数,改函数对当前试图打开驱动的进程进行校验,判断是否应该允许进程打开驱动,该函数进行了很多的目录判断
这里就包含对\Registry\Machine\SOFTWARE\Kingsoft\AntiVirus注册表项的ProgramPath键值的判断,当我们尝试对ProgramPath的值进行修改时,就会发现已经被保护了
通过对sub_1C2F0函数进行进一步分析,发现它使用了dword_21F54,该值读取自\Registry\Machine\SOFTWARE\Kingsoft\Kavudisk的Path键值,同时将“sysfixkill.exe”黏贴在键值之后,也就是说sysfixkill.exe在白名单之列,它能够打开驱动
通过查看注册表,发现程序没有创建这一键值,也未对起进行保护,尝试创建改键值为c:\
这样放在桌面的sysfixkill.exe无法打开ksapi.sys,而放在c:\的sysfixkill.exe就能打开ksapi.sys
通过对ksapi.dll发送的DeviceIoControl进行逆向,能够得到参数的格式,下图是文件打开动作的参数
通过向驱动发消息,能够修改、删除系统文件、注册表等功能,原本在应用层不能完成的动作,现在就能够完成了,例如删除\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Services\\ksapi中的ImagePath的值,因为被保护,所以会得到
尝试不关闭explorer.exe进程,直接删除可执行文件,会得到
但是通过给驱动发送命令就能够实现这些功能,修改ImagePath的值为C:\windows\system32\calc.exe,删除explore.exe,并用calc替换
通过这种方式,就能够轻松替换系统文件,也能轻松的替换和删除ksapi.sys等文件,轻易的持久驻留在系统中
修复方案:
保持校验的一致性
版权声明:转载请注明来源 cssembly@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:10
确认时间:2015-07-02 09:09
厂商回复:
非常感谢提交,立刻反馈处理
最新状态:
暂无