LINUX中使用cron定时任务被隐藏,咋回事?

一、问题现象

线上服务器运行过程中,进程有莫名进程被启动,怀疑是有定时任务自动启动,当你用常规方法去查看,比如使用crontab去查看定时器任务,提示no crontab for root

或者使用cat到/var/spool/cron目录下去查看定时器文件,也是提示no crontab for root

使用vim编辑定时器文件,打眼一看看到的似乎也是空白

但是你从cron定时任务日志中确看到有任务确实在执行,这是咋回事?首先你可能想到配置cron还有其他地方,比如/etc/cron.d/ 下、/etc/下,你检查一通,也都没有定时文件,咋回事呢?

 二、问题原因

初次遇到这种问题时,按照常规命令检查,输出显然很是诡异,但cron日志有记录定时有任务在跑,就说明肯定是定时器存在,一定还是有问题没检查出来。

还是从当前能看到信息入手,cron的日志里,异常执行的任务中都带有个^M字符有点可疑,这个字符以前在windows上文件见到过。针对这个可疑字符,度娘了下,一下豁然开朗,原来^M在linux上可以表示为回车换行符,当我们使用cat/more等基础命令去查看带有^M的一行字符串时,终端屏幕上会把 ^M 之后的内容在同一行换行后输出,这样就覆盖掉了^M之前的内容,导致看到的前面出现的诡异现象。

三、解决方法

前面我们习惯于用cat/vim,不加任何参数,直接去看文件,内容其实都被掩藏了,很多人可能执行到这一步,就认为这一定就是个空文件,殊不知你再用相同命令,多走一步,你就可以看到事情的真相。例如:

你用 cat 加上-A参数可以读取文件的所有内容

我们用-A读取可疑文件,发现确实有一段定时任务存在

 又或者,你在使用VI查看文件时,你多走一步,进入编辑模式,文本内容也会显示在你的眼前

四、经验总结 

出现此类情况,通常服务器可能存在被黑客已经攻破的风险,恶意隐藏了程序代码。并且不光在crontab这种场景下,像执行脚本,配置文件等核心文件都有可能被利用隐藏恶意代码。所以防止此类情况的发生,从安全防御的角度来看,我们可以事前增加对一些关键文件的监控,例如监控文件md5值是否一致,当出现md5不一致情况,及时告警处理。

相关推荐

  1. Linux 使用 cron 定时执行任务的注意事项

    2024-04-20 18:38:01       9 阅读
  2. Linux cron定时任务常用方法

    2024-04-20 18:38:01       33 阅读
  3. Linux-Ubuntu】定时任务 cron 详解

    2024-04-20 18:38:01       32 阅读
  4. CRON 定时任务

    2024-04-20 18:38:01       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-20 18:38:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-20 18:38:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-20 18:38:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-20 18:38:01       20 阅读

热门阅读

  1. Edge的使用心得与深度探索

    2024-04-20 18:38:01       17 阅读
  2. CPU执行过程

    2024-04-20 18:38:01       16 阅读
  3. Ansible离线安装

    2024-04-20 18:38:01       23 阅读
  4. Elasticsearch(1)

    2024-04-20 18:38:01       36 阅读
  5. eslint 规则

    2024-04-20 18:38:01       49 阅读
  6. ARM_day7:按键中断

    2024-04-20 18:38:01       20 阅读
  7. 常见分类算法

    2024-04-20 18:38:01       20 阅读
  8. QT写Windows按键输出(外挂)

    2024-04-20 18:38:01       15 阅读
  9. 【MySQL】MySQL锁(二)表锁与行锁测试

    2024-04-20 18:38:01       23 阅读
  10. windows下如何安装git

    2024-04-20 18:38:01       46 阅读
  11. mybatis映射postgres数据库的geometry类型

    2024-04-20 18:38:01       18 阅读