怎么排查Linux系统中的隐蔽计划任务及恶意启动项教程

大萱姑娘_6364

大萱姑娘_6364

2026-05-07

1073人浏览

原创

关键在于多源交叉验证:逐层检查crontab、/etc/crontab、/etc/cron.*、systemctl list-timers及shell初始化文件;启动项需覆盖/etc/init.d、systemd服务、/tmp与/dev/shm临时脚本,并结合lsmod、ss和/proc/PID/exe溯源验证。

怎么排查linux系统中的隐蔽计划任务及恶意启动项教程

排查Linux系统中的隐蔽计划任务和恶意启动项,关键不是“找得多”,而是“比得准”——要通过多来源交叉验证,避开被篡改工具的干扰。很多后门任务藏得并不深,只是混在正常配置里,靠人工扫一眼容易漏掉。

计划任务:从用户级到系统级逐层检查

计划任务是持久化最常用的入口,不能只看当前用户 crontab:

  • 运行 crontab -l 查当前用户任务,重点留意路径异常(如 /tmp/xxx.sh、/dev/shm/ 下脚本)、执行频率过高(* * * * * 或 */2 * * * *)、命令末尾带 & 或 nohup
  • 检查系统级任务:cat /etc/crontab 和 ls /etc/cron.*(尤其是 cron.d、cron.hourly),这些目录下可能有非 root 创建的文件
  • 查看 systemd 定时器:systemctl list-timers --all,注意状态为 enabled 但名称模糊的服务(如 update-checker.service、sys-maint.timer),用 systemctl cat 名称 看 ExecStart 是否调用可疑二进制或远程下载命令
  • 别忽略用户级 shell 初始化文件:grep -r "curl\|wget\|nohup\|&" ~/.bashrc ~/.profile ~/.bash_profile 2>/dev/null,攻击者常在这里植入一键拉起恶意进程的逻辑

启动项:覆盖 init、systemd 和临时目录伪装

开机自启的载体比想象中更多样,需分层覆盖:

Linuxdo Application
Linuxdo Application

为 Linux.do 注册撰写高通过率、去 AI 化的中文小作文。进行自适应调查以了解申请人的真实背景,...

下载
  • 传统 SysV 启动项:ls /etc/init.d/,过滤掉明显非官方命名(如 acpid 正常,acpi_daemon 就可疑);再用 chkconfig --list(CentOS 6)或 systemctl list-unit-files --type=service | grep enabled(主流发行版)确认实际启用状态
  • systemd 服务单元:systemctl list-unit-files --type=service --state=enabled,对每个可疑服务执行 systemctl cat 服务名,检查 ExecStart= 路径是否指向 /tmp、/dev/shm 或 base64 编码命令
  • 临时目录伪装启动:find /tmp /dev/shm -type f -name "*.sh" -mtime -7 2>/dev/null,结合 ps auxf 中的进程树,看是否有父进程是 bash 但命令行为空或被截断的情况
  • 检查内核模块加载行为:lsmod | grep -E "(hide|root|knark|adore)",若发现异常模块,进一步查 dmesg | tail -30 是否有模块插入日志

验证与溯源:避免误删,也防漏网

找到可疑项后,不能直接删,先确认它是否真在运行、有没有关联行为:

  • 对定时任务中提到的脚本,用 cat /path/to/script.sh 查内容,不执行;若内容含 bash -i>&/dev/tcp/、curl -sSL http://、base64 -d 等,基本可判定为恶意
  • 对启动项对应的服务,用 systemctl status 服务名 看最近启动时间、PID、CGroup 路径;再进 /proc/PID/exe 看是否指向真实文件(若显示 (deleted),说明原文件已被删但进程仍在跑)
  • 反查网络行为:ss -tunlp | grep :端口 找监听端口,再用 lsof -i :端口 或直接读 /proc/[pid]/fd/ 下的 socket 链接,确认是否由刚发现的启动项进程持有
  • 清理后务必检查是否残留:grep -r "脚本名\|域名\|IP" /etc/cron* /var/spool/cron/ /etc/systemd/system/ 2>/dev/null,防止多个入口点相互备份

不复杂但容易忽略:很多隐蔽任务根本不在标准路径,而是藏在 /etc/cron.d/ 的空格文件名里,或用 @reboot 指令绕过日常检查。动手前先备份原始配置,排查时保持终端干净(不用 alias 过的 ps/top),能少踩一半坑。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux linux系统

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4450

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3733

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

3033

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7490

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

7122

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

4053

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3545

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3799

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习