关于windows runas /trustlevel:0x10000 program.exe的解释

之前看到通过这种方法启动的程序在process exproler里显示是这样。
在这里插入图片描述

有很多restricted的sid,还有除了SeChangeNotifyPrivilege以外的权限都被限制了,不能关机啥的。

就怀疑是restricted-tokens的问题,要用createRestrictedToken()里面的SidsToRestrict属性和PrivilegesToDelete来创建新令牌,然后调用createProcessAsuser()函数来引用这个令牌,就能限制一些SID,但这样有个问题,就是如果你和LogonUserA()函数结合起来会失败,因为带自定义token的情况下切换用户需要SE_INCREASE_QUOTA_NAME的权限。
而且这么多sid限制了感觉有点麻烦,无奈之下去逆向了windows的runas程序。
发现程序的导入表里面没有createRestrictedToken,但有createProcessAsuser
在这里插入图片描述
进一步看了一下,他使用SaferCreateLevel和SaferConputerTokenfromLevel生成令牌。
在这里插入图片描述

看了下官网的描述,和trustlevel参数的值一一对应的。
在这里插入图片描述
至此,就自己手搓一个runas项目,有兴趣可以去看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值