windows令牌学习
访问令牌
访问令牌(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令牌学习相关推荐
- 超详细配置教程,搭建 Windows 深度学习环境
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 选自 | towardsdatascience 作者 | Ahina ...
- Windows异常学习笔记(五)—— 未处理异常
Windows异常学习笔记(五)-- 未处理异常 要点回顾 最后一道防线 实验一:理解最后一道防线 实验二:新线程的最后一道防线 总结 UnhandledExceptionFilter 实验三:理解U ...
- Windows异常学习笔记(四)—— 编译器扩展SEH
Windows异常学习笔记(四)-- 编译器扩展SEH 要点回顾 编译器支持的SEH 过滤表达式 实验一:理解_try_except 实验二:_try_except 嵌套 拓展SEH结构体 scope ...
- Windows异常学习笔记(二)—— 内核异常处理流程用户异常的分发
Windows异常学习笔记(二)-- 内核异常处理流程&用户异常分发 用户层与内核层异常 内核异常 分析 KiDispatchException 分析 RtlDispatchException ...
- Windows异常学习笔记(一)—— CPU异常记录模拟异常记录
Windows异常学习笔记(一)-- CPU异常记录 基础知识 异常的分类 CPU异常 分析中断处理函数 _KiTrap00 分析 CommonDispatchException 总结 软件模拟异常 ...
- Windows APC学习笔记(二)—— 挂入过程执行过程
Windows APC学习笔记(二)-- 挂入过程&执行过程 基础知识 挂入过程 KeInitializeApc ApcStateIndex KiInsertQueueApc Alertabl ...
- Windows APC学习笔记(一)—— APC的本质备用APC队列
Windows APC学习笔记(一)-- APC的本质&备用APC队列 基础知识 APC的本质 APC队列 APC结构 分析 KiServiceExit 总结 备用APC队列 挂靠环境下Apc ...
- Windows系统调用学习笔记(四)—— 系统服务表SSDT
Windows系统调用学习笔记(四)-- 系统服务表&SSDT 要点回顾 系统服务表 实验:分析 KiSystemService 与 KiFastCallEntry 共同代码 SSDT 实验: ...
- Windows系统调用学习笔记(三)—— 保存现场
Windows系统调用学习笔记(三)-- 保存现场 要点回顾 基本概念 Trap Frame 结构 线程相关的结构体 ETHREAD KTHREAD CPU相关的结构体 KPCR _NT_TIB KP ...
最新文章
- Facebook人工智能副总裁:AI 这一领域很快就会「碰壁」
- 一家大型公司的nginx配置
- 很多优秀的软件公司和开发者为什么愿意开源和共享?
- Office365开发系列——开发一个全功能的Word Add-In
- [网络流24题]圆桌问题
- 网页看视频计算机休眠,晚上挂着下电影怎么让电脑不休眠 Win7关闭休眠图文教程...
- 如何使用 python glob model
- 零基础必看的Html5+Css3+移动端前端教程(四)
- 数字图像处理(三):函数fspecial
- wordpress基础插件开发3-add_action()案例研究
- 工作学习办公软件助手集合
- Greek Gods,Roman Gods and Chinese Gods
- 总线(Bus)-计算机硬件系统
- python五子棋双人对弈_用python实现双人五子棋(终端版)
- 全球及中国电解电容器(E-Cap)供给能力与竞争状况分析报告2022~2027年
- Excel/pandas遍历各表拼接并对具体列进行文本筛选
- Q上多项式可约性深化定理
- 淘宝短视频,为什么搬运的短视频没有流量?从算法角度分析
- Slider Revolution 轮播滑块Wordpress插件下载
- DataFrame按照时间分组然后求平均
热门文章
- 设备驱动程序INF文件
- springboot 控制台输出错误信息_springboot日志详解
- webpack 的基本使用—— 创建列表隔行变色项目||在项目中安装和配置 webpack
- windows 技术篇-判断某个ip地址相对于自己的主机是内网ip还是外网ip实例演示
- PyQt5 技巧篇-便于文字排版的等宽字体推荐:Source Code Pro的中文为英文两倍宽字体
- Python 空字符串转化问题:ValueError: invalid literal for int() with base 10: ' ',原因及解决方法。
- 固态硬盘uefi装win10
- 洛谷【P2257】YY的GCD
- Tarjan 算法详解
- sdut-1117 C语言实验——求绝对值(选择结构)