ATT&CK-持久化-Local Job Scheduling

简介

在Linux系统上,支持多种方法来创建预定的和定期的后台作业:cron,at,与Windows系统上的“计划任务”不同,基于Linux的系统上的作业计划无法远程完成,除非在已建立的远程会话(如安全外壳(SSH))中结合使用

测试用例

cron

cron是大多数linux发行版都自带的守护进程(daemon),用来重复运行某些被设定好了确定的运行时间的任务,系统默认crontab文件为/etc/crontab,以及/etc/cron.d/目录下的文件,cron守护进程会检查/etc/crontab以及/etc/cron.d/目录下的文件,根据这些文件中的cron任务所设置的执行时间决定是否执行任务,如果当前时间与cron任务所设置的执行时间相同,则执行任务。

第1列分钟0~59
第2列小时0~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~7(0和7表示星期天)
第6列要运行的命令

crontab -e 编辑一条任务
每天晚上9点30分执行命令

30 21 * * * command

crontab -l列出任务列表
4PoIwU
crontab -r 删除当前用户的任务

/etc/cron.d/ 目录下创建定时任务
创建test文件,内容为定时任务,这种方式创建的定时任务使用crontab -l命令是查看不了的
kKKQoq

at

at命令用于在指定时间执行命令。at允许使用一套相当复杂的指定时间的方法。它能够接受在当天的hh:mm(小时:分钟)式的时间指定。
命令参数

能够接受标准小时时间,hh:mm(小时:分钟)式的时间指定。例如,13:12。
特定可命名时间,例如now,noon,teatime(一般是下午4点)等比较模糊的词语来指定时间。
AM/PM指示符,采用12小时计时制,例如 10:10 AM。
标准日期格式,MMDDYY,MM/DD/YY等,例如12/31/16。
时间增量,例如now+25 min,10:17+7天。
可以使用today、tomorrow来指定时间。

执行shell文件
lYPka8
执行命令
VPp6ot
atq查看任务列表
4iVmgf
删除任务使用atrm 任务序号

缓解措施

限制用户帐户的特权,以便只有授权用户才能创建计划的作业。

侦测

监视启动任务和cron任务导致的流程执行,以查找异常或未知的应用程序和行为。