⓫⁄₄ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 搜索Windows的敏感信息

**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。

🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬

🌌 立即前往 👉晖度丨安全视界🚀​

信息收集 ➢ Windows权限提升 ➢ 搜索Windows的敏感信息 🔥🔥🔥

▶ 漏洞检测
初始立足点

权限提升
横向移动

▶ 报告/分析

▶ 教训/修复

目录

1.Windows权限提升

[1.1 枚举Windows:搜索主机的敏感信息](#1.1 枚举Windows:搜索主机的敏感信息)

[1.1.1 搜索应用程序的敏感文件](#1.1.1 搜索应用程序的敏感文件)

[1.1.1.1 搜索 KeePass 数据库文件](#1.1.1.1 搜索 KeePass 数据库文件)

[1.1.1.2 搜索 XAMPP 的配置文件](#1.1.1.2 搜索 XAMPP 的配置文件)

1.搜索XMAPP的敏感文件

2.分析发现的敏感文件

[1.1.2 搜索用户dave的主目录的敏感文件](#1.1.2 搜索用户dave的主目录的敏感文件)

[1.1.2.1 搜索用户主目录下的敏感文件](#1.1.2.1 搜索用户主目录下的敏感文件)

[1.1.2.2 查看发现的敏感文件内容](#1.1.2.2 查看发现的敏感文件内容)

[1.1.3 搜索新发现的用户steve的敏感信息](#1.1.3 搜索新发现的用户steve的敏感信息)

[1.1.3.1 枚举用户 steve的信息](#1.1.3.1 枚举用户 steve的信息)

[1.1.3.2 以用户steve的身份远程到目标主机](#1.1.3.2 以用户steve的身份远程到目标主机)

[1.1.3.3 以用户steve身份重新查看敏感信息](#1.1.3.3 以用户steve身份重新查看敏感信息)

[1.1.4 获取特权用户backupadmin的访问权限](#1.1.4 获取特权用户backupadmin的访问权限)

[1.1.4.1 了解用户backupadmin所属的组](#1.1.4.1 了解用户backupadmin所属的组)

[1.1.4.2 核心发现与后续策略](#1.1.4.2 核心发现与后续策略)

[1.1.4.3 使用 Runas 临时切换至 backupadmin 身份](#1.1.4.3 使用 Runas 临时切换至 backupadmin 身份)

[1.什么是 Runas?](#1.什么是 Runas?)

[2.以 backupadmin 身份启动 CMD](#2.以 backupadmin 身份启动 CMD)

[1.1.5 攻击路径总结:通过敏感信息搜索实现权限提升](#1.1.5 攻击路径总结:通过敏感信息搜索实现权限提升)

[欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论](#欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论)


1.Windows权限提升

在渗透测试中,我们通常以非特权用户 身份获得初始立足点。但为了深入探测(如搜索敏感信息、提取密码哈希等),往往需要提升至管理员权限( 比如:使用Mimikatz提取密码哈希**),** 这个过程就是特权提升

**📊 权限提升三大路径:**本文继续进行windows枚举:搜索目标主机上的敏感信息。

阶段 目标 关键方法
1. 枚举Windows 获取系统情报 手动搜索 + 自动化工具
2. 利用Windows服务 攻击服务漏洞 服务配置缺陷、权限滥用
3. 利用其他组件 扩大攻击面 计划任务、系统漏洞利用

1.1 枚举Windows:搜索主机的敏感信息

在前文中的系统安装程序的枚举中,我们发现在 CLIENTWK220 主机上,用户使用 KeePass 密码管理器 。然而,在安全评估中绝不能低估用户的**"懒惰"** 行为------过去人们可能将密码写在便利贴上并贴在键盘下,如今则可能将敏感信息直接存放在桌面上的 文本文件、会议记录、配置文件甚至入职文档中。这些都可能成为特权升级的突破口。

因此,我们在用户主目录公共可访问的文件夹中浏览时,应重点关注可能泄露的敏感信息,并尝试利用这些信息进行下一步渗透。


1.1.1 搜索应用程序的敏感文件

我们已确认目标系统上安装了 KeePassXAMPP 等应用程序。接下来,我们将尝试搜索这些应用可能留下的敏感文件(如数据库文件、配置文件等),以寻找可利用的线索。

1.1.1.1 搜索 KeePass 数据库文件

我们再次连接到CLIENTWK220 主机绑定的 shell,并执行以下 PowerShell 命令进行搜索:

bash 复制代码
> Get-ChildItem -Path C:\ -Include *.kdbx -File -Recurse -ErrorAction SilentlyContinue

命令说明:

参数 说明
-Path C:\ C 盘根目录 开始搜索
-Include *.kdbx 筛选扩展名为 .kdbx 的文件(KeePass 数据库格式)
-File 仅搜索文件,排除文件夹
-Recurse 递归搜索所有子目录
-ErrorAction SilentlyContinue 遇到错误时不显示报错信息,保持输出整洁

执行结果:

搜索完成后,未发现任何 KeePass 数据库文件(.kdbx 格式)。

虽然本次针对 KeePass 数据库文件 的搜索没有立即获得结果,但这并不意味着系统中不存在其他形式的敏感信息。在后续操作中,应:

  • 继续检查 桌面、文档、下载目录 等用户常用位置

  • 关注 配置文件、日志文件、临时文件 中是否包含密码或密钥

  • 留意用户可能使用的 其他存储方式,如文本文件、Excel 表格等

保持警惕:用户的"便捷"习惯往往是安全体系中最薄弱的环节。


1.1.1.2 搜索 XAMPP 的配置文件
1.搜索XMAPP的敏感文件

接下来,我们将针对系统中安装的 XAMPP 应用程序进行敏感文件搜索。XAMPP 作为常见的Web服务器套件,其配置文件中往往包含数据库密码服务端口等关键信息。使用以下 PowerShell 命令进行搜索:

bash 复制代码
> Get-ChildItem -Path C:\xampp -Include *.txt,*.ini -File -Recurse - ErrorAction SilentlyContinue

命令解析:

参数 说明
-Path C:\xampp XAMPP 安装目录 下进行搜索
-Include *.txt,*.ini 同时搜索 文本文件配置文件(常见扩展名)
-File 仅搜索文件类型
-Recurse 递归搜索所有子文件夹
-ErrorAction SilentlyContinue 静默处理错误,避免干扰输出

执行结果:

搜索结果显示发现 两个潜在敏感文件

| 文件 | 类型 | 包含内容 | 安全风险 |
| my.ini | MySQL配置文件 | 数据库服务配置参数 | 🔴 高风险:可能包含数据库连接凭据 |

passwords.txt 密码记录文件 XAMPP各组件默认密码 🟡 中风险:若未修改默认设置可被利用
2.分析 发现的敏感文件

我们立即对这两个文件进行了分析:

详细分析:

  • passwords.txt 文件检查

    经查看,该文件仅包含 未经修改的XAMPP默认密码。这些是公开的已知密码,在安全评估中价值有限。

  • my.ini 文件访问尝试

    遗憾的是,当前权限无法查看 my.ini 文件内容。这表明该文件可能受到系统访问控制保护。


1.1.2 搜索用户**dave**的主目录的敏感文件

用户的主目录是寻找敏感信息的黄金地带。用户常常会在此存储工作文档、临时笔记或配置文件,其中可能意外包含密码、密钥或其他凭据。

1.1.2.1 搜索用户主目录下的敏感文件

我们将目标锁定在用户 dave 的主目录,尝试搜索常见的文档与文本文件。执行以下 PowerShell 命令:

bash 复制代码
> Get-ChildItem -Path C:\Users\dave\ -Include *.txt,*.pdf,*.xls,*.xlsx,*.doc,*.docx -File -Recurse -ErrorAction SilentlyContinue

命令参数解析:

参数 / 选项 说明
-Path C:\Users\dave\ 将搜索范围限定在用户 Dave 的主目录。
-Include *.txt,*.pdf,... 指定搜索包含多种常见文档格式。
-File 确保只返回文件,而非文件夹。
-Recurse 递归搜索所有子目录,不遗漏任何位置。
-ErrorAction SilentlyContinue 静默处理错误,使输出结果更清晰。

执行结果:

搜索结果显示,在 dave 的桌面上 发现了一个名为 asdf.txt 的文本文件。这类以随意名称命名的文件往往值得重点关注。


1.1.2.2 查看发现的敏感文件内容

我们立即查看 asdf.txt 文件的内容:

技术提示 :在 PowerShell 中,cattype 命令都是 Get-Content Cmdlet 的别名,可以互换使用来显示文件内容。

文件内容显示如下:

译文
asdf.txt文本内容显示:网页应用程序使用本地用户凭据 ,并且可以使用 "Steve" 的密码:**securityIsNotAnOption++++++**进行测试。

🎯 重要发现!

我们成功从一份看似普通的文本文件中,获得了另一个关键用户 Steve 的姓名及其测试密码:securityIsNotAnOption++++++。这为后续的横向移动或权限提升提供了直接的凭据。


1.1.3 搜索新发现的用户steve的敏感信息

1.1.3.1 枚举用户 steve的信息

在尝试使用获取的密码之前,我们首先确认用户 steve 的权限级别。通过以下命令查看其详细信息:

bash 复制代码
> net user steve

关键发现:

  • ❌ 不是 Administrators 组成员 → 权限有限。

  • ✅ 是 Remote Desktop Users 组成员可以通过RDP进行远程连接

这意味着我们可利用此身份进行横向移动,以获得一个新的、可能权限更高的会话。


1.1.3.2 以用户steve的身份远程到目标主机

此前,我们一直是通过 dave 用户的权限在 CLIENTWK220 上进行枚举。现在,我们使用 steve 的凭据(securityIsNotAnOption++++++通过RDP协议建立一个新的图形化远程会话,并打开PowerShell。

结果: 成功以 steve 身份登录系统,获得了一个全新的操作环境。


1.1.3.3 以用户steve身份重新查看敏感信息

切换到新用户意味着新的访问控制权限,这使我们能够重新审视之前因权限不足而无法访问的资源。

回想之前以dave身份没有权限打开C:\xampp\mysqlmyn\my.ini文件,现在尝试以steve用户身份查看该文件:

重要突破!

现在,成功读取 my.ini 文件的内容。其中发现手动的数据库密码admin123admin123!。更关键的是,文件内的注释明确指出:

# backupadmin Windows password for backup job

这意味着我们获得了:

  • MySQL的凭据:admin123admin123!
  • 这个凭据也是另一个Windows本地用户backupadmin 的密码!

1.1.4 获取特权用户backupadmin的访问权限

1.1.4.1 了解用户backupadmin所属的组

为了评估 backupadmin 账户的利用价值,我们立即查看其所属的组:

复制代码

分析结果:

关键组 是否成员 远程访问能力
Remote Desktop Users ❌ 不是成员 无法使用RDP
Remote Management Users ❌ 不是成员 无法使用WinRM

结论: 虽然掌握了 backupadmin 的密码,但该账户无法通过常见的远程管理协议(RDP/WinRM)直接连接系统 。我们需要寻找其他方法来利用此凭据,例如:在已获得的会话中尝试身份切换 或寻找使用此凭据的本地服务

📊 当前信息资产与后续思路总结

步骤 身份 关键获取 可利用性评估
①-② dave 发现 steve 的密码 🟢 直接可用
- 确认 steve 可进行RDP 🟢 直接可用
④-⑤ steve 获得 my.ini 中的密码,并关联出 backupadmin 用户密码 🟡 高价值,但需转换利用方式
- 确认 backupadmin 无法直接远程连接 🔴 需要另寻利用路径

1.1.4.2 核心发现与后续策略

🎯 当前形势:

我们通过凭证的层层挖掘,已经从普通用户 dave 推进到了 steve,并掌握了高权限用户 backupadmin 的密码,形成了权限提升的清晰路径

🚀 后续攻击思路:

  1. 横向移动 :在已建立的 steve 会话中,尝试**++使用 runas++** 或其他方法,以 backupadmin 身份执行命令。

  2. 服务利用 :在系统内部寻找使用 backupadmin 凭据运行的服务或计划任务,尝试劫持或注入。

  3. 密码复用 :在网络内其他系统中尝试使用 backupadmin 及已发现的密码,进行横向移动。

攻击链已建立davestevebackupadmin。每一次凭据的发现,都让我们离系统核心更近一步。


1.1.4.3 使用 Runas 临时切换至 backupadmin 身份

在已获得的图形用户界面(GUI) 环境下,因此可以利用Windows 内置的**Runas 命令:**

临时以++其他用户身份++启动程序,从而实现权限的临时提升或切换。

Runas 命令的使用,必须建立在: ++GUI 的环境++ 中。纯命令行或 WinRM中,Runas 将因无法弹出密码输入框而失效。

1.什么是 Runas?

Runas 是 Windows 系统中的命令行工具,它允许你在不注销当前账户的情况下,以指定用户身份运行应用程序或脚本。这在权限提升、测试或多用户环境管理中非常实用。

基本语法:

bash 复制代码
runas /user:用户名 "程序路径"

使用示例:

场景 命令示例
以管理员身份运行 CMD runas /user:Administrator cmd
以普通用户运行记事本 runas /user:user01 "notepad.exe"
以管理员打开资源管理器并访问指定文件夹 runas /user:Admin "explorer.exe C:\Path\To\Folder"

执行命令后,系统会提示输入对应用户的密码

💡 题外话,其他身份切换方法(补充了解):

在无法使用 GUI 的环境(如纯命令行或 WinRM)中,Runas 将因无法弹出密码输入框而失效。此时可考虑以下替代方案:

方法 适用场景 前提条件
WinRM / RDP 远程访问 用户属于远程管理组(如 Remote Management Users 网络可达,且有相应组成员身份
"以批处理作业登录"权限 用户拥有此本地策略权限 可配置计划任务以该用户身份后台执行
PsExec 工具 用户已有活动会话 可在本地或远程系统执行指定用户程序

2.以 backupadmin 身份启动 CMD

由于我们当前处于 GUI 环境 ,可直接使用 Runas 来尝试以 backupadmin 身份运行命令提示符:

bash 复制代码
> runas /user:backupadmin cmd

提示中输入之前在 my.ini 文件中发现的密码 ++admin123admin123!++

执行结果:

  • 成功弹出一个新的命令行窗口 ,标题显示为 "以 CLIENTWK220\backupadmin 身份运行"

  • 在新窗口中执行 whoami 命令,确认当前身份已切换为 CLIENTWK220\backupadmin


1.1.5 攻击路径总结:通过敏感信息搜索实现权限提升

本文展示如何在不利用任何系统漏洞 的情况下,仅通过搜索和利用遗留的敏感信息 ,在目标主机 CLIENTWK220 上实现从普通用户到特权用户的++权限提升++。整个攻击链完全依赖于信息泄露和用户密码重用这一常见弱点。总结如下:

阶段 攻击起点 / 身份 关键操作与发现 使用命令 / 方法 成果 / 权限提升
1. 初始立足 已获取 dave 用户的基础访问权限(如通过NC绑定Shell) dave 用户桌面搜索敏感文档,发现 asdf.txt 文件。 Get-ChildItem -Path C:\Users\dave\ -Include *.txt... -Recurse 获得用户 steve 的明文密码:securityIsNotAnOption++++++
2. 横向移动 用户 dave 1. 确认 steveRemote Desktop Users 组成员。 2. 使用获取的密码通过 RDP 远程登录。 net user steve RDP 客户端连接 成功以 steve 用户身份获得图形化会话 (GUI),扩大了访问范围。
3. 深入挖掘 用户 steve 利用新身份重新访问之前受限的文件 C:\xampp\mysql\bin\my.ini type C:\xampp\mysql\bin\my.ini 获取文件中的数据库密码 admin123admin123! ,并发现注释指出此密码同样属于 Windows 用户 backupadmin
4. 权限提升 用户 steve (GUI环境) 在图形界面中使用 Runas 命令,以 backupadmin 身份启动新的命令提示符。 runas /user:backupadmin cmd 成功获得 backupadmin 权限的命令行会话,实现了临时权限提升。

📌 核心要点与启示:

  1. 攻击本质 :本次攻击++未使用任何漏洞利用代码++ ,完全基于 "信息泄露""密码复用"

  2. 关键弱点

    • 用户习惯:将密码明文存储于文本文件、配置文件等易被找到的位置。

    • 密码复用 :一个密码(如 admin123admin123!)被同时用于数据库账户和Windows本地用户,导致"一点突破,全面失守"。

  3. 防御启示

    • 强制实施严格的密码策略,禁止密码复用。

    • 定期对系统进行敏感信息扫描,清理配置文件、文档中的明文密码。

    • 遵循最小权限原则,避免普通用户拥有不必要的文件读取权限(如 my.ini)。

    • 加强安全意识培训,告诫员工勿以明文形式存储凭据。

结论:内部安全防线往往从最薄弱的"人因"环节被突破。一次简单的文件搜索,就可能成为攻击者撬动整个系统权限的支点。


欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论

每一份支持,都是我持续输出的光。

相关推荐
BOB-wangbaohai2 小时前
软考-系统架构师-信息安全架构
信息安全·软考·系统架构师·安全架构
余茕然2 小时前
windows用nvm管理nodejs
windows·node.js
凯强同学2 小时前
macOS 、iPhone↔ Windows 11 通过共享文件夹(SMB)互传文件:详细教程
windows·macos·iphone
是逍遥子没错2 小时前
关于国内通用OA的渗透测试思路-仅供测试切勿违法使用
安全·web安全·网络安全·渗透测试·系统安全·漏洞挖掘
程序猿_极客7 小时前
【2025 年最新版】Java JDK 安装与环境配置教程(附图文超详细,Windows+macOS 通用)
java·开发语言·windows·macos·jdk
C++ 老炮儿的技术栈10 小时前
在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?
c语言·c++·windows·git·vscode·visual studio
学习中的DGR12 小时前
[GXYCTF2019]Ping Ping Ping 1和[SUCTF 2019]EasySQL 1新手解题过程
sql·安全·web安全·网络安全·php
pVPkTAeVGPdZ12 小时前
码垛机器人分析与仿真:基于Matlab Simulink Simscape的探索
windows
一点事13 小时前
windows:安装rabbitMQ
windows·rabbitmq·ruby