我一直在寻找这个未记录的注册表项的解释,但我所能找到的只是一些关于获取所有权或以管理员身份运行的参考,而并没有真正解释该特定注册表值(不是键)的用途。
我还发现此链接表明:
HKEY_CURRENT_USER\Software\Classes.exe\ shell\open\command | IndependentCommand = ""%1?%*"
与间谍软件有关。这是真的吗?如果是,原因是什么?
知道这个“IsolatedCommand”值的含义吗?为什么微软要创建一个有助于间谍软件的注册表值?
答案1
你所看到的显然是Win32/FakeRean。 简要地,
Win32/FakeRean 是一个程序家族,它声称可以扫描恶意软件并显示恶意文件的虚假警告。然后,它们会通知用户需要付费注册该软件才能删除这些不存在的威胁。
当 Windows 尝试确定如何处理任何给定类型的文件时,它通常会查阅HKLM
注册表中的分支,查找所需类型的条目。但是,如果您曾经安装过询问您是否希望仅供您自己使用还是供计算机的所有用户使用的软件,那么您已经看到了 Windows 内置的一项功能。当您说“所有人”时,其注册表条目通常会写入配置HKLM
单元。如果您说只有您,这些条目通常会进入配置HKCU
单元。这样Win32/FakeRean
做会将条目放入配置HKCU
单元,这些条目优先于 中的条目HKLM
。对于可执行文件来说,这可能是坏事。
不幸的是,我找不到该IsolatedCommand
密钥的任何文档(我查阅了 TechNet 和 MSDN),但从其名称来看,我猜它控制着进程的创建方式。我能告诉你是在蜂巢中是正常且必需的HKLM
。
答案2
我在搜索同一问题时发现了这一点:
http://www.infosecisland.com/blogview/19746-User-Assisted-Compromise-UAC.html
在命令下将默认值更改为“%1”%*,就像在HKLM中一样,并添加一个名为'的新字符串值隔离命令' 与默认值相同。通过这些设置,系统及其操作几乎没有变化。
> 但是,如果我们将“IsolatedCommand”字符串更改为“notepad.exe”,并尝试使用任何二进制文件在该系统上“以管理员身份运行”,猜猜会发生什么?记事本!(以管理员身份)。w00t。
答案3
IsolatedCommand
下面的值用于HKLM\Software\Classes\exefile\shell\RUNAS\command\
提供Run as Administrator
在 Windows 10 上选择版本 17025 时执行的命令。
在未打补丁的机器上,可以通过IsolatedCommand
在 HKCU 中创建条目但使用不同的值数据(例如,cmd.exe
然后运行)来绕过 UAC sdclt.exe /kickoffelev
。在版本 17025 之后修补此漏洞时,该IsolatedCommand
值仍然存在,但Run as Administrator
随后使用了密钥中的值(Default)
。
剩下的东西IsolatedCommand
似乎不再有任何用途。
IsolatedCommand
下面的值似乎HKLM\Software\Classes\exefile\shell\OPEN\command\
从来没有发挥过任何作用。