郑重声明:本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。
🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论 | 保持连接💬
🌌 立即前往 👉晖度丨安全视界🚀
▶ 信息收集 ➢ Windows权限提升 ➢ 搜索Windows的敏感信息 🔥🔥🔥 ▶ 漏洞检测 ▶ 初始立足点 ▶ 权限提升 ▶ 横向移动 ▶ 报告/分析 ▶ 教训/修复
目录
1.Windows权限提升
1.1 枚举Windows:搜索主机的敏感信息
1.1.1 搜索应用程序的敏感文件
1.1.1.1 搜索 KeePass 数据库文件
1.1.1.2 搜索 XAMPP 的配置文件
1.搜索XMAPP的敏感文件
2.分析发现的敏感文件
1.1.2 搜索用户dave的主目录的敏感文件
1.1.2.1 搜索用户主目录下的敏感文件
1.1.2.2 查看发现的敏感文件内容
1.1.3 搜索新发现的用户steve的敏感信息
1.1.3.1 枚举用户 steve的信息
1.1.3.2 以用户steve的身份远程到目标主机
1.1.3.3 以用户steve身份重新查看敏感信息
1.1.4 获取特权用户backupadmin的访问权限
1.1.4.1 了解用户backupadmin所属的组
1.1.4.2 核心发现与后续策略
1.1.4.3 使用 Runas 临时切换至 backupadmin 身份
1.什么是 Runas?
2.以 backupadmin 身份启动 CMD
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 命令进行搜索:
> 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 命令进行搜索:
> 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 命令:
> 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-Content Cmdlet 的别名,可以互换使用来显示文件内容。
文件内容显示如下:
译文: asdf.txt文本内容显示:网页应用程序使用本地用户凭据,并且可以使用 “Steve” 的密码:securityIsNotAnOption++++++ 进行测试。
🎯 重要发现!
我们成功从一份看似普通的文本文件中,获得了另一个关键用户 Steve 的姓名及其测试密码:securityIsNotAnOption++++++。这为后续的横向移动或权限提升提供了直接的凭据。
1.1.3 搜索新发现的用户steve的敏感信息
1.1.3.1 枚举用户 steve的信息
在尝试使用获取的密码之前,我们首先确认用户 steve 的权限级别。通过以下命令查看其详细信息:
> 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 系统中的命令行工具,它允许你在不注销当前账户的情况下,以指定用户身份运行应用程序或脚本。这在权限提升、测试或多用户环境管理中非常实用。
基本语法:
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 身份运行命令提示符:
> 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)。
-
加强安全意识培训,告诫员工勿以明文形式存储凭据。
结论:内部安全防线往往从最薄弱的“人因”环节被突破。一次简单的文件搜索,就可能成为攻击者撬动整个系统权限的支点。
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
每一份支持,都是我持续输出的光。

网硕互联帮助中心





评论前必须登录!
注册