AD域中尝试绕过UAC

什么是UAC?

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。
--百度百科

高:
任何程序启动都需要申请

默认:
UAC在不手动更改的情况下,程序需要administrator权限的时候。会弹出框框申请

中:
申请administrator权限不弹出申请框框,默认允许

从不提醒:
所有程序启动皆为administrator权限

最近需要在AD域中推送一个exe,如果只用管理员权限(administrator,或者具备管理权限的AD账号)运行,会因为权限不够而中断执行,需要UAC权限(也就是右键以管理员身份运行)才能够运行安装。就算登录用户已经在本地administrator组或者域的admin组中也不行。

尝试了不少方法,做一个总结。

绕过UAC失败的方法:

失败方法一:使用AD用户管理中的登录脚本

此方式也是该软件官方推荐的方式,将exe放在域控的登录脚本目录下,再为目标账户设置登录脚本。

\\域控机计算机名\SYSVOL\sysvol\域控domain\SCRIPTS\

或者也可以放入能够让域内成员访问的共享目录,但是登录脚本要使用绝对路径。

此方法可以成功让域成员登录时执行该exe,但是会因为权限不足而中断进程

失败方法二:使用系统自带的runas命令

系统自带的runas命令需要手动输入密码,但如果此方法成功,便可以使用autoit等方法重新将此命令封装,到达自动输入密码的目的。

尝试了本地管理员和域管理员,皆失败,同样因为权限不够而中断进程

runas /user:administrator C:\Users\test01\Desktop\run.exe

加了/netonly参数之后,可以使exe被调起,但是仍因权限不足而中断

runas /netonly /user:admin@xxxxx.local \\dc1\NETLOGON\run.exe

image-20220819150723416

失败方法三:使用第三方工具(其实就是加强版的runas)

  • 工具1,RunAsRob,失败
  • 工具2,RunAsSPC,失败
  • 工具3,Lsrunase,失败
  • 工具4,AdvancedRun,失败,这个功能很丰富,如果不是特殊的场景,很好用

其实在尝试runas命令失败时,我已经知道这个程序是需要UAC权限的,这些软件最多能够调用administrator级别的权限,却不能pass UAC。
以上工具如果不是像这种特殊的程序,在某些场景下还是很有用的,比如一些只需要管理员权限而不需要UAC权限时,就可以通过他们来实现。

附上一个脚本。判断进程决定是否执行

@echo off

set "processFlag=run.exe"
tasklist | findstr /IM %processFlag%
if %errorlevel% == 0 (
        exit /b 0
)
copy /Y  \\dc2\NETLOGON\run.exe %windir%\Temp\
start /MIN "" %windir%\Temp\run.exe -Silence=Y
##或者使用 Lsrunase 等工具带参数直接运行程序

if %errorlevel% ==0 (
        echo >%windir%\Temp\flag.log%
        exit /b 0
        £©

exit /b 0

成功的方法

花了大约1小时进行以上各种尝试之后,我想起来了很久之前当脚本小子时用过的一个方法:使用系统自带的计划任务

马上新建了一个域策略进行测试,配置如图:

运行任务使用的用户%LogonDomain%\%LogonUser%AD域名\登录用户

并且勾选 使用最高权限运行

策略下发之后,等待客户端自动刷新策略(默认90分钟和域控同步一次策略),或者客户端手动gpupdate /force

看日志,可见该exe已成功完成安装!

但此方法的弊端就是登录的域账户本身具有本地计算机管理权(在administrator组中),否则也会因为权限不足而中断。
至少有了一个可行方法吧~

未尝试的方法:

有人说SCCM方式也可以pass UAC,找时间尝试了之后再更新。

DLL劫持法,非常规方法,曾经用msf成功pass UAC,太过于麻烦且非常规方法,未尝试。

参考:

BypassUAC原理及方法汇总

域环境加权推送安装软件

bypass UAC研究

最后修改:2022 年 08 月 19 日
如果觉得我的文章对你有用,请随意赞赏