广告位联系
返回顶部
分享到

Linux使用cron定时任务被隐藏的解决方法

linux 来源:互联网 作者:佚名 发布时间:2024-04-21 09:12:19 人浏览
摘要

一、问题现象 线上服务器运行过程中,进程有莫名进程被启动,怀疑是有定时任务自动启动,当你用常规方法去查看,比如使用crontab去查看定时器任务,提示no crontab for root 或者使用cat到/va

一、问题现象

线上服务器运行过程中,进程有莫名进程被启动,怀疑是有定时任务自动启动,当你用常规方法去查看,比如使用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不一致情况,及时告警处理。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Linux服务器上配置基于SSH密钥的身份验证及使用方
    SSH(Secure Shell)是一种加密协议,用于管理和与服务器通信。在使用 Linux 服务器时,您经常会花费大量时间在通过 SSH 连接到服务器的终端
  • Linux使用cron定时任务被隐藏的解决方法

    Linux使用cron定时任务被隐藏的解决方法
    一、问题现象 线上服务器运行过程中,进程有莫名进程被启动,怀疑是有定时任务自动启动,当你用常规方法去查看,比如使用crontab去查看
  • linux删除 buff/cache缓存的操作方法

    linux删除 buff/cache缓存的操作方法
    1.查看当前内存占用 1 free -h 如图,缓存占用了将近9G,接下来进行清理 释放页缓存 1 echo 1 /proc/sys/vm/drop_caches 释放dentries和inodes 1 echo 2 /pro
  • linux下端口被占用问题以及解除方式介绍

    linux下端口被占用问题以及解除方式介绍
    linux下端口被占用及解除 问题 最近开始学linux,写一个网络编程有关的程序时,服务端绑定端口 客户端第一次连接的时候,服务端能够正常打
  • Linux杀死指定端口的进程的教程
    Linux杀死指定端口的进程 1.查看端口 终端输入:lsof -i tcp:port 将port换成被占用的端口(如:8080) 将会出现占用端口的进程信息。 2.kill进程 找
  • Linux文件系统之缓冲区介绍

    Linux文件系统之缓冲区介绍
    一、先看现象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include stdio.h #include string.h #include unistd.h int main() { const char* fstr = Hello fwrite\n; const char* str
  • linux网络知识之iptables的规则介绍

    linux网络知识之iptables的规则介绍
    iptables规则 下图为数据包到达linux主机网卡后,内核如何处理数据包的大致流程 什么是规则 规则是管理员对数据包制定的一种触发机制,即
  • Linux包管理工具yum、apt的区别介绍
    一般来说著名的 Linux 系统基本上分两大类:RedHat 系列:Redhat、Centos、Fedora 等;Debian 系列:Debian、Ubuntu 等。 yum( Yellow dog Updater, Modified)是
  • linux命令:echo使用介绍
    Shell中的echo命令类似于php中的echo命令,都是用于输出。Shell中另有一个输出命令为printf命令,大家可以在Shell printf 命令中查阅学习。 本文中
  • 红帽RHEL8和7的区别对比介绍(Centos8与7参照redhat)
    红帽RHEL8与RHEL7的区别 1. 红帽RHEL8和RHEL7功能区别对比 1.1 默认的文件系统 RHEL8与RHEL7都是采用XFS 1.2 RHEL8与RHEL7的内核版本分别是多少 关于内核
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计