Windows提权方式汇总

news/2024/10/14 4:25:02

windows 提权

一、土豆(potato)家族提权

原理

土豆提权就是通过 windows 的 COM(Component Object Model,组件对象模型)类。向指定的服务器端口发送 NTLM 认证,捕获认证数据包,并修改数据包内容使其认证成功,从而获得 system 权限的 token。在通过高权限的令牌执行反弹 shell 的命令,获取高权限用户的 shell。

实现条件

  1. 获取到高权限的 token
  2. 当前账户拥有 SeImpersonatePrivilege 或 SeAssignPrimaryTokenPrivilege 权限

当用户具有 SeImpersonatePrivilege 特权,可以调用 CreateProcessWithTokenW 以某个 Token 的权限启动新进程。(最常见的,一般 IIS 服务的用户都具有该类权限)
当用户具有 SeAssignPrimaryTokenPrivilege 特权,可以调用 CreateProcessAsUserW 以指定用户权限启动新进程。(这个权限一般管理员才具有)

1)juicypotato(多汁土豆)

github 里有详细的讲解: https://github.com/ohpe/juicy-potato

满足以上提权的条件,直接用工具进行提权。

juicypotato 可以在本地监听端口,进行提权。

2)RoguePotato(烂土豆)

微软修补后,高版本 Windows DCOM 解析器不允许 OBJREF 中的 DUALSTRINGARRAY 字段指定端口号(也就是不能像 juicypotato 一样在本地端口直接监听 NTLM 认证的流量包了)。

但是,总有大佬会绕过这样的限制:为了绕过这个限制并能做本地令牌协商,作者在一台远程主机上的 135 端口做流量转发,将其转回受害者本机端口,并写了一个恶意 RPC OXID 解析器。

github 介绍: https://github.com/antonioCoco/RoguePotato/tree/master

image-20240825150146937

出发 NTLM 认证机制后,把流量包转到了 kali 主机的 135 端口上,再有 kali 主机上转给 windows 主机的 9999 端口,从而实现了 对 DCOM 解析器不允许 OBJREF 中的 DUALSTRINGARRAY 字段指定端口号 的绕过,原理与 juicypotato 基本一致。

二、系统错误配置提权-AlwaysInstallElevated

这是一个最经典的 windows 提权,但是实际场景中确是很少见的。简单说一下原理。

这是由于 window 的注册表的配置错误导致的提权,AlwaysInstallElevated 选项置为 1 后,windows 在执行 msi 下在文件时,会用高权限用户去安装。此时,我们的 msi 文件里的内容不是正常的下载程序,而是反弹 shell 的语句,不就完成提权了吗

实现的话可以去 msf 中生成一个恶意的 msi 文件,下载到 windows 上执行,进行提权。

三、内核提权

这是最简单的一种提权方式,站在巨人的肩膀上,利用大佬发现的操作系统内核的漏洞进行提权。

最经典的永恒之蓝(ms-17-010)漏洞,就是操作系统内核漏洞,只要攻击成功就是最高的 system 权限。

这里分享一个帮助发现系统提权漏洞的工具

WinPeas: https://github.com/peass-ng/PEASS-ng/tree/master/winPEAS

他可以枚举出一些可以尝试的攻击方式,但是也不能全信,还是要根据我们对目标具体收集到的信息,进行判断。

注意:内核提权很容易导致目标系统崩溃,想使用一定是经过授权的,或者是在自己的靶机环境中

四、密码收集提权

通过发现电脑用户的一些账号密码

1)浏览器密码

浏览器密码一般在: %APPDATA%\Mozilla\Firefox\Profiles\xxx.default\ 文件夹下

Version 大于等于 32.0,保存记录的文件为 logins.json
Version 大于等于 3.5,小于 32.0,保存记录的文件为 signons.sqlite

可以使用工具

WebBrowserPassView:
链接:https://pan.baidu.com/s/1jTumsrJSRLRIIdG49fHLlA?pwd = gbsz
提取码:gbsz

2)注册表密码

reg query HKEY_CURRENT_USER\Software\TightVNC\Server

用 vncpwd 工具进行解密:https://aluigi.altervista.org/pwdrec/vncpwd.zip

五、数据库提权

1)mysql UDF 提权

UDF 提权原理

UDF 指的是用户自定义函数,用户可以对数据库所使用的函数进行一个扩展(利用 dll 文件),从而定制一些符合自己需求的函数,但是同样的,当黑客获取了数据库的 root 用户的一个权限时,即使所在的系统权限很低,也可以使用 UDF 来自定义一个执行系统命令的函数,但是执行权限为管理员权限,从而可以用来添加管理员账户,远程连接。

提权条件

  1. 必须是 root 权限(主要是得创建和抛弃自定义函数)
  2. secure_file_priv =
  3. 将 udf.dll 文件上传到 MySQL 的 plugin 目录下(这里以 MySQL = 5.5.29 为例)

查看 secure_file_priv 的值(他必须是空白值,只要有内容就不能进行 UDF 提权)

show global variables like "secure%";

查看 mysql 绝对路径

SHOW VARIABLES LIKE "%plugin%";

创建文件夹( 你要提权系统的 mysql 的绝对路径 )

select 'xxx' into dumpfile
'C:\\phpstudy_pro\\Extensions\\MySQL5.5.29\\lib::$INDEX_ALLOCATION';select 'xxx' into dumpfile
'C:\\phpstudy_pro\\Extensions\\MySQL5.5.29\\lib\\plugin::$INDEX_ALLOCATI
ON';

虽然语句会出现报错,但是文件夹会成功创建。

利用 msf 的 exploit/multi/mysql/mysql_udf_payload 生成一个 dll 的 payload,上传到\lib\plugin 目录下

SELECT 生成的payload内容 into dumpfile 'C:\\phpstudy_pro\\Extensions\\MySQL5.5.29\\lib\\plugin\\udf.dll';

定义别名

CREATE FUNCTION sys_eval RETURNS STRING SONAME 'udf.dll';
select sys_eval('whoami');

看到输出为system用户

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/52950.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

AxureRP原型图软件常见报错问题汇总

做Axure教程有一段时间了, 很多小伙伴在使用软件的时候就遇到很多问题,甚至还有在初始安装软件的时候就困难重重。这篇文章在你使用Axure软件过程中绝对可以用得到,赶紧点赞收藏起来~本期我们分为软件安装、和软件使用问题。本期只分享一些高频问题,如果你还遇到什么别的奇…

【PyTorch】n卡驱动、CUDA Toolkit、cuDNN全解安装教程

@目录GPU、NVIDIA Graphics Drivers、CUDA、CUDA Toolkit和cuDNN的关系使用情形判断仅仅使用PyTorch使用torch的第三方子模块安装NVIDIA Graphics Drivers(可跳过)前言Linux法一:图形化界面安装(推荐)法二:手动下载文件后命令行安装(不推荐)windows法一:GeForce Exper…

Triangle: The Data Structure(优秀の二维 ST 表)

link. 这种 RMQ 对像我这样萌新来说只有两种比较直观的方案:线段树 ST 表首先考虑线段树,如果是朴素的一维线段树,那么我们只能一行一行地扫,显然相比暴力优化了一些,但不多,最终还是会愉快地 T 掉(亲测)。 然后我不会超冷门的数据结构二维线段树。 所以蒟蒻只能用好写…

Python3.11二进制AI项目程序打包为苹果Mac App(DMG)-应用程序pyinstaller制作流程(AppleSilicon)

众所周知,苹果MacOs系统虽然贵为Unix内核系统,但由于系统不支持N卡,所以如果想在本地跑AI项目,还需要对相关的AI模块进行定制化操作,本次我们演示一下如何将基于Python3.11的AI项目程序打包为MacOS可以直接运行的DMG安装包,可以苹果系统中一键运行AI项目。 MacOs本地部署…

2.MapReduce论文总结

一. 介绍很多业务逻辑很简单,主要难点是数据量太大,可使用分布式处理提高速度。 传统分布式程序,计算逻辑和分布式任务分发、故障恢复混在一起,原本简单的计算逻辑变得模糊不清,难以处理。 MapReduce将两者分离,任务分发,容错,恢复等逻辑由模型完成,程序员只需要专注计…

Lab1 记录

一、非并行版本分析 1.非并行版本MapReduce流程通过第一个参数,传入Map和Reduce 函数 之后的参数为待处理文件名 读取文件 调用Map函数,对文件内容进行处理,生成KV对 对KV对进行sort 按照Key进行分组,然后对每组数据调用Reduce 将结果写入文件二、Lab思路 概述:Worker向Co…

JMeter:性能测试利器全解析

目录JMeter:性能测试利器全解析一、JMeter 的基础概念(一)什么是 JMeter(二)主要功能特点二、使用 JMeter 测试 Web 应用的步骤(一)安装与启动(二)创建测试计划(三)配置 Web 应用测试场景(四)运行测试(五)分析测试结果三、案例分析(一)案例背景(二)测试步骤…

ZBlogPHP迁移网站错误提示:Permission denied(请确保你的网站有写入权限777)

解决方案:设置你的网站目录为777 写入权限即可【注意:如果755可能会不行,最好直接使用777搞定】扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HTML5、CSS3、Javascript等。承接:企业仿站、网站修改、网站改版、BUG修复、问题…