关于我们
4SecNet 团队专注于网络安全攻防研究,目前团队成员分布在国内多家顶级安全厂商的核心部门,包括安全研究领域、攻防实验室等,汇聚了行业内的顶尖技术力量。团队在病毒木马逆向分析、APT 追踪、破解技术、漏洞分析、红队工具开发等多个领域积累了深厚经验,并持续在复杂威胁对抗和攻防技术创新方面不断探索与突破。4SecNet 致力于通过技术共享与实践推动网络安全生态的持续进步。
项目获取
微信搜索4SecNet,关注公众号,回复 20250106 即可获取项目详细信息
详细信息
PowerShell
的 Register-ScheduledTask
命令用于在 Windows
中注册新的计划任务或更新现有的计划任务。通过该命令,可以灵活地定义任务的触发条件、执行动作以及其他参数,实现自动化任务管理。以下是使用 Register-ScheduledTask
添加计划任务的详细步骤:
Register-ScheduledTask -TaskName <任务名称> -Trigger <触发器> -Action <动作> [-Description <描述>] [-User <用户名>] [-Password <密码>]
关键参数
-TaskName: 指定计划任务的名称。
-Trigger: 定义触发条件,例如登录、启动或特定时间。
-Action: 定义任务执行的操作,例如运行一个脚本或程序。
-Description: (可选)任务的描述信息。
-User 和 -Password: 指定运行任务的用户及其密码。不难理解,可以通过Action参数指定 New-ScheduledTaskTrigger 创建触发器,从而完成计划任务的创建。进一步将这些命令封装到诸如 C++ 等编程语言中,并编译为可执行程序。当程序运行时,通过调用 PowerShell 执行计划任务的创建操作,即可实现计划任务的持久化启动,同时达到一定的免杀效果。
最终效果
该技术手段的实现难度相对较低,其巧妙之处在于借助 PowerShell 的 Register-ScheduledTask 命令,将恶意模块伪装并直接添加至计划任务启动项中。这种方法不仅规避了传统安全软件的检测,还能在系统每次启动时执行恶意模块,从而实现持久化控制,进一步提升了攻击的隐蔽性和持续性。
视频演示
单文件实现计划任务启动项持久化:巧妙绕过防护的实战技巧