【漏洞利用】Windows 权限提升 - 启动应用程序

  • A+
所属分类:安全文章

点击上方蓝字“Ots安全”一起玩耍

【漏洞利用】Windows 权限提升 - 启动应用程序

简介

Windows 允许用户将特定应用程序设置为在用户进行身份验证时自动启动,方法是将其可执行文件放在专门为启动程序设计的目录中。尽管此功能非常方便,但如果启动程序的权限设置不当,则可能允许攻击者提升权限,因为这些程序是在当时登录的用户的上下文中执行的。


识别漏洞

所有用户(包括管理员)认证时执行的启动应用程序通常存放在以下目录中:

C:ProgramDataMicrosoftWindowsStart MenuProgramsStartup

第一步是验证当前用户是否具有对该目录的写访问权限,以便可以在其中放置恶意可执行文件。Icacls 或 Accesschk 可用于识别特定文件夹或文件的权限:

icacls [directory/file]


【漏洞利用】Windows 权限提升 - 启动应用程序

Accesschk.exe -accepteula -wuqv 

【漏洞利用】Windows 权限提升 - 启动应用程序

从上面命令的输出来看,似乎系统上的每个人都有权写入路径,这意味着它可以被利用。


自动枚举脚本(如 WinPEAS)也可以帮助识别弱自动运行程序。此外,Sysinternals Autorunsc for Windows工具也可用于执行此操作:

【漏洞利用】Windows 权限提升 - 启动应用程序

利用漏洞

现在剩下的就是在启动目录中放置一个恶意可执行文件,该可执行文件将执行反向 shell,以强制系统在管理员用户下次登录时执行它。


第一步是使用带有以下标志的 MSFvenom 生成一些 shellcode:

  • -p 指定有效负载类型,在本例中为 Windows TCP 反向 shell

  • LHOST 指定要连接的本地主机 IP 地址

  • LPORT 指定要连接的本地端口

  • -f 指定 shell 的格式,在本例中为 exe

【漏洞利用】Windows 权限提升 - 启动应用程序

然后使用 Python Web 服务器和 Windows Certutil 实用程序将 shell.exe 文件传输到 Windows 受害者计算机,并将其放置在上述目录中:

【漏洞利用】Windows 权限提升 - 启动应用程序

下一步是设置一个 Netcat 侦听器,它会在受害主机执行时捕获反向 shell,使用以下标志:

  • -l 监听传入的连接

  • -v 用于详细输出

  • -n 跳过 DNS 查找

  • -p 指定要监听的端口

【漏洞利用】Windows 权限提升 - 启动应用程序

以下屏幕截图显示了使用 FreeRDP 模拟管理员用户登录:

【漏洞利用】Windows 权限提升 - 启动应用程序

一旦“admin”管理员用户登录,恶意可执行文件就会被执行,因此授予该用户一个反向shell:

【漏洞利用】Windows 权限提升 - 启动应用程序

结论

尽管启动应用程序可以成为 Windows 中帮助提高效率的绝佳工具,但应谨慎配置它们,仅允许管理员用户编辑存储在启动路径中的文件,因为利用此错误配置可能会导致整个系统受到损害。

【漏洞利用】Windows 权限提升 - 启动应用程序

本文始发于微信公众号(Ots安全):【漏洞利用】Windows 权限提升 - 启动应用程序

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: