linux CentOS检查见后门程序的shell

在使用 Linux CentOS 时,检查系统是否存在后门程序、恶意 Shell 文件或其他可疑进程是确保服务器安全的重要环节。以下是详细步骤,用于检查系统中可能存在的后门程序或 Shell 文件。


一、检查系统中可疑的文件和脚本

1. 检查系统中不常见的 Shell 文件

后门程序往往伪装成普通的 Shell 脚本(如 .sh 文件)。可以通过以下命令查找可疑的 Shell 文件:

bash

复制

复制代码
find / -type f -name "*.sh" -exec ls -l {} \; 2>/dev/null
  • 查找所有以 .sh 结尾的文件。
  • 如果发现陌生或不熟悉的脚本文件(特别是在 /tmp/var/tmp/dev/shm 等目录中),需要进一步检查。

2. 查找隐藏文件或目录

攻击者可能会将后门文件设置为隐藏文件(以 . 开头)。

bash

复制

复制代码
find / -type f -name ".*" -exec ls -l {} \; 2>/dev/null
  • 检查隐藏文件和目录。
  • 特别关注 /tmp/var/tmp/dev/shm 等临时目录,这些是攻击者经常利用的地方。

3. 检查定时任务(Cron Jobs)

攻击者可能利用定时任务执行后门程序。

检查系统定时任务:

bash

复制

复制代码
crontab -l
检查系统级别的定时任务:

bash

复制

复制代码
cat /etc/crontab
ls -l /etc/cron.d
ls -l /var/spool/cron/
  • 搜索陌生的任务或指向未知脚本的任务。
  • 注意可疑的执行路径或未知的脚本文件。

4. 检查启动项

后门程序可能会设置为开机自动运行。

检查系统服务:

bash

复制

复制代码
systemctl list-unit-files | grep enabled
检查开机脚本:

bash

复制

复制代码
ls -l /etc/rc.d/rc.local
ls -l /etc/init.d/
  • 查找是否有不明服务或脚本被设置为开机启动。

5. 查找可疑的二进制文件

攻击者可能会将后门程序伪装成正常的系统二进制文件。

bash

复制

复制代码
find / -type f -perm 4000 2>/dev/null
  • 以上命令查找所有具有 SUID 权限的文件(攻击者可能利用 SUID 权限提升权限)。
  • 检查是否存在伪装成系统命令的文件(如 lsps 等)。

二、检查系统中的可疑进程

1. 查看当前运行的进程

通过 ps 命令查看是否有异常进程:

bash

复制

复制代码
ps aux

注意以下内容:

  • 是否有陌生的进程名称或路径。
  • 是否有进程运行在 /tmp/var/tmp 或用户目录下。
  • 是否有进程名称类似于合法的系统命令(如 ls, ps),但路径异常。
示例命令过滤可疑进程:

bash

复制

复制代码
ps aux | grep -E 'tmp|shm|unknown'

2. 使用 lsof 检查进程打开的文件

lsof 命令可以显示进程打开的文件,帮助定位可疑进程。

查找所有打开的文件:

bash

复制

复制代码
lsof
查找 /tmp 目录下的文件:

bash

复制

复制代码
lsof | grep /tmp

3. 检查网络连接

后门程序可能会通过网络与攻击者通信。

使用 netstat 检查网络连接:

bash

复制

复制代码
netstat -anp
  • 注意监听的端口和连接的 IP 地址。
  • 特别关注运行在非标准端口上的服务。
使用 ss 命令检查:

bash

复制

复制代码
ss -tuln
  • 显示所有监听的端口和对应的进程。

4. 检查被篡改的系统命令

后门程序可能会替换系统命令以隐藏自身(如替换 ps, ls 等命令)。

验证系统命令的完整性:

bash

复制

复制代码
rpm -Va | grep '^..5'
  • 如果系统使用了 RPM 包管理器,此命令可以检查系统文件是否被修改。
  • 特别关注关键命令(如 ls, ps, top, netstat)。

三、检查用户登录和权限

1. 检查登录用户

查看最近的登录记录:

bash

复制

复制代码
last

查看当前在线用户:

bash

复制

复制代码
who
  • 检查是否有陌生用户登录服务器。

2. 检查系统用户列表

查看 /etc/passwd 文件,检查是否有未知的用户被添加:

bash

复制

复制代码
cat /etc/passwd
  • 可疑用户通常会有非标准的 UID(如 UID < 1000 或异常高的 UID)。

3. 检查 SSH 配置

攻击者可能通过修改 SSH 配置文件来打开后门。

查看 SSH 配置文件:

bash

复制

复制代码
cat /etc/ssh/sshd_config
  • 检查是否有异常的配置(如允许 Root 登录 PermitRootLogin yes 或添加了额外的公钥)。
检查授权的 SSH 密钥:

bash

复制

复制代码
cat ~/.ssh/authorized_keys
  • 检查是否有未知的公钥被添加。

四、使用安全工具扫描后门程序

1. 使用 chkrootkit

chkrootkit 是一个常用的工具,用于检测系统是否感染了 Rootkit。

安装:

bash

复制

复制代码
yum install chkrootkit -y
扫描:

bash

复制

复制代码
chkrootkit
  • 检查输出结果是否提示有感染的文件。

2. 使用 rkhunter

rkhunter 是另一个检测 Rootkit 和后门的工具。

安装:

bash

复制

复制代码
yum install rkhunter -y
扫描:

bash

复制

复制代码
rkhunter --check
  • 根据提示信息检查是否存在可疑文件或配置。

3. 使用 clamav 检测恶意程序

ClamAV 是一个开源的病毒扫描工具,可以用来检测恶意程序。

安装:

bash

复制

复制代码
yum install epel-release -y
yum install clamav -y
更新病毒库:

bash

复制

复制代码
freshclam
扫描整个系统:

bash

复制

复制代码
clamscan -r /

五、处理可疑文件和程序

1. 暂时隔离文件

如果发现可疑文件或程序,先移动到隔离目录:

bash

复制

复制代码
mv /path/to/suspicious/file /root/quarantine/

2. 杀掉可疑进程

对于运行中的可疑进程,可以使用 kill 命令终止:

bash

复制

复制代码
kill -9 <PID>

3. 清理日志

攻击者可能会篡改日志文件以掩盖踪迹,可以审查日志文件:

bash

复制

复制代码
cat /var/log/messages
cat /var/log/secure

六、预防建议

  1. 定期更新系统

    bash

    复制

    复制代码
    yum update -y
  2. 关闭不必要的端口和服务

    bash

    复制

    复制代码
    systemctl disable <service_name>
  3. 设置防火墙规则

    使用 firewalldiptables 限制访问。

  4. 启用 SELinux

    bash

    复制

    复制代码
    setenforce 1
  5. 使用强密码和 SSH 密钥认证:禁用密码登录,使用公钥认证。


通过以上方法,您可以有效地检查并清理 CentOS 系统中的后门程序或恶意 Shell 文件,同时加强系统安全性以防止未来的攻击。

相关推荐
Guheyunyi19 分钟前
消防管理系统如何重构现代空间防御体系
大数据·运维·人工智能·安全·信息可视化·重构
我是好小孩24 分钟前
【Android】六大设计原则
android·java·运维·服务器·设计模式
孙同学要努力1 小时前
《Linux篇》进程状态——浅度、深度睡眠状态、僵尸状态、运行状态
linux·运维
jieyu11192 小时前
Linux Rootkit 详解
linux·运维·系统安全
宁檬精2 小时前
运维面试准备——综合篇(一)
linux·运维·服务器
洛阳纸贵Coco.Leo.YI2 小时前
10分钟在Windows11下Ubuntu内安装docker-Version28.51
linux·ubuntu·docker
阿巴~阿巴~2 小时前
Ubuntu 20.04 安装 Redis
linux·服务器·数据库·redis·ubuntu
aitav02 小时前
⚡ arm 32位嵌入式 Linux 系统移植 NTP 服务
linux·arm开发·ntp
AALoveTouch2 小时前
大麦网抢票:基于Wireshark协议分析
网络·测试工具·wireshark
weixin_456904272 小时前
工业自动化通信控制
运维·struts·自动化