快速导航×

Windows原理深入学习系列-信任等级检查2025-07-12 08:00:38

这是[信安成长计划]的第23篇文章

0x00 目录

0x01 介绍

0x02 逆向分析 Win10_x64_20H2

0x03 WinDBG

0x04 参考文章

过去,我一直认为SACL仅仅是用于审计的,但在深入分析时发现,SACL还具有其他功能。

0x01 介绍

根据资料显示,权限检查是在ObpGrantAccess函数中完成的。

Windows原理深入学习系列-信任等级检查在之前的文章中,我们了解到在进行权限检查时,首先会进行完整性等级的检查,然后再检查ACL。然而,在跟踪函数后,发现了在这些检查之前,还存在其他检测行为,即先进行信任等级的检查。

Windows原理深入学习系列-信任等级检查在进行取值时,值是从SACL中获取的,这也改变了我们之前认为SACL仅用于审计的观点。

0x02 逆向分析 Win10_x64_20H2

进入函数后,首先获取TrustLabel的ACE。

Windows原理深入学习系列-信任等级检查通过向上追溯,可以发现传入的参数是SecurityDescriptor类型的。

Windows原理深入学习系列-信任等级检查根据微软文档可知,这是被访问者的安全描述符。

Windows原理深入学习系列-信任等级检查接着是对Control的判断,与之前文章中DACL的相对位置或绝对位置是一样的情况,详细内容可以参考《Windows原理深入学习系列-访问控制列表-关于安全描述符的补充》。

Windows原理深入学习系列-信任等级检查然后调用RtlFindAceByType通过类型来寻找我们想要的ACE,这里要找的是SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE,具体操作这里就不详述了,之前已经分析过如何获取ACE,如何判断ACE类型等,详细内容可以参考《Windows原理深入学习系列-访问控制列表》。

Windows原理深入学习系列-信任等级检查找到后,还会进行一次判断,如果有效就直接返回,也就是找到了。

Windows原理深入学习系列-信任等级检查如果没有找到,从一开始就不跳转,直接返回零。

Windows原理深入学习系列-信任等级检查接下来回到主函数,如果没有找到就直接退出,这里假设已经找到了。

这里面还会涉及到一些其他的操作,暂时先不考虑这些内容,所以后面的一些跳转就省略不看了,这些操作也都是成对的,刚开始有申请,退出时有释放。

Windows原理深入学习系列-信任等级检查接下来会获取当前安全主体的上下文,用来与目标的安全等级进行对比,这里取出了Token,但有PrimaryToken和ClientToken之分。

Windows原理深入学习系列-信任等级检查根据后面的逻辑分析,如果没有ClientToken,就会直接用PrimaryToken进行比较,如果有的话,会先进行ClientToken比较,当PrimaryToken的TrustLevelSid大于ClientToken后,才会再进行PrimaryToken与目标等级的对比,否则就会使用ClientToken与目标等级进行对比。

但ClientToken是什么呢?猜测可能与Impersonation有关。

Windows原理深入学习系列-信任等级检查因为对于Token的描述就是有这两种。

秀脸FacePlay 秀脸FacePlay

一款集成AI换脸、照片跳舞等多种AI特效玩法的App

秀脸FacePlay 124 查看详情 秀脸FacePlay

Windows原理深入学习系列-信任等级检查在一些函数调用中,ClientToken也被描述为模拟的客户端的Token,这里就假设是这样的用处了,如果不是,请大佬们帮忙指出。

Windows原理深入学习系列-信任等级检查在进行对比时,有另外一个函数来进行,它会将两个SID都传入,然后进行对比,而对比的结果是通过r8来接收的。

Windows原理深入学习系列-信任等级检查在这个函数中,对比逻辑主要就是有TrustLabel的大于没有TrustLabel,PP保护的大于PPL,Signer也是高值大于低值。

Windows原理深入学习系列-信任等级检查然后再来看判断完以后的情况,先看返回值,确定函数执行成功了,然后再看返回值,因为是从r8回来的,所以这里看的就是var38。

Windows原理深入学习系列-信任等级检查如果不为零,就说明当前的Trust的等级高于目标的,然后将arg30置-1。

Windows原理深入学习系列-信任等级检查否则的话,将目标ACE的AccessMask的第24位置1,通过微软文档可以得知,不管成功与否,当前的访问都是会被审计的。

Windows原理深入学习系列-信任等级检查0x03 WinDBG

可以通过WinDBG来观察到已经被保护的System Token,先得到安全描述符。

Windows原理深入学习系列-信任等级检查然后交给WinDBG来进行解析。

Windows原理深入学习系列-信任等级检查0x04 参考文章

1.https://www.php.cn/link/f0e74f09295841e202946abdc1829518

2.https://www.php.cn/link/4c3c33b9115db0a66cd40a5465974ed6

3.https://www.php.cn/link/2910d1ad8c41edfda403263d973b0ae1

4.https://www.php.cn/link/fd5323cdf77a30f8ccc4f468be401563

5.https://www.php.cn/link/6b542509805b2618d880d79d813a51e9

6.https://www.php.cn/link/a11bda17f8522e39a9bcf3cad3794341

7.https://www.php.cn/link/9e04a739ebd144fa784a334e6365bdc1

8.https://www.php.cn/link/c933697660243185652bf51a75f9001a

9.https://www.php.cn/link/648e9e6a126696bd6f0eaf62b2b222b0

10.https://www.php.cn/link/ef7db75e56ef7972af70c3900d2174fa

11.https://www.php.cn/link/4c3c33b9115db0a66cd40a5465974ed60

12.https://www.php.cn/link/4c3c33b9115db0a66cd40a5465974ed61

以上就是Windows原理深入学习系列-信任等级检查的详细内容,更多请关注其它相关文章!


# git  # access  # win10  # 如果没有  # 都是  # 这是  # 错误代码  # 就会  # 是有  # windows  # 是从  # 网站推广短语大全  # 宁夏网站建设大概收费  # 现代营销推广特点  # 长沙网站有哪些推广  # seo痛点  # 梅州网站优化服务  # 微软  # 还会  # 就不  # 辽宁海外营销推广  # 龙华网站建设方法  # 黄石品牌网站优化哪里好  # 泰州新网站如何优化推广 


相关栏目: 【 企业资讯168 】 【 行业动态50218 】 【 媒体报道120512


相关推荐: 命令控制台如何执行sql文件  折叠屏手机哪个卖得最好  交管12123协议头不完整是什么原因  学typescript需要多久  如何卸载typescript  2025年哪个局域网聊天软件好用  新装固态硬盘如何安装  如何winpe cmd命令  typescript中文怎么读  如何安装m.2固态硬盘  hive中datediff函数怎么用 Hive中DATEDIFF函数的使用指南  怎么打印数组j*a  夸克是什么用途  如何查询固态硬盘寿命  8英寸等于多少厘米  8800日元等于多少人民币  为什么要出折叠屏手机  主板如何禁用固态硬盘  征信信用不好如何恢复 征信信用不好如何恢复指南  linux命令如何换行  gs是什么意思  meet是什么意思  j*a如何运行curl命令行  苹果16都有哪些型号  硬件如何执行命令  1tb等于多少mb  对应市盈率是30X是什么意思  新网站如何填写域名解析  单片机怎么进行排序操作  vivo手机爱奇艺怎么投屏到电视操作步骤  make命令如何使用  如何看固态硬盘型号  咋免费领取爱奇艺会员 如何免费领取爱奇艺会员步骤  春运抢票需要抢几天  如何选购ssd固态硬盘  阿里云盘扩容是什么_扩容阿里云盘方法是什么教程  交管12123协议头不完整怎么解决  台机如何安装固态硬盘  市盈率tt的扣非是什么意思  企业征信不好如何恢复 企业征信不好怎么恢复步骤  美食音乐每日推荐怎么写  如何安装固态硬盘win10  苹果16有哪些变化尺寸  新找到ao3镜像网站链接入口  python 如何执行linux命令  type-c接口接地是什么意思  如何在一串数字前面去掉四位数的命令  如何在命令行写j*a程序  j*a数组怎么保存类  苹果16系统有哪些改变