0x01 前言

在渗透测试中,尤其是域渗透,常常会用到Windows系统的计划任务,一是用于远程启动程序,二是用于程序的自启动

那么,计划任务具体有哪些使用技巧呢?是否对权限有要求?一定需要管理员权限才能运行吗?

官方说明文档:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa446802(v=vs.85).aspx

需要开启服务Task Scheduler

可在以下情况触发:

When a specific system event occurs.

At a specific time.

At a specific time on a daily schedule.

At a specific time on a weekly schedule.

At a specific time on a monthly schedule.

At a specific time on a monthly day-of-week schedule.

When the computer enters an idle state.

When the task is registered.

When the system is booted.

When a user logs on.

计划任务创建后,会在C:\Windows\System32\Tasks保存XML格式的配置文件

例如我创建了一个名为test的定时任务,此目录下会生成相应的XML配置文件

0x02 计划任务的配置方式

1、界面操作

执行taskschd.msc,如下图

选中任务计划程序,右键 -> 创建任务

弹出界面,逐个配置即可,如下图

2、命令行配置

(1) at 命令

At 运行时间 运行程序

(管理员权限)

eg:

at 23:53 notepad.exe

默认以system权限启动,适用于Win7

从Win8开始不再支持at命令,所以不过多介绍

(2) schtasks命令

支持Win7-Win10

  1. 每天固定时间,以普通权限启动notepad.exe

命令如下:

schtasks /Create /TN TestService1 /SC DAILY /ST 01:02 /TR notepad.exe

C:\Windows\System32\Tasks产生新文件TestServ

值得注意的是<RunLevel>LeastPrivilege</RunLevel>,代表权限为普通用户

2.每天固定时间,以system权限启动notepad.exe

命令如下(管理员权限):

schtasks /Create /TN TestService2 /SC DAILY /ST 01:02 /TR notepad.exe /RL HIGHEST

C:\Windows\System32\Tasks产生新文件TestService2,内容如下:

值得注意的是<RunLevel>HighestAvailable</RunLevel>,代表权限为最高,一般为System权限

3.每天固定时间,以system权限启动notepad.exe,通过导入xml文件的方式

以文件TestService2作为模板,修改启动时间,保存为1.xml,内容如下:

通过xml文件导入配置,建立计划任务,以system权限启动,命令如下(管理员权限):

schtasks /create /xml c:\test\1.xml /tn TestService3

注:

如果是一个新的系统,修改<Author>、<Date>、<StartBoundary>、<UserId>和<Command>即可

4.每天固定时间,以普通权限启动notepad.exe,通过导入xml文件的方式

修改1.xml:

<RunLevel>HighestAvailable</RunLevel>改为<RunLevel>LeastPrivilege</RunLevel>即可

导入配置的命令如下:

schtasks /create /xml c:\test\.xml /tn TestService4

补充:schtasks的其他命令用法

查看服务状态:

schtasks /Query /TN TestService1

删除服务:

schtasks /Delete /TN TestService1 /F

注:

服务执行成功后不会自动删除

 

Windows下计划任务的使用的更多相关文章

  1. linux crontab 计划任务 atd和windows下的计划任务

    crontab 命令 如果发现您的系统里没有这个命令,请安装下面两个软件包. vixie-cron crontabs crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类 ...

  2. 在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现

    最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一.使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行:(个人感觉PHP ...

  3. Windows下PowerShell监控Keepalived

    一.背景 某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警. 二 ...

  4. linux和windows下的自动ftp脚本(shell bat)

    一.先来看linux下的: 复制代码 代码如下: #! /bin/bashcd /ftp/CURRENTDATE=` date +%Y%m%d `YESTERDAY=` date -d yesterd ...

  5. Windows 下针对python脚本做一个简单的进程保护

    前提: 大家运行的脚本程序经常会碰到系统异常关闭.或被其他用户错杀的情况.这样就需要一个进程保护的工具. 本文结合windows 的计划任务,实现一个简单的进程保护的功能. 利用py2exe生产 ex ...

  6. 在linux和windows下自动备份数据库

    摘要: 详细介绍在windows和linux下自动备份数据库的过程,希望可以让新手立即上手吧! 本文档内容共分为2大部分:linux和windows Linux和windows都分为:准备工作和操作阶 ...

  7. Windows下使用性能监视器监控SqlServer的常见指标

    这篇文章主要介绍了Windows下使用性能监视器监控SqlServer的常见指标,常见指标包括Buffer Cache Hit Ratio.Pages/sec. Available Bytes.Dis ...

  8. windows下如何对mysql进行整裤备份

    通常情况下备份一个数据库,直接单裤备份即可,更完善一点的会要求做到定时单裤备份.然而很多时候又由于裤实例是在太多,这样会导致备份非常耗时,因而有时候需要对整个数据库应用进行备份.那么在windows下 ...

  9. Windows下mysql自动备份的最佳方案

    网上有很多关于window下Mysql自动备份的方法,其实不乏一些不好的地方和问题,现总结出一个最好的方法供大家参考: 新建一个记事本,然后重命名为: mysql_backup.bat 然后单击右键选 ...

随机推荐

  1. 使用java程序作为celery的工作节点

    celery是python实现的分布式调度框架,有时候想用celery去调用java服务,正好有一个celery-java的库可以使用,能达到这个效果,记录一下: 先添加依赖: <depende ...

  2. Hadoop常见重要命令行操作及命令作用

    关于Hadoop [root@master ~]# hadoop --help Usage: hadoop [--config confdir] COMMANDwhere COMMAND is one ...

  3. hbase数据备份或者容灾方案

    HBase的数据备份或者容灾方案有这几种:Distcp,CopyTable,Export/Import,Snapshot,Replication,以下分别介绍(以下描述的内容均是基于0.94.20版本 ...

  4. Kubernetes监控实践

    一.Kubernetes介绍 Kubernetes(K8s)是一个开源平台,能够有效简化应用管理.应用部署和应用扩展环节的手动操作流程,让用户更加灵活地部署管理云端应用. 作为可扩展的容错平台,K8s ...

  5. Elastic Stack 笔记(八)Elasticsearch5.6 Java API

    博客地址:http://www.moonxy.com 一.前言 Elasticsearch 底层依赖于 Lucene 库,而 Lucene 库完全是 Java 编写的,前面的文章都是发送的 RESTf ...

  6. TestNG(九) 异常测试

    package com.course.testng.suite; import org.testng.annotations.Test; public class ExpectedExeption { ...

  7. 使用T2表中的值替换T1表的值

    描述:现在有两张表,T1由Key和Value两个字段,T2也有Key和Value两个字段 当T1中的Key在T2表中存在时,更新使用T2表中对用的Value 值替换T1中的VAlue update A ...

  8. Spring Cloud异步场景分布式事务怎样做?试试RocketMQ

    一.背景 在微服务架构中,我们常常使用异步化的手段来提升系统的 吞吐量 和 解耦 上下游,而构建异步架构最常用的手段就是使用 消息队列(MQ),那异步架构怎样才能实现数据一致性呢?本文主要介绍如何使用 ...

  9. Vue学习之todolist功能开发

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. 配置文件my.cnf---配置信息注释大全

    在进行MySQL与CM+CHD之间的应用配置时,发现此前对于MySQL的配置含义过于模糊,所以将CM+CHD集群所涉及MySQL方面的配置含义进行抽取并加以注释,方便此后的配置和使用. 一.客户端设置 ...