问题标签 [windows-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
321 浏览

windows - 没有网络访问权限的虚拟服务帐户,例如 NT AUTHORITY\LocalService

背景:我正在编写一项服务,并希望尽可能少地赋予它特权。

虚拟帐户(有时称为“虚拟服务帐户”)是Windows 7/2008R2 的新增功能,文档很少,它是自动管理的帐户,用于需要最低权限但在域环境中使用计算机身份访问网络的服务。

我的服务不需要网络访问,所以我使用 LocalService,但我不喜欢这样一个事实,即如果我授予对文件/等的访问权限,我会授予对作为该帐户运行的所有服务的访问权限。

我可以使用最低权限的帐户吗?

0 投票
1 回答
1203 浏览

windows - 使用 CreateRestrictedToken(LUA_TOKEN) 从提升的进程创建低/中进程

我正在尝试从提升的进程创建中等或低完整性进程。我知道还有其他类似的问题,但他们主要关注使用资源管理器或任务计划程序等解决方法,我想坚持使用CreateRestrictedToken()+ CreateProcessAsUser()

我认为一定有可能以某种方式做到这一点,因为我相信 UAC 在您登录时会这样做,但我无法让令牌中的所有内容看起来像正常的 UAC Medium IL 令牌。

您可以通过创建令牌CreateRestrictedToken(hThisProcessToken, LUA_TOKEN, ...)然后设置TokenOwner,TokenDefaultDaclTokenIntegrityLevel在调用之前获得 80% CreateProcessAsUser()

剩下的问题是TokenVirtualizationAllowedTokenVirtualizationEnabledTokenElevation和where失败TokenElevationType并出现 ERROR_PRIVILEGE_NOT_HELD 或 ERROR_INVALID_PARAMETER。TokenMandatoryPolicySetTokenInformation()

如果我以 SYSTEM @ SECURITY_MANDATORY_SYSTEM_RID 的身份运行并启用所有权限,而不是管理员 @ SECURITY_MANDATORY_HIGH_RID,那么我可以设置TokenMandatoryPolicyTokenVirtualization*但设置TokenElevation*仍然失败!(目前仅在 Windows 8 上测试过)

令牌中没有正确的TokenElevation*值是一个大问题,因为 Internet Explorer 无法在保护模式下启动,因为它认为令牌已被提升。

文档SetTokenInformation()没有说明可以设置哪些项目TOKEN_INFORMATION_CLASS以及需要哪些权限(如果有),我不明白为什么不允许您将这些设置为与实际完整性级别 ( TokenIntegrityLevel)匹配的较低安全值令牌。

使用Safer API创建SAFER_LEVELID_NORMALUSER令牌并不能解决任何这些问题,而且还会创建一个比普通的 Medium IL 令牌更受限制的令牌。

我发现有人在早期的 Vista/Longhorn 时代遇到了类似的问题,从那以后没有任何变化吗?

0 投票
1 回答
2290 浏览

.net - 如何将文件的所有者设置为SYSTEM?

代码方面,这非常简单:

这会引发一个异常,提示“不允许安全标识符成为该对象的所有者”。

据说这意味着我无权将此用户分配为所有者:source 1source 2。但是,我可以很容易地使用资源管理器将此文件的所有者设置为 SYSTEM。由于资源管理器可以以某种方式做到这一点,我必须拥有必要的权限 - 那么我怎样才能执行资源管理器所做的并将文件的所有者设置为 SYSTEM?

0 投票
1 回答
1010 浏览

c# - 使用 c# 从事件查看器获取最新的 Windows 启动登录事件数据?

我正在从 Windows 安全日志和事件查看器中获取与登录和注销相关的所有信息,但我只想要所有信息中的最新登录事件信息,您能否在其上应用一些 linq 以获得最重要的启动登录事件信息

这是我正在尝试的代码

您可以在 lambda 基础中进行任何 foreach 以仅获取最新的登录事件吗

0 投票
1 回答
45 浏览

uwp - Windows 10 的 UserConsentVerifierAvailability 枚举定义

UserConsentVerifierAvailability 枚举的 DeviceNotPresent 和 NotConfiguredForUser 属性有什么区别?

MSDN 文档分别说“没有可用的生物特征验证器设备”和“没有为此用户配置生物特征验证器设备”。

据我了解,DeviceNotPresent 是指尚未为用户设置 pin 或 Hello 时,但 NotConfiguredForUser 是什么?

0 投票
1 回答
1359 浏览

windows - 当我拥有有效的读取权限时,为什么会收到“拒绝访问”?

我无法读取特定文件,即使据我所知我对它具有读取权限。这是“有效访问”显示的内容:

有效访问

Get-Acl是给我的。

当我尝试在记事本中打开它,甚至只是从命令行复制它时,我收到一个错误:

我以 登录Admin,并且cmd.exeshell 也被提升(右键单击并执行“以管理员身份运行”)。

请注意,它最初不是SDDL_PROTECTED,但我添加了它(通过 Windows GUI),以确保没有被继承的东西会混淆访问。然后我添加了一个 ACE 来让管理员完全控制。该驱动器以前是Win7机器的系统盘,但我试图在Win10机器上读取它。

0 投票
3 回答
1303 浏览

regex - 使用正则表达式仅过滤 Windows 事件日志中的第二个帐户名称

有谁知道 reqex 语法从 Windows 事件日志中仅过滤第二个帐户名称?我不想要第一个帐户名称,但提到的第二个帐户名称是已删除的帐户,这就是我有兴趣找出的。

我可以同时使用,但我真的希望只有第二个帐户

例子:

这只是一个同时提取两个帐户名称的示例。但是有谁知道如何只提取第二个帐户名?

在上面的示例中,第二个帐户名称将是 Account Name:

0 投票
2 回答
581 浏览

windows - CreateProcessAsUser 失败并出现 1349 :令牌的类型不适合其尝试使用

使用创建令牌OpenThreadToken()然后将其传递给CreateProcessAsUser失败:

1349:令牌的类型不适合其尝试使用。

它在一台机器上成功,但在其他 win2008r2 上失败。

DesiredAccess传递给的OpenThreadToken是: TOKEN_QUERY|TOKEN_IMPERSONATE|TOKEN_DUPLICATE|TOKEN_ASSIGN_PRIMARY

0 投票
0 回答
252 浏览

windows - 将模拟令牌传递给 CreateProcessAsUser 是错误的吗?

我读过 CreateProcessAsUser 将主令牌作为其参数。

我已经使用 OpenThreadToken() 创建了令牌,它将创建模拟令牌。但是带有模拟令牌的 CreateProcessAsUser 正在“传递大多数”机器,按预期工作,但“在少数机器上失败”并出现错误:1349 = 令牌的类型不适合其尝试使用。

0 投票
1 回答
1113 浏览

windows-7 - 在 Alfresco 中使用“在 Microsoft Office 中编辑”功能时删除 Windows 安全身份验证屏幕

我正在使用 Alfresco-5.1、MS-Office 2013 和 Windows-7。我已经在我的系统中完成了 Alfresco 设置并上传了一些文件。要编辑文档,我想使用“在 Microsoft Office 中编辑”功能,但是当我点击它时,我得到了如下所示的 windows 安全弹出窗口屏幕,它再次要求输入用户名和密码。我想删除这个弹出窗口。我怎样才能删除它?

Windows 安全弹出窗口