.. | ||
abuse-seloaddriverprivilege.md | ||
README.md |
滥用令牌
☁️ HackTricks Cloud ☁️ - 🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 您在网络安全公司工作吗? 想要看到您的公司在 HackTricks 中被广告吗? 或者您想要访问PEASS 的最新版本或下载 HackTricks 的 PDF吗? 请查看订阅计划!
- 探索我们的独家NFTs 集合The PEASS Family
- 获取官方 PEASS & HackTricks 商品
- 加入 💬 Discord 群组 或 电报群组 或在 Twitter 🐦@carlospolopm.
- 通过向hacktricks 仓库和hacktricks-cloud 仓库提交 PR 来分享您的黑客技巧。
令牌
如果您不知道什么是 Windows 访问令牌,请在继续之前阅读此页面:
{% content-ref url="../access-tokens.md" %} access-tokens.md {% endcontent-ref %}
也许您可以通过滥用您已有的令牌来提升权限
SeImpersonatePrivilege(3.1.1)
持有此特权的任何进程都可以模拟(但不能创建)其能够获取句柄的任何令牌。您可以从Windows 服务(DCOM)获取一个特权令牌,使其对漏洞执行NTLM 认证,然后以SYSTEM身份执行进程。使用 juicy-potato、RogueWinRM(需要禁用 winrm)、SweetPotato、PrintSpoofer 来利用它:
{% content-ref url="../roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
{% content-ref url="../juicypotato.md" %} juicypotato.md {% endcontent-ref %}
SeAssignPrimaryPrivilege(3.1.2)
它与SeImpersonatePrivilege非常相似,将使用相同的方法获取特权令牌。
然后,此特权允许为新/挂起的进程分配主令牌。使用特权模拟令牌,您可以派生主令牌(DuplicateTokenEx)。
使用该令牌,您可以使用 'CreateProcessAsUser' 创建新进程,或创建一个挂起的进程并设置令牌(通常情况下,您无法修改正在运行进程的主令牌)。
SeTcbPrivilege(3.1.3)
如果您启用了此令牌,您可以使用KERB_S4U_LOGON为任何其他用户获取模拟令牌,而无需知道凭据,将任意组(管理员)添加到令牌,将令牌的完整性级别设置为“medium”,并将此令牌分配给当前线程(SetThreadToken)。
SeBackupPrivilege(3.1.4)
此特权导致系统授予对任何文件的所有读取访问权限(仅限读取)。
使用它来从注册表中读取本地管理员帐户的密码哈希,然后使用“psexec”或“wmicexec”与哈希(PTH)。
如果本地管理员已禁用,或者配置为远程连接时本地管理员不是管理员,则此攻击将无效。
您可以使用以下工具滥用此特权:
- https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1
- https://github.com/giuliano108/SeBackupPrivilege/tree/master/SeBackupPrivilegeCmdLets/bin/Debug
- 在以下链接中跟随IppSec:https://www.youtube.com/watch?v=IfCysW0Od8w&t=2610&ab_channel=IppSec
- 或如在以下链接中所述,通过使用备份操作员提升权限部分:
{% content-ref url="../../active-directory-methodology/privileged-groups-and-token-privileges.md" %} privileged-groups-and-token-privileges.md {% endcontent-ref %}
SeRestorePrivilege(3.1.5)
对系统上的任何文件具有写入访问权限,无论文件的 ACL 如何。
您可以修改服务、DLL 劫持、设置调试器(Image File Execution Options)... 有很多升级选项。
SeCreateTokenPrivilege(3.1.6)
此令牌仅当用户可以模拟令牌时才能用作 EoP 方法(即使没有 SeImpersonatePrivilege)。
在可能的情况下,如果用户可以模拟令牌且完整性级别小于或等于当前进程的完整性级别,则用户可以创建模拟令牌并向其添加一个特权组 SID。
SeLoadDriverPrivilege(3.1.7)
加载和卸载设备驱动程序。
您需要在注册表中创建具有 ImagePath 和 Type 值的条目。
由于无法写入 HKLM,您必须使用 HKCU。 但是对于内核来说,HKCU 没有任何意义,引导内核的方法并使用预期的路径进行驱动程序配置的方式是使用路径:“\Registry\User\S-1-5-21-582075628-3447520101-2530640108-1003\System\CurrentControlSet\Services\DriverName”(ID 是当前用户的RID)。
因此,您必须在 HKCU 中创建所有这些路径,并设置 ImagePath(要执行的二进制文件的路径)和 Type(SERVICE_KERNEL_DRIVER 0x00000001)。
{% content-ref url="abuse-seloaddriverprivilege.md" %} abuse-seloaddriverprivilege.md {% endcontent-ref %}
SeTakeOwnershipPrivilege(3.1.8)
此特权与SeRestorePrivilege非常相似。
它允许进程通过授予 WRITE_OWNER 访问权限来“接管对象,而无需被授予自主访问”。
首先,您必须接管要写入的注册表键,并修改 DACL 以便您可以在其上写入。
takeown /f 'C:\some\file.txt' #Now the file is owned by you
icacls 'C:\some\file.txt' /grant <your_username>:F #Now you have full access
# Use this with files that might contain credentials such as
%WINDIR%\repair\sam
%WINDIR%\repair\system
%WINDIR%\repair\software
%WINDIR%\repair\security
%WINDIR%\system32\config\security.sav
%WINDIR%\system32\config\software.sav
%WINDIR%\system32\config\system.sav
%WINDIR%\system32\config\SecEvent.Evt
%WINDIR%\system32\config\default.sav
c:\inetpub\wwwwroot\web.config
SeDebugPrivilege (3.1.9)
它允许持有者调试另一个进程,包括读取和写入该进程的内存。
有许多各种内存注入策略可以利用这个特权,规避大多数 AV/HIPS 解决方案。
转储内存
滥用这个特权的一个例子是运行ProcDump从SysInternals来转储进程内存。例如,本地安全性子系统服务(LSASS) 进程,在用户登录系统后存储用户凭据。
然后,您可以加载此转储到 mimikatz 以获取密码:
mimikatz.exe
mimikatz # log
mimikatz # sekurlsa::minidump lsass.dmp
mimikatz # sekurlsa::logonpasswords
RCE
如果您想要获取 NT SYSTEM
shell,您可以使用:
# Get the PID of a process running as NT SYSTEM
import-module psgetsys.ps1; [MyProcess]::CreateProcessFromParent(<system_pid>,<command_to_execute>)
检查权限
whoami /priv
出现为禁用状态的令牌可以被启用,实际上您可以滥用_启用_和_禁用_令牌。
启用所有令牌
您可以使用脚本EnableAllTokenPrivs.ps1来启用所有令牌:
.\EnableAllTokenPrivs.ps1
whoami /priv
或者在这个帖子中嵌入的脚本。
表格
完整的令牌权限速查表在https://github.com/gtworek/Priv2Admin,下面的摘要将只列出利用特权获取管理员会话或读取敏感文件的直接方法。\
权限 | 影响 | 工具 | 执行路径 | 备注 |
---|---|---|---|---|
SeAssignPrimaryToken |
管理员 | 第三方工具 | "它允许用户模拟令牌并使用诸如potato.exe、rottenpotato.exe和juicypotato.exe等工具提升权限到nt系统" | 感谢Aurélien Chalot提供更新。我将尝试重新表达得更像食谱。 |
SeBackup |
威胁 | 内置命令 | 使用robocopy /b 读取敏感文件 |
- 如果可以读取%WINDIR%\MEMORY.DMP可能更有趣 |
SeCreateToken |
管理员 | 第三方工具 | 使用NtCreateToken 创建包括本地管理员权限在内的任意令牌。 |
|
SeDebug |
管理员 | PowerShell | 复制lsass.exe 的令牌。 |
脚本可在FuzzySecurity找到 |
SeLoadDriver |
管理员 | 第三方工具 | 1. 加载有漏洞的内核驱动程序,如 |
1. |
SeRestore |
管理员 | PowerShell | 1. 使用具有SeRestore权限的PowerShell/ISE启动。 |
某些杀毒软件可能会检测到攻击。 替代方法依赖于使用相同权限替换存储在“Program Files”中的服务二进制文件 |
SeTakeOwnership |
管理员 | 内置命令 | 1. |
某些杀毒软件可能会检测到攻击。 替代方法依赖于使用相同权限替换存储在“Program Files”中的服务二进制文件。 |
SeTcb |
管理员 | 第三方工具 | 操纵令牌以包含本地管理员权限。可能需要SeImpersonate。 待验证。 |
参考
- 查看定义Windows令牌的这个表格:https://github.com/gtworek/Priv2Admin
- 查看关于令牌提权的这篇论文。
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 您在网络安全公司工作吗?您想在HackTricks中看到您的公司广告吗?或者您想访问PEASS的最新版本或下载HackTricks的PDF吗?查看订阅计划!
- 发现我们的独家NFTs收藏品The PEASS Family
- 获取官方PEASS & HackTricks周边产品
- 加入💬 Discord群 或 电报群 或在Twitter上**🐦@carlospolopm.**
- 通过向hacktricks repo和hacktricks-cloud repo提交PR来分享您的黑客技巧。