private NtToken CreateRestrictedToken(NtToken token)
        {
            FilterTokenFlags flags = FilterTokenFlags.None;

            if (checkBoxDisableMaxPrivs.Checked)
            {
                flags |= FilterTokenFlags.DisableMaxPrivileges;
            }
            if (checkBoxMakeLuaToken.Checked)
            {
                flags |= FilterTokenFlags.LuaToken;
            }
            if (checkBoxSandboxInert.Checked)
            {
                flags |= FilterTokenFlags.SandboxInert;
            }
            if (checkBoxWriteRestricted.Checked)
            {
                flags |= FilterTokenFlags.WriteRestricted;
            }

            return(token.Filter(flags, GetGroupFromList(listViewDisableSids.CheckedItems.OfType <ListViewItem>()),
                                GetPrivileges(), GetGroupFromList(listViewRestrictedSids.Items.OfType <ListViewItem>())));
        }
Esempio n. 2
0
 public static extern NtStatus NtFilterToken(SafeKernelObjectHandle ExistingTokenHandle,
                                             FilterTokenFlags Flags, SafeTokenGroupsBuffer SidsToDisable, SafeTokenPrivilegesBuffer PrivilegesToDelete,
                                             SafeTokenGroupsBuffer RestrictedSids, out SafeKernelObjectHandle NewTokenHandle);