window下的计划任务
0x00前言:
这几天看了看信息安全就业的面试题,其中有一条是计划任务如何设置,好几个月前稍微接触了,但是很久没用差不多都忘了>_<,这里就稍微学习下windows的计划任务
写着写着就偏离了正题,稍微有点像自己的练习记录了,其中除了计划任务也穿插了一些msf的知识
0x01场景设置:
因为直接在windows是敲几个命令太无聊了,于是这里我用msf模块的永恒之蓝漏洞进行远程操作
kali攻击机ip:10.10.10.128
win7目标机ip:10.10.10.129
首先加载模块
然后选下payload,设置下,双方的ip,让它跑起来,就拿到shell了,永恒之蓝还是system权限
然后呢,戏要演得像真的一样
#查进程号
getpid
#转移session到正常的pid中,这里到lsass.exe
migrate 532
#查看下当前账号明文密码
load mimikatz
wdigest
0x02定时任务at命令:
at命令是比较简单的一个命令,但是后面不常用了
使用必须是administrator权限,并且win8之后没有这个命令了
at time cmd
at 18:14 calc.exe
在msf中先连接shell
shell
#定时任务在18:23启动
at : calc.exe
18:22的时候进程内容如上图
18:23的时候进程如下,成功的启动了
但是回到win7的虚拟机,并没有弹出来,用tasklist查看下进程,发现有启动的clac.exe,但是任务管理器里面没有显示
0x03计划任务schtasks命令:
schtasks功能丰富,应该算是windows下计划任务最主要的工具之一了
适用环境是win7~win10都可以
但是在win7中文版的时候会出现以下情况
schtasks
错误: 无法加载列资源。
问题原因是cmd编码有问题,因为是gbk编码936,所以必须要把cmd编码改成美国的437,就能正常使用,并且不需要管理员权限就能修改
或者改成65001,还能让中文正常显示
但是我在我本机的win10上面就能正常执行,真奇怪233333
OK接下来是schtasks的语法,有点复杂,
/Create 创建新计划任务。
/Delete 删除计划任务。
/Query 显示所有计划任务。
/Change 更改计划任务属性。
/Run 按需运行计划任务。
/End 中止当前正在运行的计划任务。
/ShowSid 显示与计划的任务名称相应的安全标识符。 创建新计划任务
SCHTASKS /Create
[/S system [/U username [/P [password]]]]
[/RU username [/RP password]]
/SC schedule
[/MO modifier] [/D day][/M months][/I idletime]
/TN taskname /TR taskrun
[/ST starttime][/RIinterval]
[{/ET endtime | /DU duration} [/K] [/XML xmlfile][/V1]]
[/SD startdate] [/ED enddate] [/IT | /NP] [/Z] [/F]
看着创建计划任务这么复杂
于是我拿出几个简单易理解的常用的介绍下,其他的读者可以自行查阅
那么先说下必须的结构
SCHTASKS /Create /SC schedule /TN taskname /TR taskrun /ST startime
/Create 创建任务
/SC xxx 指定计划频率 xxx可以为MINUTE、 HOURLY、DAILY、WEEKLY、MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT(ONCE指执行一次)
/TN xxx 任务叫啥名字,随意
/TR xxx 是要启动什么任务
/ST xxx 启动的时间(上面表说是可选项但是要/SC ONCE前提下,但是我在win7和win10都报错提示要加/ST)
在win7本地调试可以弹出记事本
schtasks /CREATE /SC ONCE /ST : /TN sijidou /TR notepad.exe
但是远程shell报错,它报是映射的问题
因为是自己的虚拟机随便怎么搞,那这里打开3389远程桌面,看看能不能在远程桌面写
创建个sijidou账号打开3389,虽然之前mimikatz抓到了我的管理员账号,但是这里先用低权限的试试
然后失败了....自己的虚拟机这么不给面子
没事,端口转发,把目标3389转到我们本地12345来,用rdesktop来连
run getgui -e -f 12345 rdesktop 127.0.0.1:1234
之前的sijidou账号是创立成功的,只是没打开远程连接,这里用sijidou账号登录,然后不是远程用户组登不上去....
最后用system登录上去的,system的用户我之前用mimkatz抓的,但是前提是用永恒之蓝打的时候,目标电脑是以system身份运行的
远程桌面是可以写的,只是远程桌面比较坑的是,目标机器会突然登出,这里是我自己的虚拟机就这么瞎搞了
20:18的时候,时间到了,记事本弹了出来
虽然过程稍微有点曲折,这里是能够利用了,msf其实写后面有专门的模块工具,比schtasks要简单一丢丢,这里也不介绍了,大家感兴趣可以去看看这篇文章,记录了很多msf后渗透的命令使用,非常棒的感觉:https://www.cnblogs.com/backlion/p/9484949.html
继续介绍几个参数
/RU username #这个程序运行的权限的账号 对于系统帐户,有效值是 ""、"NT AUTHORITY\SYSTEM" 或"SYSTEM"。
对于 v2 任务,"NT AUTHORITY\LOCALSERVICE"和"NT AUTHORITY\NETWORKSERVICE"以及常见的 SID。对这三个也都可用
/RP password #这个程序运行的权限的账号密码
也就是说着2个参数表示这个程序用什么账号运行,administrator那么就是管理员权限,sijidou那么就是sijidou的权限
但是我这个sijidou账号好像很low,连个程序都没法运行?
但是用win7,也就是我的管理员账号能够运行,但是后面在win7上用sijidou账号登录该账号是可以使用任务计划的,但是加上/RU和/RP就不行了
再看下/RU的参数解释,没懂,以后有机会再探讨吧
接下来是这3个参数
/S system 指定要连接到的远程系统。如果省略这个系统参数,默认是本地系统。
/U username 连接这个远程系统的可登陆账号
/P password 登录的账号密码
这3个参数的用法一般是域环境下的,因为我笔记本内存不行,就没搭域环境(都是借口)
这里/S是在同一个域中的目标机器名字,如果有/S那么/U和/P必不可少
/U和/P意味着能够登录目标机器账号,比如域控啥都能登,如果拿本地独有账号是不能登上去的
还有些参数大多部分都是设置程序的启动的规则,终止时间,持续时间,频率,还有结束后删除记录等,有兴趣的可以看看这里
https://www.cnblogs.com/yumianhu/p/3710743.html
0x04结语:
本文的参考链接除了文中的2个链接
关于解决中文编码问题:https://www.cnblogs.com/chenglee/p/9110963.html
关于编码问题无法使用schtasks解决办法:https://blog.csdn.net/xiaolongtuan/article/details/8832231
关于windows计划任务的命令介绍:https://www.secpulse.com/archives/73454.html
这篇文章比我的有深度多了,但是还涉及操作系统,也验证了没法靠schtasks提权?
现在功力还不组,先了解些皮毛,一步步来吧
window下的计划任务的更多相关文章
- window下设置定时任务及基本配置
### window下设置定时任务及基本配置 轉載請註明出處: https://www.cnblogs.com/funnyzpc/p/11746439.html |****************** ...
- PHP window下安装Spl_Types模块
1. Window下,Spl_Types的模块的下载地址:http://pecl.php.net/package/SPL_Types/0.4.0/windows 2. php的可执行文件已经加到系统的 ...
- window下搭建c开发环境(GNU环境的安装)
一.在windows平台上安装GNU环境 windows操作系统不自带GNU环境,如果需要开发跨平台的C语言程序,那么需要给windows安装GNU环境 windows下的两款GNU环境:MinGW和 ...
- Window下python2.7+Apache+mod_wsgi+Django服务器配置
前言:试着使用python搭建一个网页,分别在windows下和linux下,本篇文章主要讲解Window下python+Apache+mod_wsgi+Django服务器配置过程中遇见的问题和解决方 ...
- safari浏览器在window下 打开控制台
有时候需要在window下测试safari浏览器的兼容性 然后需要打开错误控制台 以下是完整打开的图文教程 1.显示菜单栏 2.打开偏好设置 3.然后切换到高级标签 勾选 在菜单栏显示开发菜单 4.打 ...
- window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法
window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题处理办法 本机已经安装了jdk1.7,而比较早期的项目需要依赖jdk1.6,于是同时在本机安装了jdk1.6和jdk1.7. 安装 ...
- window下安装wamp环境
Wamp就是Windos Apache Mysql PHP集成安装环境,即在window下的apache.php和mysql的服务器软件.其中php环境配置是至关重要的一部分,本文就针对php在本地的 ...
- nw.js FrameLess Window下的窗口拖拽与窗口大小控制
nw.js FrameLess Window下的窗口拖拽与窗口大小控制 很多时候,我们觉得系统的Frame框很难看,于是想自定义. 自定义Frame的第一步是在package.config文件中将fr ...
- Window 下 Qt5 使用QMediaplayer 进行视频播放 流播放问题
int main(int argc, char *argv[]) { QApplication a(argc, argv); QWidget *widget = new QWidget; widget ...
随机推荐
- nginx之请求限制与连接限制
模块limit_conn_module与limit_req_module limit_conn_module语法 limit_req_module语法 附: http长连接与短连接
- Django入门基础详解
本次使用django版本2.1.2 安装django 安装最新版本 pip install django 安装指定版本 pip install django==1.10.1 查看本机django版本 ...
- Java 单字节、多字节读取文本文档中的内容
文本文档位于工程下. 鼠标右击工程,选择“new - File”,即可创建. 文本文档的格式:GBK 单字节读取 import java.io.File; import java.io.FileInp ...
- Jmeter3.0 中文乱码的解决方法
在Body Data中输入中文时,发现是乱码,如下图 这种情况在jmeter3.0的版本中才会产生,由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字的显示. 解决方法 ...
- C++11新特性--decltype (转)
返回值 decltype(表达式) [返回值的类型是表达式参数的类型] 这个可也用来决定表达式的类型,就像Bjarne暗示的一样,如果我们需要去初始化某种类型的变量,auto是最简单的选择,但是如果我 ...
- python基础面试题(一)
1. 简述Python代码的运行机制 1.把原始代码编译成字节码 编译后的字节码是特定于Python的一种表现形式,它不是二进制的机器码,需要进一步编译才能被机器执行. 2.把编译 ...
- python指定分隔符来分割文件
1 import re 2 p = re.compile('AAAAAAAA',re.S) 3 f = open(r"D:\test\oldfile.txt","r&qu ...
- Linux(centos)系统各个目录的作用详解 推荐
文件系统的类型 LINUX有四种基本文件系统类型:普通文件.目录文件.连接文件和特殊文件,可用file命令来识别. 普通文件:如文本文件.C语言元代码.SHELL脚本.二进制的可执行文件等,可用cat ...
- PEM routines:PEM_read_bio:no start line
https://blog.csdn.net/xiejunna/article/details/71151006 在放置证书后,运行nodejs抛异常:PEM routines:PEM_read_bio ...
- 个人笔记本安装多个jdk(jdk1.7,jdk1.8,jdk1.9,jdk10.0)出现的问题
1.个人笔记本已经安装jdk1.7,jdk1.8,(之前没有在意这个问题).最近想学习jdk10.0,安装以后,环境变量变成了jdk10.0,就是cmd输入命令java -version,显示版本是j ...