访问令牌

访问令牌(Access Tokens)是Windows操作系统安全性的一个概念。
当用户登陆时,系统创建一个访问令牌,里面包含登录进程返回的SID和由本地安全策略分配给用户和用户的安全组的特权列表。
系统使用令牌控制用户可以访问哪些安全对象,并控制用户执行相关系统操作的能力。
有两种令牌:主令牌和模拟令牌。
主令牌是由windows内核创建并分配给进程的默认访问令牌,每一个进程有一个主令牌,它描述了与当前进程相关的用户帐户的安全上下文。

如果用sysinternal工具logonsessions查看的话,这两个令牌属于不同的Logon Session。

OpenProcessToken

函数用来打开与进程相关联的访问令牌;
要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_ACCESS,FALSE, dwProcessID)还是会遇到“访问拒绝”的错误。什么原因呢?原来在默认的情况下进程的一些访问权限是没有被启用(Enabled)的,所以我们要做的首先是启用这些权限。与此相关的一些API函数有OpenProcessToken、LookupPrivilegevalue、AdjustTokenPrivileges。我们要修改一个进程的访问令牌,首先要获得进程访问令牌的句柄,这可以通过OpenProcessToken得到,函数的原型如下:
BOOL OpenProcessToken(
__in HANDLE ProcessHandle, //要修改访问权限的进程句柄
__in DWORD DesiredAccess, //指定你要进行的操作类型
__out PHANDLE TokenHandle //返回的访问令牌指针
);

windows令牌学习相关推荐

  1. 超详细配置教程,搭建 Windows 深度学习环境

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 选自 | towardsdatascience 作者 | Ahina ...

  2. Windows异常学习笔记(五)—— 未处理异常

    Windows异常学习笔记(五)-- 未处理异常 要点回顾 最后一道防线 实验一:理解最后一道防线 实验二:新线程的最后一道防线 总结 UnhandledExceptionFilter 实验三:理解U ...

  3. Windows异常学习笔记(四)—— 编译器扩展SEH

    Windows异常学习笔记(四)-- 编译器扩展SEH 要点回顾 编译器支持的SEH 过滤表达式 实验一:理解_try_except 实验二:_try_except 嵌套 拓展SEH结构体 scope ...

  4. Windows异常学习笔记(二)—— 内核异常处理流程用户异常的分发

    Windows异常学习笔记(二)-- 内核异常处理流程&用户异常分发 用户层与内核层异常 内核异常 分析 KiDispatchException 分析 RtlDispatchException ...

  5. Windows异常学习笔记(一)—— CPU异常记录模拟异常记录

    Windows异常学习笔记(一)-- CPU异常记录 基础知识 异常的分类 CPU异常 分析中断处理函数 _KiTrap00 分析 CommonDispatchException 总结 软件模拟异常 ...

  6. Windows APC学习笔记(二)—— 挂入过程执行过程

    Windows APC学习笔记(二)-- 挂入过程&执行过程 基础知识 挂入过程 KeInitializeApc ApcStateIndex KiInsertQueueApc Alertabl ...

  7. Windows APC学习笔记(一)—— APC的本质备用APC队列

    Windows APC学习笔记(一)-- APC的本质&备用APC队列 基础知识 APC的本质 APC队列 APC结构 分析 KiServiceExit 总结 备用APC队列 挂靠环境下Apc ...

  8. Windows系统调用学习笔记(四)—— 系统服务表SSDT

    Windows系统调用学习笔记(四)-- 系统服务表&SSDT 要点回顾 系统服务表 实验:分析 KiSystemService 与 KiFastCallEntry 共同代码 SSDT 实验: ...

  9. Windows系统调用学习笔记(三)—— 保存现场

    Windows系统调用学习笔记(三)-- 保存现场 要点回顾 基本概念 Trap Frame 结构 线程相关的结构体 ETHREAD KTHREAD CPU相关的结构体 KPCR _NT_TIB KP ...

最新文章

  1. Facebook人工智能副总裁:AI 这一领域很快就会「碰壁」
  2. 一家大型公司的nginx配置
  3. 很多优秀的软件公司和开发者为什么愿意开源和共享?
  4. Office365开发系列——开发一个全功能的Word Add-In
  5. [网络流24题]圆桌问题
  6. 网页看视频计算机休眠,晚上挂着下电影怎么让电脑不休眠 Win7关闭休眠图文教程...
  7. 如何使用 python glob model
  8. 零基础必看的Html5+Css3+移动端前端教程(四)
  9. 数字图像处理(三):函数fspecial
  10. wordpress基础插件开发3-add_action()案例研究
  11. 工作学习办公软件助手集合
  12. Greek Gods,Roman Gods and Chinese Gods
  13. 总线(Bus)-计算机硬件系统
  14. python五子棋双人对弈_用python实现双人五子棋(终端版)
  15. 全球及中国电解电容器(E-Cap)供给能力与竞争状况分析报告2022~2027年
  16. Excel/pandas遍历各表拼接并对具体列进行文本筛选
  17. Q上多项式可约性深化定理
  18. 淘宝短视频,为什么搬运的短视频没有流量?从算法角度分析
  19. Slider Revolution 轮播滑块Wordpress插件下载
  20. DataFrame按照时间分组然后求平均

热门文章

  1. 设备驱动程序INF文件
  2. springboot 控制台输出错误信息_springboot日志详解
  3. webpack 的基本使用—— 创建列表隔行变色项目||在项目中安装和配置 webpack
  4. windows 技术篇-判断某个ip地址相对于自己的主机是内网ip还是外网ip实例演示
  5. PyQt5 技巧篇-便于文字排版的等宽字体推荐:Source Code Pro的中文为英文两倍宽字体
  6. Python 空字符串转化问题:ValueError: invalid literal for int() with base 10: ' ',原因及解决方法。
  7. 固态硬盘uefi装win10
  8. 洛谷【P2257】YY的GCD
  9. Tarjan 算法详解
  10. sdut-1117 C语言实验——求绝对值(选择结构)