【内网渗透】— 权限提升分析及防御(6)

前言

在Windwos中,权限大概分为四种,分别是Users、Administrator、System、TrustedInstaller。在这四种权限中,我们经常接收到的是前三种,下面我们对这几种权限进行分析:

  • Users:普通用户权限,是系统中最安全的权限(因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料)。
  • Administrator:管理员权限,可以利用Windows的机制将自己提升为System权限,以便操作SAM文件等。
  • System:系统权限,可以对SAM等敏感文件进行读取,往往需要将Administrator权限提升到System权限才可以对散列值进行Dump操作。
  • TrustedInstaller:Windows中的最高权限,对系统文件,即使拥有System权限也无法修改,只有拥有TrustedInstaller权限才可以修改系统文件。

低级别权限将使得渗透测试受到很多限制,因此,在渗透测试中,熟悉提权操作对渗透测试工作有很大的帮助,提升权限的方式分为以下两类:

  • 纵向提权:低权限角色获得高权限角色的权限。例如,一个Webshell权限通过提权,拥有了管理员权限,这种权限就是纵向提权,也称为权限升级。
  • 横向提权:获得同级别角色的权限。例如,在系统A中获得了系统B的权限,就称为横向提权。

常见的权限提升方法有系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、Web中间件漏洞提权、DLL劫持提权、滥用高权限令牌提权、第三方软件/服务提权等,下文我们将对一些常见的提权方法及防范进行分析。

系统内核溢出漏洞提权分析及防范

系统内核溢出漏洞提权分析

系统内核溢出漏洞提权是一中通用的提权方法,攻击者可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目标系统没有及时安装补丁——即使微软已经针对某个漏洞发布了补丁,但如果系统没有立即安装补丁,就会让攻击者有机可乘。然而,这种提权方法也存在一定的局限性——如果目标系统的更新工作较为迅速和完善,那么攻击者想要通过这种方法提权,就必须找到该系统存在的0day漏洞。

知识点

"WMIC"是"Windows Management Instrumentation Command-line"的缩写,WMIC是Windows平台上最有用的命令行工具,使用WMIC,不仅可以管理本地计算机,还可以管理同一域内的计算机(需要一定的权限),而且在被管理的计算机上不必事先安全WMIC。

WMIC在信息收集和后渗透测试阶段是非常实用的,可以调取和查看目标机器的进程、服务、用户、用户组、网络连接、硬盘信息、网络共享资源、已安装的补丁、启动项、已安装的软件、操作系统的相关信息和时区等。

系统内核溢出漏洞提权防范

在关于此提权方式的分析中已经提到过了,防范的最好方法就是按时打官方发布的最新补丁O(∩_∩)O

Windows操作系统配置错误利用分析及防范

在Windows操作系统中,攻击者通常会对系统内核溢出漏洞来提权,但是如果无法通过系统内核溢出漏洞提取所在服务器权限的情况,就会利用系统中的配置错误来提权,Windows操作系统中常见的配置错误包括管理员凭据配置错误、服务配置错误、故意削弱的安全措施、用户权限过高等...

系统权限配置错误

Windows系统服务文件在操作系统启动时加载和执行,并在后台调用可执行文件。因此,如果一个低权限的用户对此类服务调用的可执行文件拥有写权限,就可以将该文件替换成任意可执行文件,并随着系统服务的启动获得系统权限。Windows服务是以System权限运行对的,因此,其文件夹、文件和注册表键值都是受强访问控制机制保护的。但是,在某些情况下,操作系统中仍然存在一些没有得到有效保护的服务。

系统服务权限配置错误(可写目录漏洞)有如下两种可能:

  • 服务未运行:攻击者会使用任意服务替换原来的服务,然后重启服务。
  • 服务正在运行且无法终止:这种情况符合绝大多数的漏洞利用场景,攻击者通常会利用DLL劫持技术并尝试重启服务来提权。

注册表键AlwaysInstallElevated

注册表键AlwaysInstallElevated是一个策略设置项。Windows允许低权限用户以System权限运行安装文件。如果启用此策略设置项,那么任何权限对的用户都能以NT AUTHORITY/SYSTEM权限来安装恶意的MSI(Microsoft Windows Installer)文件。

PathAlwaysInstallElevated漏洞产生的原因

该漏洞产生的原因是用户开启了Windows Installer特权安装功能。

Windows Installer知识点介绍

Windows Installer 是Windows操作系统的组件之一,专门用来管理和配置软件服务。Windows Installer除了是一个安装程序,还用于管理软件的安装、管理软件的安装、管理软件的添加和删除、监视文件的还原、通过回滚进行灾难恢复等。

Windows Installer分为客户端安装服务(Msiexec.exe)和MSI文件两部分,它们是一起工作的。Windows Installer 通过 Msiexec.exe安装 MSI文件包含的程序。MSI文件是 Windows Installer的数据包。它实际上是一个数据库,包含安装和卸载软件时需要使用的大量指令和数据。Msiexec.exe用于安装MSI文件,一般运行Microsoft Update安装更新或者安装一些软件的时候使用,占用内存较多。简单的说,双击MSI文件就会运行Msiexec.exe。

防范PathAlwaysInstallElevated漏洞的方法

禁用注册表键AlwaysInstallElevated。

可信任服务路径漏洞

可信任服务路径漏洞分析

可信任服务路径(包含空格且没有引号的路径)漏洞利用了Windows 文件路径解析的特性,并涉及服务路径的文件/文件夹权限(存在缺陷的服务程序利用了属于可执行文件的文件/文件夹的权限)。如果一个服务调用的可执行性文件没有正确的处理所引用的完整路径名,这个漏洞就会被攻击者利用上传任意可执行文件,也就是说,如果一个服务的可执行文件的路径没有被双引号引起来且包含空格,那么这个服务是有漏洞的。

该漏洞存在如下两种可能性:

  • 如果路径与服务有关,就创建任意一个服务或者编译Service模板
  • 如果路径与可执行文件有关,就任意创建一个可执行文件

可信任服务路径漏洞防范

可信任服务路径漏洞是由开发者没有将文件路径用引号引起来导致的。将文件路径用引号引起来,就不会出现这种问题了。

自动安装配置文件

网络管理员在内网中给多台机器配置同一个环境时,通常不会逐台配置,而会会用脚本批量部署的方法。这一过程中,会使用安装配置文件。这些文件包含所有的安装配置信息,其中的一些还可能包括本地管理员的账号和密码等消息。在进行渗透测试中,可以找到此类相关的文件进行分析。

计划任务

可以使用命令 :schtasks /query /fo LIST /v ,查看计算机的计划任务,如果攻击者对以高权限运行的任务所在的目录具有写权限,就可以使用恶意程序性覆盖原来的程序,这样,在计划任务下次执行时,就会以高权限来运行恶意程序。

组策略首选项提权分析及防范

组策略首选项提权简介

SYSVOL是活动目录里面的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控制器之间进行复制。SYSVOL文件夹是安装活动目录时自动创建的,主要用来存放登录脚本、组策略数据及其他域控制器需要的域信息等。SYSVOL在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录的域范围内共享。

在一般的域环境中,所有机器都是脚本化批量部署的,数据量通常很大。为了方便地对所有的机器进行操作,网络管理员往往会使用域策略进行统一的配置和管理。大多数组织在创建域环境后,会要求加入域的计算机使用域用户密码进行登录验证。为了保证本地管理员密码的安全性,这些组织的网络管理员往往会修改本地管理员密码。

尽管如此,安全问题依旧存在。通过组策略统一修改的密码,虽然强度有所提高,但是所有机器的本地管理员密码都是相同的。攻击者获得了一台机器的本地管理员密码,就相当于获得了整个域中的所有机器的本地管理员密码。

针对组策略首选项提权的防御措施

在用于管理组策略的计算机上安装KB2962486补丁,防止新的凭据被放置在组策略首选项中。

此外,需要对访问权限进行设置,具体建议如下:

  • 设置共享文件夹SYSVOL的访问权限
  • 将包含组策略密码的xml文件从SYSVOL目录中删除
  • 不要把密码放在所有域用户都有权访问的文件中
  • 如果需要更改域中机器的本地管理员密码,建议使用LAPS

绕过UAC提权分析及防范

猜你喜欢

转载自www.cnblogs.com/catt1e/p/12730581.html