免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 系统安全 > 完美突破win7 UAC(3)

完美突破win7 UAC(3)

时间:2012-02-28 16:42来源:未知 整理:寂涯网络 点击:


{
if(S_OK==ifop->DeleteItem(pIstdel, 0)) i f op->PerformOperat i ons();
if(pIstdel) pIstdel->Release() if(pIstdes) pIstdes->Release() if(pIstdes) pIstdes->Release() if(ifop) ifop->Release();
}
break;
case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break;
return TRUE;
这时在cryptbase.dll中,我们就拥有管理员权限。本示例中,myCRYPTBASE.dll 启动12.exe的测试程序,这个测试程序试图在system32目录下创建hack.txt文件。由于cryptbase.dll是我们自己编写的dll, sysprep在加载后,会弹框提示用户加载错误,所以在启动12. exe后DLL_PROCESS_ATTACH 返回前调用 ExitProcess 来结束sysprep. exe。由于sysprep.exe是以管理员权限运行的,而由于WIN7的特性,参考上面的第4点,所以DLL也是管理员权限,dll执行createprocess创建的子进程也是管理员权限GPl2.exe)。
下面是演示效果,由于杀软都拦截了createremotethread这个函数,所以在创建远程线程的时候,杀软会有提示。将myCRYPTBASE.dll放在e盘的根目录下,将测试程序12.exe放在c盘的根目录下。之后运行此uacpass2.exe (确保mydll.dll与uacpass2在同一个目录下)。 在UAC开启的情况下,直接运行12.exe是会提示打开失败:
图1
现在运行uacpass2.exe,看效果:
mydll.dll 201V6/2114:00 应用程序扩展 34 KB
uacpass2.exe 201V6/22 2L55 应用程序 33 KB
uacpass2.pdb 20U./6/22 21:55 Program Debug... 563 KB
L新建文本文档-txt 201V6/2112:56 文本文档 0 KB
图2
总结
微软下面的几点导致这个UAC突破方法的产生。
1.对6乂口1(«^:等进程的特殊照顾,否则注入explorere创建IFileoperation会弹出uac提示。
2.对CRYPTBASE.dll的疏忽,因为这个dll不在”know dlls”目录中,才会让人有机可乘。
3. UAC需要提权时候的检测不严格,uac中有跟宿主一样的权限。
当然微软做的这些都是因为减少UAC的提示次数,否则大家将会用对待vista的态度来对 WIN7,关闭uac。
本文的所有代码在vs2010中通过编译,在win7(旗舰版,专业版)通过测试。

本页地址 http://www.jybase.net/xitonganquan/20120228785.html

百度搜索更多

谷歌搜索更多

顶一下
(1)
25%
踩一下
(3)
75%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com