温馨提示×

怎么排查centos exploit

小樊
37
2026-09-21 11:58:53
栏目: 智能运维

“排查 CentOS 是否遭受 exploit(漏洞利用/入侵)”一般分几个阶段来做:确认是否已被入侵 → 找入侵痕迹 → 查利用的漏洞 → 清理与加固。下面给你一套实用排查思路(命令可直接用)。


一、先看系统是否已被入侵(快速体检)

1. 检查异常账户

cat /etc/passwd
cat /etc/shadow

重点看:

  • 是否有未知用户
  • 是否有 UID=0 的非 root 用户
awk -F: '$3==0 {print $1}' /etc/passwd

2. 检查当前登录和连接

who
w
last
lastlog

异常时间点、异常 IP 要重点关注。

3. 检查异常进程

top -c
ps auxf

注意:

  • 高 CPU / 内存但不明用途
  • 名字像系统进程(如 [kworker] 但带参数)

查看隐藏进程:

ps -eo pid,comm | sort -n > /tmp/ps.txt
ls /proc | grep -E '^[0-9]+$' | sort -n > /tmp/proc.txt
diff /tmp/ps.txt /tmp/proc.txt

二、查 Web / 服务相关 exploit(最常见)

1. 检查监听端口

netstat -tunlp
ss -tunlp

看是否有:

  • 非常见端口
  • 绑定在 0.0.0.0 的可疑服务

2. 查 Web 目录后门

如果是 Nginx / Apache:

find /var/www -type f -name "*.php" -mtime -7

看最近修改的 PHP / JSP / py 文件。

常见后门特征:

  • eval($_POST
  • base64_decode
  • assert(
  • /bin/sh
  • system(
grep -R "eval(" /var/www
grep -R "base64_decode" /var/www

三、查系统级 exploit(提权 / 内核漏洞)

1. 查看内核版本

uname -a
cat /etc/redhat-release

常见 CentOS 老版本风险:

  • CentOS 6 / 7 老内核
  • Dirty COW(CVE-2016-5195)
  • Dirty Pipe(CVE-2022-0847,影响 5.8+)

可用工具:

# 本地漏洞扫描
yum install -y lynis
lynis audit system

2. 检查 SUID / 提权文件

find / -perm -4000 -type f 2>/dev/null

异常 SUID 文件可能是提权利用残留。

3. 检查 crontab / 启动项

crontab -l
ls /etc/cron*
cat /etc/rc.local
systemctl list-unit-files | grep enabled

四、查日志(非常关键)

1. 安全日志

/var/log/secure
/var/log/messages

看:

  • 暴力 SSH
  • 异常登录成功
grep "Failed password" /var/log/secure | wc -l
grep "Accepted password" /var/log/secure

2. Web 日志

/var/log/nginx/access.log
/var/log/httpd/access_log

找:

  • GET /?cmd=
  • 一句话木马访问
  • 扫描器 UA

五、用专业工具辅助排查

1. Rootkit 检测

yum install -y chkrootkit rkhunter
chkrootkit
rkhunter --check

2. 恶意文件扫描

  • ClamAV
yum install -y clamav
clamscan -r /var/www

六、确认 exploit 来源的思路

如果你已经发现被入侵:

  1. 最早异常时间
  2. 对应时间查:
    • secure 日志
    • web 日志
    • 文件修改时间
  3. 反推:
    • SSH 爆破 → 弱口令
    • Web 漏洞 → 版本过旧
    • 内核漏洞 → uname 版本

七、清理与加固(必须做)

  • 改所有密码
  • 升级系统:
yum update -y
  • 禁用 root SSH:
PermitRootLogin no
  • 配置防火墙
  • 删除未知用户 / 后门文件
  • 必要时 重装系统(最安全)

如果你愿意,可以告诉我:

  • CentOS 版本
  • 是 Web 服务器还是数据库 / 内网机器
  • 你目前发现了什么异常

我可以直接帮你定位是哪种 exploit

0