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 文件,同时加强系统安全性以防止未来的攻击。

相关推荐
我曾经是个程序员6 分钟前
鸿蒙学习记录之http网络请求
服务器·学习·http
0zxm8 分钟前
06 - Django 视图view
网络·后端·python·django
李昊哲小课18 分钟前
deepin 安装 zookeeper
大数据·运维·zookeeper·debian·hbase
真真-真真35 分钟前
WebXR
linux·运维·服务器
轩辰~1 小时前
网络协议入门
linux·服务器·开发语言·网络·arm开发·c++·网络协议
燕雀安知鸿鹄之志哉.1 小时前
攻防世界 web ics-06
网络·经验分享·安全·web安全·网络安全
wanhengidc2 小时前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain2 小时前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
ProcessOn官方账号2 小时前
如何绘制网络拓扑图?附详细分类解说和用户案例!
网络·职场和发展·流程图·拓扑学
-KamMinG2 小时前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana