**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。
🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬
🌌 立即前往 👉晖度丨安全视界🚀
▶ 信息收集 ➢ Windows权限提升 ➢ 搜索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.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 搜索应用程序的敏感文件
我们已确认目标系统上安装了 KeePass 和 XAMPP 等应用程序。接下来,我们将尝试搜索这些应用可能留下的敏感文件(如数据库文件、配置文件等),以寻找可利用的线索。
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 中,
cat和type命令都是Get-ContentCmdlet 的别名,可以互换使用来显示文件内容。
文件内容显示如下:
译文 :
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 的密码,形成了权限提升的清晰路径。
🚀 后续攻击思路:
-
横向移动 :在已建立的
steve会话中,尝试**++使用runas++** 或其他方法,以backupadmin身份执行命令。 -
服务利用 :在系统内部寻找使用
backupadmin凭据运行的服务或计划任务,尝试劫持或注入。 -
密码复用 :在网络内其他系统中尝试使用
backupadmin及已发现的密码,进行横向移动。
攻击链已建立 :
dave→steve→backupadmin。每一次凭据的发现,都让我们离系统核心更近一步。
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. 确认 steve 是 Remote 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 权限的命令行会话,实现了临时权限提升。 |
📌 核心要点与启示:
-
攻击本质 :本次攻击++未使用任何漏洞利用代码++ ,完全基于 "信息泄露" 和 "密码复用"。
-
关键弱点:
-
用户习惯:将密码明文存储于文本文件、配置文件等易被找到的位置。
-
密码复用 :一个密码(如
admin123admin123!)被同时用于数据库账户和Windows本地用户,导致"一点突破,全面失守"。
-
-
防御启示:
-
强制实施严格的密码策略,禁止密码复用。
-
定期对系统进行敏感信息扫描,清理配置文件、文档中的明文密码。
-
遵循最小权限原则,避免普通用户拥有不必要的文件读取权限(如
my.ini)。 -
加强安全意识培训,告诫员工勿以明文形式存储凭据。
-
结论:内部安全防线往往从最薄弱的"人因"环节被突破。一次简单的文件搜索,就可能成为攻击者撬动整个系统权限的支点。
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
每一份支持,都是我持续输出的光。
