同事小M本来是一枚阳光开朗的小伙儿,来公司已工作三年有余。
与我关系融洽的他却在不久之前突然向公司提交了辞呈。
令我万万没有想到的是,他在与我告别的同时也给我带来了巨大的麻烦。
时间要倒回两周前的某一天,小M如平常和我聊天一样和我聊起是否有锁定应用程序启动的工具软件。
只不过现在想来,当时他并没有直接来找我,而是通过邮件问的我。
他的理由是怕家里的孩子乱动他的电脑,顺便也可以限制孩子玩游戏。
我也没有多想,便告诉他倒是有一款名叫 AskAdmin
的小软件可以实现他所需要的功能,而且比免费版 Simple Run Blocker
的效果要好很多,至少想用重命名文件来绕过限制是无效的。
收到软件后小M对我表示感谢,说以后哪天不加班了一定请我吃饭。
我当时还真纳了闷了,现在还有不加班的时候吗?
现在终于明白了!
果不其然,就在小M辞职走人的第二天,他的直接领导老B就来找我了。
说是昨天小M最后一天交接工作时他的电脑还好好的,怎么今天打开什么程序都报错,根本没法用!
这台工作电脑非常重要,里面的行业软件由于是正版安装无法直接拷出来用,并且今天就有任务急需用到这台电脑。
他十万火急地跟我说务必抓紧时间搞好,要是搞不定,那后果可不堪设想!
听完老B说的话,我也脑袋嗡嗡作响,手心直冒汗,心中暗暗叫苦:“小M这败家玩意儿,你特么还欠我一顿饭呢!”。
随后把电脑拿过来我这么一看,果然除了他们用到的行业软件之外,其他不少程序也都被锁了。
我当即猜测应该是用 AskAdmin
锁定了程序。
情急之下,我找来一台测试用的电脑,开始试验性地安装使用 AskAdmin
,希望能够找到解决的方法。
要想找到解决的办法,我们就必须先来了解了解这个 AskAdmin
到底是个怎样的软件。
下载 AskAdmin
下载链接:https://pan.baidu.com/s/1dTFJLmagZHuPt4efqvBALw
提取码:
★扫码关注公众号, 发送【000928】获取阅读密码
AskAdmin
简单介绍
AskAdmin
是一款与 Simple Run Blocker
类似的应用程序管控程序,目的是帮助用户禁用一些需要规避风险的程序。
比如防止熊孩子玩游戏,或者是防止未授权用户打开特定的业务软件等等,不论是家用还是企业内部使用都是比较实用方便的。
但它与 Simple Run Blocker
相比较更加复杂,功能更强大,需要注意的是,有部分功能需要用户注册后才能使用。
打开 AskAdmin
,它的界面也是非常简洁,仅通过工具栏我们就可以完成80%的操作。
我们只需按如下图中的按钮即可添加或删除想要限制使用的文件或文件夹。
剩下的工具栏按钮作为辅助功能则需要注册才能使用。
比如导入/导出列表,又比如给 AskAdmin
自身加上个密码等等。
除了工具栏,我们还可以通过菜单项操作来实现更多更复杂的操作。
点击 文件[F]
菜单也可以添加文件或文件夹,还有导入或导出列表。
点击 编辑[E]
菜单,我们可以对列表中所限制的项目进行各种编辑操作。
在 选项[O]
菜单中我们可以实现对限制文件或文件夹更细化的限制操作,以确保用户无法绕过漏洞。
比如,用户无法删除被保护的文件,或者用户无法移动或重命名被保护的文件等等。
扩展[E]
菜单中含有除用户自行限制的文件或文件夹之外,还有和系统相关的一些应用的限制。
帮助[H]
菜单项中就是程序注册、检查更新以及和作者相关的一些介绍信息。
好了,AskAdmin
看上去还挺简单易上手的,那它到底是怎么工作的呢?
AskAdmin
如何工作?
我们实际做一遍,通过一个简单的示例来向大家说明 AskAdmin
是怎么工作的。
我们点击工具栏上的加号按钮,来随便添加一个应用程序。
添加完成后,我们可以看到阻止项最前面的状态默认是打勾选中的,也就是默认自动生效了。
当我们想要打开被添加到阻止列表中的应用程序时,它就会被系统阻止而报错。
好,我们将阻止项前面的勾去掉,然后再次打开应用程序,哎,程序又可以正常启动了。
挺好玩的是吧,这只是基础用法哦!
好,接下来看看其他的一些玩法。
我们尝试重命名被阻止的应用程序,发现被拒绝访问无法成功。
同样你想要删除它,也是势比登天。
有的小伙伴可能会想到,我惹不起还躲不起吗,我把它复制出来行不行?
告诉你,结果是一样的,你也会得到同样被拒绝访问的警告提示。
即便你将程序复制出来了,但是试图运行副本程序也一样遭拒,毫无作用。
说到这儿,你是不是觉得这玩意挺神奇的?
那它是怎么做到既无法重命名也无法删除,甚至复制移动应用程序都玩不转的呢?
其实说它挺好用是真的,但神奇还没有那么神奇,不信你往下看!
隐藏的两大“护法”
我们右键点击被阻止的应用程序项,在弹出的菜单中我们可以很清楚地看到有两项设置。
一个叫作 位置保护[L]
,还有一个叫作 NTFS权限阻止[N]
,一共两大“护法”。
说是“护法”,就说明我们的文件正是被他们所保护的。
那么这两个设置到底是几个意思呢?
我研究了一下,应该是这样的。
所谓 位置保护
,就是文件夹路径所在的应用程序均被锁定而无法启动,保护的路径就是这个“位置”。
而 NTFS权限阻止
就比较容易猜得到,它的意思就是用 NTFS
权限来保护应用程序。
当文件是通过 NTFS
权限限制后,我们执行文件会得到无法访问的警告提示。
而文件未被 NTFS
权限限制,那么执行文件会出现系统管理员阻止应用的警告提示。
OK,我们先来看看后者 NTFS权限阻止
是怎么玩的。
我们首先查看被阻止应用程序的属性,在切换到 安全
选项卡后我们发现它居然无法正常查看权限。
这就对了,的确是因为文件被封锁了 NTFS
权限所导致的无法访问,不管移动、删除甚至重命名都玩不转了。
好,我们将 NTFS权限阻止
的勾去掉,我们不用它来限制当前文件再试一试。
然后我们再回过头来看看当前文件属性中的 安全
选项卡中的权限。
OK,权限回来了!一切恢复正常!
这个所谓的 NTFS权限阻止
我们大体明白了,那么要怎么破呢?
其实很简单,只要我们手动取得文件权限的所有权,然后再赋予用户相应的读写权限就可以回到过去了。
具体的做法在之前我的一篇文章中有介绍过,小伙伴们可以搜索《为了在 Windows 11 上启用 IE ,我撸了个修复工具》参考。
其次,我们接着看 位置保护
。
顾名思义,所谓的位置就是指的文件路径,就是文件夹。
不过文件夹本身就可以表明路径,因此在 AskAdmin
程序中文件夹默认不用选择位置保护。
而作为被限制的单个文件来说,它的位置就是文件自己的完全路径名称,比如 C:\sysadm\xxx.exe
这样子。
所以限制了半天也只是限制了自己,并不能限制同级文件夹内其他未被限制的文件。
也就是说,这个 位置保护
在此处对文件的限制作用不是很明显。
在后面我会详细说明,可以将这个限制作用于文件夹路径,那样就可以做到更多的限制作用。
好了,经过以上的介绍,我们知道 AskAdmin
简单讲是通过 NTFS权限
以及 位置保护
来实现文件限制的。
那么我们将这两个限制都去掉,是不是文件就不再受限了呢?
我们会发现即使将那两项去掉,虽然文件可以随意复制、移动、删除或重命名,但是就是无法正常启动执行。
看样子还是被限制着,我们得找到它被限制的根源才能解开文件无法启动执行的谜团!
寻找根源,解除锁定
经过在网上海量资料中的分类查找,我最终找到了在注册表中的关键地方。
如果没有任何程序限制的策略,那么可能是以下注册表路径这样的。
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\codeidentifiers]
"authenticodeenabled"=dword:00000000
如果我们设定了某些限制策略,那么在这个注册表项下会生成一系列的注册表键及键值。
在 codeidentifiers
项下会生成一个子项 0
,而后在 0
下层又会生成两个子项 Hashes
和 Paths
。
我们先重点看一下这个带有 Hashes
的一项。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\CodeIdentifiers\0\Hashes
其中第一个子项是一个 GUID
号,其下有几个子键。
这一项应该是限制策略预留的,我们暂时不用管。
第二项也是一个 GUID
项,这里就保存着被限制文件的信息,我们重点看这里。
如果我们把这一项删除会不会解锁受限文件呢?
通过尝试,即使现时去除了 NTFS
权限限制的情况下,受限文件仍然无法正常启动。
那还能有哪里被限制住了呢?
其实我们前面已经说过了,别忘记还有一个 位置保护
的限制项。
没错,它其实就与 Hashes
为同级项的 Paths
,从名字就能看出来是一回事。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\safer\CodeIdentifiers\0\Paths
在这个 Paths
项中也有随机 GUID
子项,在这个子项中就有受限文件的信息。
那么这下就好办了,把它也删了再试试,OK,终于程序顺利启动了。
好,小结一下。
Hashes
项的子项对应着系统受限策略,其中包含了受限文件的哈希值、路径等等信息。
Paths
项的子项则对应着文件位置保护,其中包含了受限文件所在路径。
如果想解除文件的锁定限制,那么就将文件对应所在的 Hashes
和 Paths
两项的注册表信息都删除即可。
此外我还要补充的一点,Paths
子项中的 ItemData
可以指明受限文件夹路径,在此路径下的所有程序均会被限制启动。
写在最后
AskAdmin
阻止程序启动的基本原理是通过 NTFS
权限设定以及软件限制策略 SRP
来实现的。
当然也可能还有其他的方法,时间有限我也没过多研究,以后有空有闲再来细究。
至少目前为止,限制策略已经解开,行业软件程序可以正常使用了。
还好电脑没有被限制得太死,比如锁定了注册表、任务管理器甚至是组策略程序等等,否则还真是不太好搞。
不过我们在前面也能看到,通过简单的注册表修改就能破解限制策略,那么在当前系统注册表管理器也无法打开的情况下,我们还可以通过 PE
工具盘加载系统注册表来操作,理论上这样也可以绕过系统限制。
此外,关于网络上流传甚广的删库跑路,虽然的确有不少真实案例发生,但是还是建议大家当是段子乐和乐和就行了,千万不要模仿,更不要意气用事,做出冲动的事来。
当然了,删库跑路固然是违法行为,但其他类似的行为也同样可能会给自己带来一定的法律风险,就比如本文中小M将程序锁定这事儿。
虽说并没有删库,程序和数据都还健在,但至少有了破坏或干扰正常系统业务的嫌疑,因此如果万一没能挽救回来,那不就和删库一个样了嘛,所以仍然存在法律风险,没得跑啊!
最后借此机会多说两句,如今大环境不太好,很多大厂都在裁员,而且是大裁员,因此希望小伙伴们摆正心态、切勿焦躁,更不要做出冲动而不理智的事来。
俗话说没那金刚钻就别揽那瓷器活,千万不要迷信网络段子,你要真想牛逼一把,还得打铁自身硬,自己得真的牛才行。
当然不是鼓励大伙儿做不好的事,而是我们应该多做增长本领的事,有了本事也就不肖于做那些事了不是?
越是外部环境不行我们越是要抓紧时间提升自己,我们要相信人生不会一帆风顺,但外部环境也不可能总是那么糟糕,天气再不好也总会有出日头的时候!
我不是菩萨,劝人向善不是我的本职工作,我只是希望小伙伴们都能越来越好。
好了,本文接近尾声就不多啰嗦了,最后恳请小伙伴们一键三连,为了生活一起加油努力吧!
扫码关注@网管小贾,阅读更多
网管小贾的博客 / www.sysadm.cc