Windows认证基础知识

Windows凭据

1.SSPI

SSPI(Security Support Provider Interface,安全支持提供程序接口)是Windows操作系统中用于执行各种安全相关操作的公用API.SSPI的功能比较全面,可以用来获得身份验证、信息完整性校验、信息隐私保护等集成的安全服务。它是众多安全支持提供程序的调用接口。

2.SSP

SSP(Security Support Provider,安全支持提供程序)是一个用于实现身份验证的DDL文件。当操作系统启动时,SSP会被加载到LSA(Local Security Authority,本地安全机构)中。SSP的主要作用是扩展Windows的身份安全验证功能。可以这样简单理解:SSP就是一个DLL文件,用来实现身份认证并维持系统权限。下面介绍一下Windows系统中的常见SSP类型。


3.常见SSP类型

1)NTLM:一种Windows网络认证协议,基于挑战/响应(Challenge/Response)验证
机制,用于对主机进行身份验证。
2)Kerberos:一种网络身份验证协议。作为一种可信任的第三方认证服务,它的主要
优势在于可以提供强大的加密和单点登录(SSO)机制。

3)Negotiate:用于在SSPI和其他SSP之间进行安全支撑的应用程序层。当某个应用程序调入 SSPI 以登录到网络时,该应用程序会指定一个SSP来处理请求。如果指定Kerberos或NTLM SSP,则Negotiate将会分析请求并选取最佳SSP,以便基于客户配置的安全策略处理请求。

4)安全通道:也称SChannel,它使用SSL/TLS记录来加密数据有效载荷,主要用于需要进行安全超文本传输协议(HTTP)通信的Web应用程序。

5)摘要身份验证:基于HTTP和SASL(简单认证与安全层)身份验证的 质询/响应 协议。

6)Cred SSP:用于传输安全凭据的网络协议,通常在RDP或WinRM远程管理中用于提供单点登录和网络级身份验证。

7)分布式密码验证(DPA):提供使用数字证书完成的互联网身份验证。

8)用户对用户的公开密钥加密技术(Public Key Cryptography User-to-User,PKU2U):在不隶属于域的系统之间提供使用数字证书的对等身份验证。

Windows访问控制模型

1.访问控制模型简介

访问控制模型(Access Control Model)是Windows操作系统中一个关于安全性的概念,由访问令牌和安全描述符两部分构成,其中:访问令牌(Access Token)由当前登录Windows账号的用户持有,它包含该账号的基础信息,如用户账户的标识和权限信息;安全描述符由要访问的对象持有,它包含当前对象的安全信息。

假设当用户登录时,操作系统会对用户的账户名和密码进行身份验证,则当登录成功时,系统会自动分配访问令牌。访问令牌包含安全标识符(SD),SD用于标识用户的账户及其所属的任何组账户。当我们创建一个进程,也就是访问一个资源(进程资源)的时候,访问令牌会被复制一份并交给进
程,进程根据它的创建者为它设置的安全描述符中的访问控制列表(ACL)来判断我们是否可以访问,是否有权限执行某步操作


2.访问令牌

Windows的访问令牌分为两种类型  主令牌(Primary Token)和模拟令牌(Imperson-ation Token),它代表某种请求或登录机制的凭据,使用户可以在短时间内执行某种身份认证或权限操作的验证信。Windows系统中每个用户登录账号都生成一个对应的访问令牌。当用户使用账号登录操作系统时,系统会将所登录的账号与安全数据库(SAM)中存储的数据进行对比验证,验证成功后才会生成访问令牌。如果我们打开的进程或线程正在与具有安全描述符的对象交互,则系统将会携带今牌进行访问,以此来表示用户身份。

创建进程时,Windows操作系统的内核都会为进程创建并分配一个主令牌。每个进程都含有一个主令牌,主令牌描述了进程相关用户账号的安全上下文。

同时,一个线程可以模拟一个客户端账号,允许此线程在与安全对象交互时使用客户端的安全上下文。一个正模拟客户端的线程拥有一个主令牌和一个模拟令牌。(主令牌是与进程相关的,而模拟令牌是与线程相关的。)

(1)主令牌
主令牌也叫授权令牌(Delegation Token),是一种认证机制,用于交互式登录,是为了减少不必要的认证工作而出现的,由Windows操作系统的内核创建并分配给进程的默认访问令牌。主令牌描述了登录进程返回的安全标识SID,与当前进程相关的用户账户的安全组的权限列表,代表系统可以使用令牌控制用户可以访问哪些安全对象、执行哪些相关系统操作。

主令牌通常用于本地登录及通过RDP远程登录的场景。
一个完整的主令牌包含如下内容:

  • 当前账号SID
  • 当前账户所处安全组的SID
  • 该令牌的来源,即它是由哪个进程创建的
  • 所有者的SID
  • 主要组的SID
  • 访问控制列表
  • 用户或组拥有的权限列表
  • 模拟级别
  • 统计信息
  • 限制SID

(2)模拟令牌

在默认情况下,当线程开启的时候,其所在进程的主令牌会自动附加到该线程上作为他的安全上下文。而线程可以在另一个非主令牌的访问令牌下执行,这个令牌被称为模拟令牌,通常会用于客户端/服务器之间的通信。

假设在文件共享的时候,服务器需要访问令牌来验证用户的权限,但它无法直接获取用户的访问令牌(该令牌是锁死在内存中的,无法访问),所以它就需要生成一个模拟令牌。

3.安全标识符

在Windows操作系统中,通常使用安全标识符(Security IDentifier,SID)来标识在系统中执行操作的实体。

SID是一个唯一的字符串,可以代表用户、用户组、域、域组、域成员等角色身份。
SID组成部分

  1. 前缀:每个SID以"S-"开头,表示这是一个安全标识符。

  2. 版本号:紧随"S-"的是版本号,通常为 "1" 表示当前版本的Windows NT SID格式。

  3. 认证机构(Authority):接下来的一对数字表示颁发此SID的认证机构。对于Windows NT系统,这个通常是固定的"S-1-5",代表该SID是由Windows NT或其后继者(如Windows 2000, Windows XP, Windows Server 2003及以后版本)颁发的。

  4. 子颁发机构(Sub-authority values):紧跟在认证机构后的是一系列用连字符分隔的数值,这些是子颁发机构标识符,用于进一步区分不同的安全主体类型和实例。例如,在S-1-5之后可能跟着一串序列号,如“21”,然后是更多的子颁发机构编号。

    • 对于用户账户、组以及其他内置安全主体,这些子颁发机构值联合起来创建了一个独特的标识符。
    • 在特定的SID例子中,如 S-1-5-21-3623811015-3361044348-30300820-1013,"21" 后面的三个长整数就是三个子颁发机构值,最后一个数字往往表示具体的用户或组ID(RID,Relative ID)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694248.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华清远见作业第四十天——Qt(第二天)

思维导图: 编程: 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为…

等级保护是什么,为什么要做等级保护

一、 什么是等级保护: 等级保护是一种信息安全管理方法,用于对不同级别的信息和信息系统进行分类、评估和保护。它涉及将信息系统和信息按照其重要性和敏感性分级别,然后根据等级要求实施相应的安全措施,以确保信息的保密性、完整…

碳化硅晶片C面和硅面详解

SiC是一种Si元素和C元素以1:1比例形成的二元化合物,即百分之五十的硅(Si)和百分之五十的碳(C),其基本结构单元为 Si-C 四面体。 举个例子,Si原子直径大,相当于苹果,C原子…

EasyRecovery支持恢复多种类型的文件包括文档、表格、图片、音频、视频等

EasyRecovery易恢复是一款来自美国的数据恢复软件,已有35年(或38年)的历史。它支持不同存储介质的数据恢复,包括电脑系统硬盘、移动硬盘等,并针对不同的数据丢失原因提供了相应的恢复方案。 EasyRecovery易恢复是一款…

开源模型应用落地-工具使用篇-向量数据库(三)

一、前言 通过学习"开源模型应用落地"系列文章,我们成功地建立了一个完整可实施的AI交付流程。现在,我们要引入向量数据库,作为我们AI服务的二级缓存。本文将详细介绍如何使用Milvus Lite来为我们的AI服务部署一个前置缓存。 二、术…

CSS中伪元素和伪类的区别和作用?

伪元素:在内容元素的前后插入额外的元素或样式,但是这些元素实际上并不在文档中生成。它们只在外部显示可见,但不会在文档的源代码中找到它们,因此,称为“伪”元素。例如: p::before {content:"第一章…

曝光一下不发年终奖的企业

原文连接: 曝光一下不发年终奖的企业 今日热帖,看到网上发布的一篇帖子:请曝光一下不发年终奖的企业! 结果留言上百条,除了私企,还有很多国企,银行等。而且还有一些我们认为应该很赚钱的企业&a…

记一次重大的问题解决

问题的模样 我们是需要的操作两个git仓库的的三个分支(此处第一个仓库简称:A(负责程序的第一层进入),第二个简称B(负责业务的执行)) 大致就是A的代码引用了B,B的代码引…

opengl 学习着色器

一.GLSL 着色器是使用一种叫GLSL的类C语言写成的。GLSL着色器编码顺序:声明版本》定义输入输出》uniform》main函数。每个着色器的入口点是main函数,在main函数中我们处理所有的输入变量,并将结果输出到输出变量中。如下图: #ver…

Java之反射:Class类、调用构造方法、访问字段、访问方法

反射 什么是反射: ​ 反射是Java语法的一种高级特性,在“运行期间”对Java的类型信息进行检查,操作处理。例如:加载JDBC驱动类,Mybatis动态处理resultType,Spring根据配置创建Bean对象等使用场景都用反射…

CVE-2024-24565 CrateDB数据库任意文件读取漏洞

目录 前言 简介 ​编辑 环境搭建 漏洞复现 前言 本次介绍的漏洞不同与以往, 本次洞更多是适用于利用数据库提权。 利用数据库的导入导出数据的功能,我们往往可以将内部的一些敏感文件如/etc/passwd导入到数据库进行查看。也可以将数据导入到一些特…

SpringBoot + Thymeleaf打造VIP视频源解析网站

第一步&#xff1a;创建一个SpringBoot项目 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><dependency><groupId>org.springframework.bo…

2024年刷题记录

马上要开始找实习了&#xff0c;又开始重启刷题计划了&#xff01;加油冲冲冲&#xff01;刷题的顺序follow代码随想录的60天刷题计划&#xff01;感谢FuCosmo的总结&#xff01;之前都是按照C的语法进行刷题的&#xff0c;这次也同样使用C。 Day 1 数组 这些题过年前都刷过了…

动态规划-背包问题进阶-完全背包和多重背包

我们之前讲过01背包&#xff0c;现在我们讲讲背包问题的进阶&#xff0c;先说完全背包。 完全背包相对于01背包的区别在于商店每个物品的无限性&#xff0c;就是可以被拿无数次&#xff0c;而01背包每个物品只能拿一次。 完全背包问题中&#xff0c;每个物品可以选择无限次&a…

【二叉树】遍历及构造

1. 定义 二叉树是一种树形数据结构&#xff0c;由节点组成&#xff0c;每个节点最多有两个子节点&#xff0c;分别为左子节点和右子节点。二叉树具有以下性质&#xff1a; 每个节点最多有两个子节点&#xff0c;称为左子节点和右子节点。 左子节点和右子节点可以为空&#xff0…

命令执行讲解和函数

命令执行漏洞简介 命令执行漏洞产生原因 应用未对用户输入做严格得检查过滤&#xff0c;导致用户输入得参数被当成命令来执行 命令执行漏洞的危害 1.继承Web服务程序的权限去执行系统命会或读写文件 2.反弹shell&#xff0c;获得目标服务器的权限 3.进一步内网渗透 远程代…

泛微e-office系统存在敏感信息泄露 附POC软件

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 1. 泛微e-office系统简介 微信公众号搜索:南风漏洞复…

mysql 锁详解

目录 前言 一、全局锁 二、表级锁 三、行锁 前言 为什么要设计锁&#xff0c;锁设计初衷是为了解决多线程下并发问题。出现并发的时候用锁进行数据同步&#xff0c;避免因并发造成了数据错误(数据覆盖)。可见锁的重要性&#xff0c;并不是所有的数据库都有锁。比如Redis&a…

什么是CODESYS开发系统

CODESYS是一种用于工业自动化领域的开发系统软件&#xff0c;提供了一个完整集成的开发环境。该软件由德国CODESYS GmbH&#xff08;原 3S-Smart Software Solutions GmbH&#xff09;公司开发&#xff0c;其最新版本为CODESYS V3。 CODESYS开发系统具有多种特性和优点。首先&a…

⭐北邮复试刷题105. 从前序与中序遍历序列构造二叉树__递归分治 (力扣每日一题)

105. 从前序与中序遍历序列构造二叉树 给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 示例 1: 输入: preorder [3,9,20,15,7], inorder [9,3,15,…