标题: 程序员的片段(1)--利用本地管理员权限阻止域策略 创建: 2014-12-08 11:55 更新: 链接: https://scz.617.cn/windows/201412081155.txt 决定以一种不那么严谨的风格写写程序员的片段。有些是一般性回忆,有些是带点启 发性的流水帐。什么动机、什么目的呢?啥也没有,就是扯淡。由于不严谨,不是正 经技术文章,文中内容万不可当真,我就那么一写,你就那么一看。 在水术清华上看到有人问如何绕过域策略,这里说绕过,意会即是绕过域策略施加给 域内主机的种种限制。在一些回复中出现了有违技术探讨本意、显摆水平高低的争论, 做为恰巧路过的围观群众不是太喜欢,一时心动,替苦主看了看这个问题。后面的文 字已经整理过,不是它们在我的探索过程中本来出现的顺序。 Windows NT 5.0 Group Policy White Paper - Patty Nicholson [1998-06-28] http://ebooks.nkp.nu/ebooks/data/html/microsoft/getting_ready_for_windows_2000/webfiles/modules/mod_docs/grppol.doc (This paper documents Windows NT 5.0 Server Beta 2 functionality) -------------------------------------------------------------------------- [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System] "DisableGPO"=dword:00000001 -------------------------------------------------------------------------- 有很多人说它无效,个人认为这个键值被以讹传讹了,天下文章一大抄。 在grppol.doc里介绍了DisableGPO,这是它的原始出处。若该值为1,禁止在本机应 用域策略,不影响本地策略。从此这个说法就一直在互联网上蔓延。但除了前面这个 微软内部文档,微软在线官方文档从未承认DisableGPO的存在。有多种可能,比如 Release版本忽略、Debug版本有效,再比如只是"Windows NT 5.0 Server Beta 2"支 持,正式发布时不再支持。 Windows 2000 Group Policy White Paper - [2000-06-28] ebookbrowsee.net/grouppolwp-doc-d251018142 http://csun.edu/~tsag/activedirectory/grouppolwp.doc grouppolwp.doc是最早介绍UpdateMode、NetworkPath的微软文档。这个版本不再出 现DisableGPO。 System Policies Are Not Applied in Windows NT - [2006-11-01] http://support.microsoft.com/kb/168231/en-us -------------------------------------------------------------------------- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Update] "UpdateMode"=dword:00000000 "NetworkPath"="\\\\\\\\" -------------------------------------------------------------------------- UpdateMode 0 禁用系统策略(不是组策略) 1 自动去域控寻找名为ntconfig.pol的系统策略文件,缺省设置 2 手动模式,系统策略文件由NetworkPath指定 NetworkPath \\\\ 不要求必须拥有扩展名.pol,但你可以那样做 -------------------------------------------------------------------------- Automatic Window Refresh (Windows 95/98/Me) - [2002-09-01] http://www.pctools.com/guides/registry/detail/628/ 一般窗口内容发生变化你需要等上几秒或按F5手动刷新显示,如果UpdateMode置为0 可以加快刷新。注意,这个键值会影响系统策略的应用。 上述这段关于窗口刷新的内容很神奇,被四处引用,不知微软出处何在? Disabling sharing and group policies - Laura A. Robinson [2003-09-18] http://www.derkeiler.com/Mailing-Lists/securityfocus/focus-ms/2003-09/0106.html 作者强调,拥有本机管理员权限的域内主机,可以在不退域的前提下禁止在本机应用 域策略。 W2k users, local admin rights and GPOs - [2003-10-29] http://t103728.security-full-disclosure.securetalk.info/w2k-users-local-admin-rights-and-gpos-t103728.html 有人问了Laura,后者提到"Windows NT 5.0 Beta 2 Group Policy"。那个链接已经 无法访问了,不过我相信就是grppol.doc。Sergey V. Gordeychik测试DisableGPO发 现无效,域策略的"计算机配置"部分在DisableGPO=1的情况下仍然被应用到本机,本 机是2003。Sergey猜测DisableGPO是一个已被废弃的键值,它的原始用途可能被 "Loopback Policy"所替代。Sergey认为利用IPSec阻断域内主机与域控之间的SMB通 信可以禁止域策略被同步到域内主机。 Loopback processing of Group Policy http://support.microsoft.com/kb/231287/en-us Circumventing Group Policy Settings - Mark Russinovich [2005-04-30] http://blogs.technet.com/b/markrussinovich/archive/2005/04/30/circumventing-group-policy-settings.aspx 睁大眼睛,看清楚了,这是Mark Russinovich写的!底下的评论部分也值得看。 有些域策略最终出现在注册表里,可以通过DACL禁止Explorer读取它们。如果有本地 管理员权限,可以先用rsop.msc、gpresult.exe查看被应用的域策略,再做针对性处 理。 bypassing Windows Domain Group Policy Objects - [2006-04-27] http://www.gossamer-threads.com/lists/fulldisc/full-disclosure/45018 一个邪门办法,利用NTFS权限禁止gpupdate.exe(XP)、secedit.exe(2K)执行。不要删 除它们,否则会触发WFP(Windows File Protection)。 icacls.exe c:\windows\system32\gpupdate.exe /deny Everyone:(RX) icacls.exe c:\windows\system32\secedit.exe /deny Everyone:(RX) 有人提供了思路相近的方案,声称在XP SP1实测通过。 a. 禁用WFP 修改 c:\windows\system32\sfc_os.dll c:\windows\system32dllcache\sfc_os.dll 由于修改方案版本相关,这里不列了,有需要时再放狗搜相应版本的修改方案。 这本身就需要突破WFP,搜一个工具,wfpadmin。 -------------------------------------------------------------------------- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "SFCDisable"=dword:ffffff9d -------------------------------------------------------------------------- b. 重命名gpupdate.exe、secedit.exe 因为禁用了WFP,所以重命名没问题,相当于删除 c. 通过注册表禁用域策略 -------------------------------------------------------------------------- [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System] "DisableGPO"=dword:00000001 -------------------------------------------------------------------------- GPE(Group Policy Engine)是winlogon进程的一部分。有人质疑上述方案,建议考虑 CSE(Client Side Extension),比如负责安全设置的scecli.dll。或者动用PFW阻止从 域控下载GPO(Group Policy Object)。 Way to disable GPO to applied on computer - [2009-01-30] http://www.gpanswers.com/community/topic/way-to-disable-gpo-to-applied-on-computer/ 一般域内主机用户吐槽域策略多么让他们不爽,偶然看到一个域管理员吐槽。我大概 需要管理200多个用户,有几名用户总是无法对他们应用域策略,这几名用户因工作 需要拥有他们所在主机的本地管理员权限,他们是工程师以及.NET开发人员,公司要 求对他们也强制应用域策略,我不知道他们到底干了啥。 域管理员发现那几台无法被应用域策略的主机上"TCP/IP NetBIOS Helper"服务被设 成手工启动,而不是常见的自动启动,结果该服务实际未启动。将该服务设成自动启 动之后成功应用域策略。 就现代OS而言,利用本地管理员权限阻止域策略,还是看这篇比较靠谱: How Core Group Policy Works - [2009-09-02] http://technet.microsoft.com/en-us/library/cc784268(v=ws.10).aspx 简介了组策略系统的各个组件,推荐一阅。这里提到域策略分发涉及LDAP、SMB、DCOM、 RPC等等。 域策略的下发涉及很多关键结点,只要在任一关键结点上出点幺蛾子,域策略都可能 被挫败,比如网络通信、SMB会话(访问共享)、文件系统DACL、注册表DACL等等。 域控可以对域内主机施加很多限制,但如果域内主机可以被物理控制,这些限制就要 存疑了,很可能是防君子不防小人。比如WinPE、windbg双机联调的介入,拔掉网线等 等。有一种场景,用户拥有域内主机的本地管理员权限,此时域策略面临极大挑战, 利用各种DACL以及PFW都有可能挫败域策略试图施加给本机的种种限制。 如果你的员工拥有DACL、Process Monitor、windbg这类技能,就不要依赖域策略, 而应该依赖东西厂、锦衣卫、诏狱。用人话说,优先考虑行政管理。 正经用好域,首先就应该收缴域内主机的本地管理员权限,否则域策略就是个笑话。 啊,你问我如何收缴域内主机的本地管理员权限?你屁股到底是坐在人民群众这一边 呢,还是坐在统治阶级那一边? 在拥有域内主机本地管理员权限的前提下阻止域策略的一种可选项,在services.msc 里禁用Workstation服务,简单粗暴。后遗症蛮多,非业内人士请勿模仿。 不严谨之处很多,比如我没有穷追猛打DisableGPO,一没有实测它无效,二没有逆向 工程。更可怕的是,我从未活在域内,前文都是我在YY,明白为什么我一开始就提醒 你,我就那么一写,你就那么一看。 我没有这个强需求,只是不太喜欢那些争论,以我的知识判断原提问者的问题并不是 一个可笑的问题,临时帮他探究一下。 看完本文的人,至少有一个收获,再碰上用DisableGPO、UpdateMode来忽悠你的,你 可以呵呵一笑,比他还能装。话说这年头,不装真会死。 我真正比较得意的地方是,找到了grppol.doc。现在你从头看到尾,可能觉得找到它 没什么新鲜的,很容易。与我而言却不是这样,事实是我之前都不知道它的存在。说 到这里,必须强化一个程序员应有的精神,放狗放到极致: -------------------------------------------------------------------------- a. 组织搜索关键字(句),不断尝试、修正 b. 搭梯子看G缓存 c. 一页100条链接的前提下不要只停留在前2页,往后面去,把那首"爱到不能爱、聚 到终须散、繁华过后成一梦"改改,"搜到不能搜、搜到终须走",其实就是说,变 态点,不要轻言放弃 d. 当前链接的评论区、引用的其他链接 e. 尽最大努力寻找官方源头,减小被挫的概率,但不能保证不被挫 f. 忘掉B -------------------------------------------------------------------------- 周六晚上当我在茫茫页海中无意中发现可能存在grppol.doc时,不是找到grppol.doc, 是说发现可能存在这么一份文档的蛛丝马迹,很兴奋,有一种偷窥即将得手的感觉。 然后我给女科学家秀了一下,她的反应是,啊?!我一般只看第一页。Google缺省一 页好像是10条链接吧,第一页找不到就不继续了,这也太没科学素养了。 关于Google搜索本身,有很多可写的,不是搜索技术多么高明,而是足够变态,比如 搜阿拉伯文。以后再写。 我写本文,本意绝非是展示"利用本地管理员权限阻止域策略",而是想展示一种似乎 在那里存在着,但又确实很难精确表述的信念,一种程序员的信念。十五年前我就问 过,你尽力了吗?