Windows渗透:利用schtasks远程执行命令
最近工作中用到了SCHTASKS命令来远程执行命令,由于命令参数有点多,利用起来稍微有点复杂,把利用方法记录在这里,备忘。
远程执行命令的模拟环境是我用VMware Workstation Pro搭建的一个简单域环境,里面有一台装了Microsoft Windows Server 2008 R2 Enterprise系统的域控,一台装了Microsoft Windows 7的客户机。要实现的功能是通过在Windows 7客户机上利用SCHTASKS命令在域控上远程执行命令。
具体执行的命令是让域控运行从客户机上拷贝过去的cmd.exe
下面是远程执行命令的具体步骤:
1. 建立IPC连接
net use \\dom-08R2.test.com\admin$ "123456q!@#" /user:test.com\Administrator
2. 把要执行的文件通过copy命令复制到目标系统
copy c:\windows\system32\cmd.exe \\dom-08R2.test.com\admin$\temp\cmd111.exe
3. 确认文件是否复制成功
dir \\dom-08R2.test.com\admin$\temp\cmd111.exe
4. 删除建立的IPC连接
net use \\dom-08R2.test.com\admin$ /del
5. 用SCHTASKS命令在远程系统建立计划任务
以远程系统的system用户运行c:\windows\temp\cmd111.exe,计划任务的名字为test1
SCHTASKS /Create /S dom-08R2.test.com /U test.com\Administrator /P "123456q!@#" /SC ONCE /ST 11:00 /TN test1 /TR c:\windows\temp\cmd111.exe /RU system
6. 查看建立的计划任务是否正确
用到的命令是SCHTASKS /Query,但简体中文版Windows 7 中直接执行SCHTASKS /Query命令会报错:“错误:无法加载资源。”,原因是简体中文的 schtasks MUI 语言包有问题,导致 schtasks /query 不能输出。 解决办法是先输入chcp 437,将当前的命令提示符的代码页设置为美国英语。
chcp 437
SCHTASKS /Query /S dom-08R2.test.com /U test.com\Administrator /P "123456q!@#"
7. 运行建立的计划任务
SCHTASKS /Run /S dom-08R2.test.com /U test.com\Administrator /P "123456q!@#" /I /TN "test1"
8. 去远程系统确认cmd111.exe是否已经运行(通过看进程)
9. 删除建立的计划任务
SCHTASKS /Delete /S dom-08R2.test.com /U test.com\Administrator /P "123456q!@#" /TN "test1" /F