TaskSchedulerMisc 开源项目教程
TaskSchedulerMiscMisc TaskScheduler Plays项目地址:https://gitcode.com/gh_mirrors/ta/TaskSchedulerMisc
1、项目介绍
TaskSchedulerMisc 是一个关于 Windows 任务调度器的开源项目,由 zcgonvh 开发。该项目主要探索和实现利用 Windows 任务调度器的各种技巧,包括但不限于 UAC 绕过、横向移动等高级技术。项目代码托管在 GitHub 上,提供了详细的代码示例和文档,帮助开发者理解和应用这些技术。
2、项目快速启动
环境准备
- 操作系统:Windows
- 开发环境:.NET Framework
快速启动代码
以下是一个简单的示例代码,展示了如何使用 TaskSchedulerMisc 项目中的技术来注册和运行一个任务:
using System;
using System.Runtime.InteropServices;
class Program
{
static void Main()
{
try
{
// 创建任务服务
ITaskService svc = (ITaskService)new TaskScheduler();
Console.WriteLine("[+] 创建任务服务: " + svc);
svc.Connect();
// 获取任务文件夹
ITaskFolder folder = svc.GetFolder("\\");
// 注册任务
IRegisteredTask task = folder.RegisterTask("Test Task", xml, 0, null, null, 3, null);
Console.WriteLine("[+] 注册任务: " + task);
// 运行任务
Console.WriteLine("[+] 运行任务: " + task.Run(null));
}
catch (Exception ex)
{
Console.WriteLine("\r\n" + ex);
}
}
static string xml = @"
<Task version=""1.3"" xmlns=""http://schemas.microsoft.com/windows/2004/02/mit/task"">
<RegistrationInfo>
<Description>Test Task</Description>
</RegistrationInfo>
<Triggers />
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>false</AllowHardTerminate>
<StartWhenAvailable>false</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<Duration>PT10M</Duration>
<WaitTimeout>PT1H</WaitTimeout>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context=""Author"">
<Exec>
<Command>cmd.exe</Command>
</Exec>
</Actions>
</Task>";
}
3、应用案例和最佳实践
应用案例
- UAC 绕过:使用 IElevatedFactoryServer COM 对象直接获取 SYSTEM 权限。
- 横向移动:利用 TaskScheduler COM 对象进行基于 MS-TSCH 的远程 PowerShell 执行。
最佳实践
- 安全编码:在实现任务调度功能时,确保代码的安全性,避免潜在的安全漏洞。
- 权限管理:合理管理任务的权限,避免滥用导致系统安全风险。
4、典型生态项目
- Windows Task Scheduler Playbook:详细介绍了 Windows 任务调度器的各种高级技巧和应用场景。
- COM to UAC Bypass and Get SYSTEM Directly:通过 COM 对象实现 UAC 绕过和直接获取 SYSTEM 权限的技术。
- RPC to Lateral Movement:利用 RPC 进行横向移动的技术。
以上内容涵盖了 TaskSchedulerMisc 开源项目的基本介绍、快速启动、应用案例和最佳实践以及相关生态项目。希望这些内容能帮助你更好地理解和使用该项目。
TaskSchedulerMiscMisc TaskScheduler Plays项目地址:https://gitcode.com/gh_mirrors/ta/TaskSchedulerMisc