欢迎回到本系列的新部分。从《》查看本系列的第一部分,从《》查看第二部分,从《》查看第三部分。
在这一部分中,我们将介绍 4 种技术。
09 无人值守的Windows安装
理论
无人值守 Windows 安装(也称为无人值守安装或自动安装)是一种在计算机上安装 Microsoft Windows 操作系统的方法,在安装过程中无需用户手动干预。
在无人值守安装期间,将使用一组配置文件和脚本来指定安装选项和设置。这些文件可以自定义以满足特定要求,通常称为“无人值守文件”。
在多台主机上安装 Windows 时,系统管理员可以使用 Windows 部署服务 (WDS),该服务允许通过网络将单个操作系统映像部署到多台主机。此类安装称为无人值守安装,因为它们不需要用户交互。此类安装需要管理员帐户来执行初始设置,该设置最终可能会存储在计算机中。
利用无人值守的 Windows 安装方法进行提权很简单;前提条件:必须通过无人值守的Windows安装工具(如WDS、微软部署工具包(MDT)或系统中心配置管理器(SCCM ))来安装操作系统,因为通过这些工具安装通常会留下“无人值守的文件”。
1.搜索以下常用文件(查找高权限账号密码)。
“sysprep.inf 和 sysprep.xml 用于旧版本的 Windows,而 unattend.xml 和 unattend.txt 用于现在版本,两者都有相似的用途”。
2.如果找到上述任何文件,则其中一定有以 Base64 编码、明文或 AES 加密或其他格式保存的密码。解码并使用它来提升您的权限。
实践
让我们找到这些“无人值守文件”,目标是AD环境中的一台机器,因此操作系统很有可能是通过无人值守安装工具安装的。
阅读这个 XML 格式的文件。
“admin”用户的密码使用“Base64”进行编码。
现在我们有了用户名和密码,并且我们知道我们处于域环境中,因此我们可以轻松地从域中的任何系统登录该帐户。让我们简单地生成一个 Admin 的“cmd”shell,以进行 POC 验证。
这些类型的权限提升在域环境中很常见。
10 注册表中的软件凭证
理论
出于多种原因,软件可能会将其凭据保存在Windows注册表中,从方便到性能和安全考虑。一些常见的原因包括:
1.自动登录:需要用户身份验证的应用程序和服务(例如电子邮件客户端或网络连接软件)可能会在注册表中保存凭据以方便自动登录。用户无需在每次启动应用程序时输入凭据,从而提供更流畅的用户体验。
2.服务帐户:Windows 服务通常在后台运行,无需用户交互,并且需要特定权限或对资源的访问权限。在注册表中保存服务帐户凭据允许这些服务自动进行身份验证和访问资源。
3.单点登录 (SSO):在企业环境中,软件可以使用 SSO 解决方案,用户登录一次,其凭据安全地存储在注册表中,以授予对多个应用程序的访问权限,而无需额外登录。
4.离线访问:本地存储凭据使用户能够在未连接到互联网或网络时访问应用程序和服务。
5.旧版支持:由于与旧版本 Windows 的向后兼容性或历史原因,某些应用程序和服务可能会继续使用注册表进行凭据存储。
“当这些凭据以纯文本格式保存或可以由普通用户读取或写入时,可能会出现安全风险,因为攻击者可以使用这些凭据来获得对系统的未经授权的更高权限访问”
利用注册表(软件的密码/凭据)方法进行提权的很简单;
1.搜索或遍历所有注册表项以查找有用的内容。
2.密码或凭据可以是哈希(破解它们或使用PTH)或明文格式。接下来使用 runas、evil-winrm 或 impacket 的 psexec.py 或任何其他工具来获得更高的权限访问。
实践
我们枚举注册表以查找任何有用的信息。
使用 reg 查询工具搜索注册表中的所有主要键或配置项。
REG QUERY HKLM /F “password” /t REG_SZ /S /K # 获取所有具有“密码”字符串的注册表值,这将花费大量时间。
REG QUERY HKCU /F “password” /t REG_SZ /S /K
REG QUERY HKLM /F “password” /t REG_SZ /S /d
REG QUERY HKCU /F “password” /t REG_SZ /S /d
在我们的例子中,当遍历“HKEY_CURRENT_USER (HKCU)”时,我们发现了“Putty”服务的凭据。
这些凭据保存在注册表中,因此他不必在每次登录时输入凭据。
我们可以使用这些凭据远程登录到位于域环境中“thom.smith”用户的系统,通过登录该系统我们可以扩大渗透成果,并可以进一步枚举“thom.smith”机器信息以增加提权的几率。
请记住,就像 Putty 存储凭据一样,其他软件(包括浏览器、电子邮件客户端、FTP 客户端、SSH 客户端、VNC 等)也在注册表中存储密码,这些密码都可以提取。
11 Web服务器的配置文件
Web 服务器中的配置文件是包含控制 Web 服务器行为和提供 Web 内容的设置和参数的文件。这些文件在确定 Web 服务器、虚拟主机、网站、安全设置以及 Web 托管和应用程序部署的其他重要行为方面发挥着关键作用。
以下是常见的 Web 服务器及其与安全性和潜在凭证存储相关的配置文件:
1.Microsoft Internet 信息服务 (IIS):ApplicationHost.config:包含全局安全设置、身份验证方法和 SSL/TLS 配置。
2.Apache HTTP 服务器:httpd.conf:包含与安全相关的指令、SSL/TLS 设置和访问控制规则。
3.Nginx:nginx.conf:保存 SSL/TLS 设置、访问控制规则和其他与安全相关的配置。
4.ASP.NET 应用程序(托管在 IIS 中):Web.config:包含连接字符串、身份验证设置和用于保护敏感数据的加密密钥。
利用Web服务器配置文件方法进行提权很简单;
1.找到系统中运行的Web服务器。
2.搜索各自的配置文件以提取有用的凭据和信息。
实践
目标使用托管在 IIS Web 服务器上的 ASP.NET 应用程序,因此让我们在默认位置查找“web.config”文件。
注意:并非所有web服务器和应用程序的配置文件位置和名称都是标准化的。虽然一些常见的 Web 服务器和应用程序可能遵循一致的配置文件名称和位置约定,但其他服务器和应用程序可能有变化或允许自定义配置,因此必须检查服务器的版本和 Web 服务器目录中的其他配置文件。
我们确实找到了多个 Microsoft .NET 框架配置文件,全部检查一下。
在.NET 4.0版本中,我们找到了“数据库管理员”密码,我们可以使用它在目标数据库中执行管理级别的更改,而且许多数据库有许多用户或角色,因此,数据库管理员帐户的泄露会导致域环境中的所有帐户都受到泄露。
12 SAM & SYSTEM 备份文件
理论
SAM和SYSTEM是两个关键文件,在用户认证和系统安全方面发挥着重要作用。
SAM(安全帐户管理):
用途:SAM 文件是 Windows 中的注册表配置单元,用于存储用户帐户信息,包括用户名、密码哈希值和安全标识符 (SID)。它是 Windows 安全帐户管理器系统的重要组成部分。
功能:当用户登录Windows系统时,SAM文件用于验证用户的凭据(用户名和密码)。它将提供的密码哈希值与相应用户存储的哈希值进行比较。如果哈希值匹配,则授予用户访问系统的权限。SAM 文件受操作系统保护,以防止未经授权的访问。
SYSTEM:
用途:SYSTEM文件是Windows中的另一个注册表配置单元,负责存储与系统硬件、设备驱动程序和其他系统相关设置相关的信息。
作用:SYSTEM文件是Windows启动过程中必不可少的文件。它提供初始化硬件和加载设备驱动程序所需的关键配置数据。如果没有 SYSTEM 文件,操作系统就无法正常启动和运行。
“当这些配置单元没有得到很好的保护时,或者很多时候,您会发现系统管理员在更新或更改系统注册表时留下了这些配置单元的备份副本,通常会在操作之前创建注册表的备份副本,从而出现安全风险。我们知道注册表配置错误可能会破坏整个系统”。
利用安全帐户管理器和系统(备份文件)方法进行提权很简单;
1.SAM 文件可用于提取用户密码哈希值。
2.从SAM 文件转储哈希后,检查存储备份的所有常见位置。
3.破解密码哈希值或使用PTH技术来获得提升的权限。
“要转储用户的密码,只需要 SAM 文件,但如果 SYSTEM 文件也在那里,那么它可以加快密码哈希值的破解过程”。
实践
我们检查一些常见的位置来查找 SAM 或 SYSTEM 备份文件。%SYSTEMROOT% 环境变量通常设置为 C:Windows。
(%SYSTEMROOT% == C:Windows)
%SYSTEMROOT%repairSAM
%SYSTEMROOT%System32configRegBackSAM
%SYSTEMROOT%System32configSAM
%SYSTEMROOT%repairsystem
%SYSTEMROOT%System32configSYSTEM
%SYSTEMROOT%System32configRegBacksystem
注意:如果在这些位置未找到备份,您可以遍历或搜索整个系统。
我们在Repair目录中找到了备份。
现在,您可以通过 Mimikatz、Impacket 的 Secretsdump.py 或 cachedump 直接从 SAM 文件转储密码的哈希值,但在目标端运行这些工具是有风险的,因为好的防病毒和监控工具可以轻松捕获这些工具。将备份文件转移到我们的攻击者机器上并在本地做进一步的操作是非常好的。
转移后,让我们转储一些哈希值。
我们现在可以破解这些哈希值或使用PTH技术来访问这些帐户以提升我们的权限。
让我们破解“thmuser1”密码并使用它来获取访问权限。
现在让我们使用这些凭据远程登录到域环境中的“thmuser1”机器。
参考及来源:
https://medium.com/bugbountywriteup/privileges-escalation-techniques-basic-to-advanced-for-windows-a83722c80530
免责&版权声明
安全小白团是帮助用户了解信息安全技术、安全漏洞相关信息的微信公众号。安全小白团提供的程序(方法)可能带有攻击性,仅供安全研究与教学之用,用户将其信息做其他用途,由用户承担全部法律及连带责任,安全小白团不承担任何法律及连带责任。欢迎大家转载,转载请注明出处。如有侵权烦请告知,我们会立即删除并致歉。谢谢!
还没有评论,来说两句吧...