首页
社区
课程
招聘
[旧帖] 低权限token创建高权限进程可能吗? 0.00雪花
发表于: 2011-4-23 17:26 7270

[旧帖] 低权限token创建高权限进程可能吗? 0.00雪花

2011-4-23 17:26
7270
我现在有一个工作要求:
1.目前有一个系统服务已经在运行
2.OpenProcessToken一个普通用户User(不是管理员组)的token
3.通过这个token CreateProcessAsUser创建了User的进程

单现在的问题是,User所创建的进程需要高权限才能得到预期的结果。

你可能会说为什么不直接在系统服务中直接创建进程,因为我要进入用户的token中创建那个进程才能得到预期的效果。

现在的问题就是,我该怎样CreateProcessAsUser(普通用户的token,...)创建一个具有较高权限的进程。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 416
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不大会,但能不能让服务授权当前用户,user组自己应该得不到比较高的权限吧。
2011-4-23 17:50
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我也是有这个考虑。
可是如果把user用户加入到管理员组,一个问题是有安全问题,另一个也不能立刻生效(要下次登录)。
2011-4-23 18:01
0
雪    币: 75
活跃值: (803)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
你是想让一个表面上只具有普通用户权限的进程 能干 system权限才能干的事情吧

windows权限控制 靠 acl来做的,acl根据当前线程佩戴的TOKEN来作出权限判断 ,TOKEN是从普通用户进程复制过来的,那就别想有system权限;
不用漏洞不用驱动 ,我想应该是没办法能达到你要的目的 ,或许也有,那也太猛了!
2011-4-23 18:09
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
正是我的本意!

但是,我想的是,目前已经有一个system权限的进程了,难道对这个user令牌的进程的权限提升一点帮助都没有吗?
2011-4-23 18:13
0
雪    币: 75
活跃值: (803)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
没用,
虽然有个超人母亲,但这个超人母亲只是代孕,代孕的 只是一个普通人的受精卵,没有超人基因 ,长出来还是普通人
2011-4-23 21:36
0
雪    币: 416
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
那就设一个特殊权限者。只针对你要访问的目录或文件。
2011-4-23 21:48
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我不能去新建用户啊,就要针对当前登录的user进行操作
2011-4-24 00:39
0
雪    币: 9281
活跃值: (18680)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
不知这个能否达到LZ的要求,如果知道一个管理员账户,把账户密码写在程序里,但存在被人逆向出来的可能性。。。
BOOL CreateProcessWithLogonW(
  LPCWSTR lpUsername,                 // user's name
  LPCWSTR lpDomain,                   // user's domain
  LPCWSTR lpPassword,                 // user's password
  DWORD dwLogonFlags,                 // logon option
  LPCWSTR lpApplicationName,          // executable module name
  LPWSTR lpCommandLine,               // command-line string
  DWORD dwCreationFlags,              // creation flags
  LPVOID lpEnvironment,               // new environment block
  LPCWSTR lpCurrentDirectory,         // current directory name
  LPSTARTUPINFOW lpStartupInfo,       // startup information
  LPPROCESS_INFORMATION lpProcessInfo // process information
);
2011-4-24 08:04
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
如果是管理账户,LogonUser同样也可以实现,或者dump出管理员的token然后CreateProcessAsUser。

问题就是我现在要创建进程的用户是一个普通用户,但我又想让这个进程可以有高权限。
2011-4-24 09:58
0
雪    币: 9281
活跃值: (18680)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
11
还是不太理解,先用管理员账号启动一个进程(假如:CMD.EXE),然后用该进程再执行进程没有高权限吗?就是先套个壳,就像user用户使用系统命令runas一样不行吗?
2011-4-24 10:39
0
雪    币: 154
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
Dump用户的token 然后CreateProcessAsUser默认就是用户的低权限。
我的问题的本质,我想把这个token的权限改高。
2011-4-24 13:26
0
游客
登录 | 注册 方可回帖
返回
//