可疑定时任务排查需依次检查用户级crontab、系统级/etc/crontab及cron.d目录、周期性脚本目录、systemd定时器和shell启动文件,重点识别临时目录路径、高频执行、后台隐藏命令及可疑网络调用特征。

先看当前用户有没有可疑定时任务
运行 crontab -l 查当前登录用户的计划任务。重点盯三类内容:路径是否在 /tmp、/dev/shm 或 /var/tmp 这类临时目录;执行频率是不是高得离谱,比如 * * * * *(每分钟一次)或 */2 * * * *(每两分钟一次);命令末尾有没有 &、nohup 或重定向到 /dev/null ——这些常用来隐藏后台行为。
再查系统级Cron配置文件
攻击者不只改当前用户,还会写进系统级配置。依次执行以下命令:
- cat /etc/crontab —— 看主配置里有没有非 root 用户调用的脚本
- ls /etc/cron.d/ + cat /etc/cron.d/xxx —— 这个目录下常被植入伪装成“系统维护”的恶意任务
-
ls /etc/cron.hourly /etc/cron.daily /etc/cron.weekly —— 检查这些目录里有没有陌生名字的可执行文件(如
update.sh、syscheck)
别漏掉 systemd 定时器和 shell 启动项
Cron 不是唯一入口。继续排查:
-
systemctl list-timers --all —— 查看所有启用的定时器,对名称模糊的服务(如
netmgr.timer、logrotate.service)用 systemctl cat xxx 看它的ExecStart=是否调用可疑路径或 base64 命令 - grep -r "curl\|wget\|bash -i\|/dev/tcp" ~/.bashrc ~/.profile ~/.bash_profile 2>/dev/null —— 攻击者常在这里埋一键拉起反弹 Shell 的逻辑,比如每次开终端就自动连外网
发现可疑脚本后,务必先看内容再删
看到类似 * * * * * /tmp/.a.py 这样的条目,别急着删 crontab 或 rm 文件。先执行:
-
cat /tmp/.a.py —— 快速扫前30行,找
socket、subprocess、os.system、base64.b64decode、/dev/tcp等关键词 -
ls -l /tmp/.a.py —— 看修改时间是否很新(
-mtime -1表示一天内),结合stat /tmp/.a.py看详细时间戳 - 确认是恶意脚本后,再删定时任务(crontab -e)、删脚本(rm -f /tmp/.a.py)、检查是否正在运行(ps aux | grep .a.py)











