Privexec 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Privexec 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Privexec 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 C/C++ SHELL
操作系统 跨平台
软件类型 开源软件
所属分类 其他
开源组织
地区 国产
投 递 者 我怀疑你有问题
适用人群 未知
收录时间 2020-07-27

软件简介

Privexec 使用特定的用户权限运行程序

安装

使用 baulk 安装 Privexec

baulk install wsudo
wsudo --version

当然你可以直接下载压缩包,然后使用 7z/WinRar/资源管理器等提取到任意目录运行 Privexec/AppExec/wsudo,下载链接: https://github.com/M2Team/Privexec/releases/latest

别名

Privexec 和 wsudo 能够解析别名,另外 wsudo 添加或者删除别名,使用 vscode 编辑 Privexec.json 修改别名也是不错的选择,当 Privexec 通过 baulk 安装时,Privexec.json 的存储目录为 $BAULK_ROOT/bin/etc,如果 Privexec 直接下载解压,那么 Privexec.json 则在 Privexec.exe 相同的目录。

{
    "alias": [
        {
            "description": "Edit Hosts",
            "name": "edit-hosts",
            "target": "Notepad %windir%\\System32\\Drivers\\etc\\hosts"
        },
        {
            "description": "Windows Debugger",
            "name": "windbg",
            "target": "\"%ProgramFiles(x86)%\\Windows Kits\\10\\Debuggers\\x64\\windbg.exe\""
        }
    ]
}

截图

ui

别名:

alias

AppContainer:

appcoantiner

wsudo 帮助信息输出:

wsudo

wsudo Verbose 模式:

wsudo

AppExec AppContainer 启动器:

appexec

使用帮助

Privexec 是一个 GUI 客户端, 当以标准用户运行时你可以启动管理员进程;当以管理员运行时则可以提权到 System 或者 TrustedInstaller,需要注意 System 或者 TrustedInstaller 拥有太多特权,容易破坏系统运行,使用的时候需要慎重。

AppExec 是一个启动 AppContainer 进程的程序,有一些开发者使用该程序去研究 Windows AppContainer 的运行细节,研究 AppContaner 的漏洞,UWP 应用便是运行在 AppContainer 容器中的。

wsudo 是 Privexec/AppExec 的控制台版本,详细使用帮助如下:

wsudo 😋 ♥ run the program with the specified permissions
usage: wsudo command args...
   -v|--version        print version and exit
   -h|--help           print help information and exit
   -u|--user           run as user (optional), support '-uX', '-u X', '--user=X', '--user X'
                       Supported user categories (Ignore case):
                       AppContainer    MIC       NoElevated
                       Administrator   System    TrustedInstaller

   -n|--new-console    Starts a separate window to run a specified program or command.
   -H|--hide           Hide child process window. not wait. (CREATE_NO_WINDOW)
   -w|--wait           Start application and wait for it to terminate.
   -V|--verbose        Make the operation more talkative
   -x|--appx           AppContainer AppManifest file path
   -c|--cwd            Use a working directory to launch the process.
   -e|--env            Set Environment Variable.
   -L|--lpac           Less Privileged AppContainer mode.
   --disable-alias     Disable Privexec alias, By default, if Privexec exists alias, use it.
   --appname           Set AppContainer Name

Select user can use the following flags:
   |-a  AppContainer    |-M  Mandatory Integrity Control|-U  No Elevated(UAC)|
   |-A  Administrator   |-S  System                     |-T  TrustedInstaller|
Example:
   wsudo -A "%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/powershell.exe" -NoProfile
   wsudo -T cmd
   wsudo -U -V --env CURL_SSL_BACKEND=schannel curl --verbose  -I https://nghttp2.org

Builtin 'alias' command:
   wsudo alias add ehs "notepad %SYSTEMROOT%/System32/drivers/etc/hosts" "Edit Hosts"
   wsudo alias delete ehs

Privexec, AppExec, wsudo 启动命令时,命令行和和启动目录支持通过 ExpandEnvironmentString 推导.

WSUDO 控制台行为细节

wsudo 支持的参数 --hide --wait --new-console 行为细节如下:

PE 子系统 无参数 --new-console --hide
Windows CUI 等待退出/继承控制台 不等待退出/打开新的控制台 不等待退出/无控制台
Windows GUI 不等待退出/打开图形化窗口 不等待退出/打开图形化窗口 不等待退出/忽略
Windows CUI -wait 等待退出/继承控制台 等待退出/打开新的控制台 等待退出/无控制台
Windows GUI -wait 等待退出/打开图形化窗口 等待退出/打开图形化窗口 等待退出/忽略

wsudo 在以标准用户启动管理员进程时,如果当前运行在控制台时,支持继承控制台窗口,如果不是运行在控制台,则无能为力,较新的 Cygwin 目前已经支持在较新的 Windows 10 上以 ConPty 启动控制台,因此时可以继承控制台窗口的,也就是终端。 下图就是佐证。

在开启了 ConPty 的 Mintty 中运行 wsudo 提升进程截图(借助 wsudo-tie 子进程继承了 wsudo 的控制台):

wsudo

WSUDO 环境变量

wsudo 支持通过参数 -e/--env 设置环境变量,例如:

::curl must enabled multiple SSL backends.
wsudo  -U -V --env CURL_SSL_BACKEND=schannel curl --verbose  -I https://nghttp2.org

环境变量会按照 Batch 的机制推导,即使用配对的 % 标记环境变量。

# powershell
.\bin\wsudo.exe -n -e 'PATH=%PATH%;%TEMP%' -U cmd
::cmd
wsudo -e "PATH=%PATH%;%TEMP%" -n -U cmd
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
我怀疑你有问题软件作者
该评论暂时无法显示,详情咨询 QQ 群:912889742
更多评论
2020/10/16 10:18

Privexec/wsudo 4.0.0 发布

Privexec/wsudo 支持在 Windows 上使用特定的用户权限运行程序 ,支持创建 AppContainer 进程,System/TrustedInstaller 进程。目前 4.0.0 已经发布,更新内容如下: 重构创建进程逻辑,改进内部错误输出 当 Privexec 被 baulk 安装时,能更好的支持 Baulk VFS。 Privexec 标题栏菜单新增 'Open Privexec.json' wsudo-tie 已经被替换为 wsudo-bridge ,支持非提升 wsudo 直接创建 TrustedInstaller/System 进程(由用户反馈新增...

4
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2019/12/19 17:51

探讨 Git 代码托管平台的若干问题 - 2019 版

## 关于 Git 版本控制软件种类繁多,维基百科收录的最早的版本控制系统是 1972 年贝尔实验室开发的 [Source Code Control System](https://en.wikipedia.org/wiki/Source_Code_Control_System)。1986 年 [Concurrent Versions System(CVS)](https://en.wikipedia.org/wiki/Concurrent_Versions_System) 诞生,CVS 曾非常流行,但今时用之寥寥无几,不过 OpenBSD 仍在使用 CVS。2000 年 CollabNet 创建了 Subversion 项目,2009年...

7
46
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部