V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
forcecharlie
V2EX  ›  Windows

分享一个比较冷门的在 Windows 上使用指定的权限级别运行程序的工具

  •  1
     
  •   forcecharlie · 2018-12-30 20:04:41 +08:00 · 4625 次点击
    这是一个创建于 2190 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Windows 上进程的权限

    Privexec 使用指定的权限级别运行程序。在 Windows 上,程序的权限级别可分为如下:

    • TrustedInstaller 可信安装,此权限属于 Windows Modules Installer service (TrustedInstaller.exe),常用于 Windows Update 和 Windows 资源保护。
    • System 本地服务权限。
    • Administrator 管理员(组)权限
    • Not Elevated 标准用户权限
    • Mandatory Integrity Control 低完整性
    • AppContainer UWP/Store APP 权限

    在 Windows 上,可能存在一些需求,比如在管理员权限获得 System/TrustedInstaller 权限去做一些事情(一帮不建议这么做)。也有可能以较低权限启动进程,或者实现进程权限从管理员降低到标准受限用户(这个建议)。还有一些,用于对 Windows 做安全分析,比如启动一个 AppContainer 进程,然后研究 Sandbox 逃逸机制。等等。

    Privexec 的特性

    Privexec 这个工具,自身以管理员权限运行时,可以启动 System/TrustedInstaller 权限进程,以标准用户启动时常常用于启动 AppContainer 进程。

    在 Windows 8/8.1/10 中,应用商店,UWP 进程都是使用 AppContainer 隔离,当你启动 UWP 程序后你可以使用 Process Explorer 或者 Process Hacker 去分析进程的权限信息。

    Privexec 能够支持在 以 AppContainer 启动 Win32 进程,并且支持 LPAC, 也就是 Windows 10 新增的 Less Privileged AppContainer

    App Container has access to resources protected with ALL APPLICATION PACKAGES SID: This SID has read permission on all folders by default. LPAC is a more restricted version of the App Container. it denies access by default for everything. One can access only the secured objects that are granted explicitly to LPAC.

    开启了 LPAC,你如果没有 lpacCOM,COM 对象都无法调用。LPAC 借鉴了 Google Project Zero sandbox-attacksurface-analysis-tools

    管理员权限:

    Admin

    启动 AppContainer 进程:

    AppContainer

    Privexec 支持命令别名:

    Alias

    命令行版本:

    wsudo

    关于在 Windows 上以不同权限启动进程的原理有相应的博客:Privexec 杂谈

    Privexec 主要用在 Windows 10 上,故代码仅支持 Windows 较高版本,建议至少是 1803 或者更高。

    下载 CI 构建的 64bit: https://ci.appveyor.com/project/fcharlie/privexec/build/artifacts

    许可证 MIT。

    类似工具

    1. NSudo - A Powerful System Administration Tool

    NSudo 主要擅长权限开启,Privexec 更擅长 AppContainer。NSudo 知名度更广,Privexec 基本只有少数人知道。

    其他

    Process Hacker 推荐下载 Nightly (v2 比较陈旧,有些特性未支持):https://wj32.org/processhacker/nightly.php

    Privexec 安全论坛上的介绍:https://www.wilderssecurity.com/threads/privexec-run-the-program-with-the-specified-permission-level.410734/

    6 条回复    2019-01-18 22:46:47 +08:00
    brotherlegend
        1
    brotherlegend  
       2018-12-30 20:09:37 +08:00 via iPhone
    马克一下
    Counter
        2
    Counter  
       2018-12-30 20:23:54 +08:00 via iPhone
    好像很厉害的样子,谢谢分享
    viazure
        3
    viazure  
       2018-12-30 22:07:00 +08:00
    感谢,先收藏了
    q8515620
        4
    q8515620  
       2018-12-31 02:23:26 +08:00 via Android
    谢谢分享,或许以后有用
    Luzifer
        5
    Luzifer  
       2018-12-31 09:28:05 +08:00
    2018 年最后一天才知道 在 Windows 上,程序的权限级别有这么多

    我只知道双击,提示需要管理员身份运行就点确定
    dalieba
        6
    dalieba  
       2019-01-18 22:46:47 +08:00 via Android
    我也分享一个工具:AdvancedRun,这个还能把权限级别当配置文件保存。
    http://www.nirsoft.net/utils/advanced_run.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   949 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:50 · PVG 04:50 · LAX 12:50 · JFK 15:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.