06-Linux服务器应急排查实战指南
参考资料:
- 网络安全行业门户:https://www.freebuf.com/
引言
在服务器运行过程中,网络安全攻击频发,常见威胁包括 挖矿病毒、蠕虫传播、DDoS 攻击、后门程序等。这些攻击不仅影响系统稳定性,还可能造成数据泄露或业务中断。对于系统运维和应急排查人员而言,如何在最短时间内识别攻击迹象、精准定位问题来源,并迅速采取应对措施,是一项至关重要的技能。
1. 排查思路
1)了解清楚事件发生时间点、事件有什么特征、服务器的用途、服务器上部署的应用组件、已做过那些应急措施,禁忌上来就一顿操作;
2)大概思考下能沾边的网络攻击特征,同时根据服务器版本以及服务器上部署的组件看看近期是否有nday漏洞,有时匹配上了可以节约一大部分时间;
3)根据已部署的安全设备,快速看看异常事件以及已攻击成功的事件;
4)上机排查,使用busybox套装防止发生预期以外的情况,使用磁盘备份(dd)进行整个备份,或手工备份日志以及一些易被覆盖的系统文件,如:.viminfo、history,使用LiME(Linux Memory Extractor)备份服务器内存,或者使用手工追加将进程、网络连接状态等进行备份,(虚拟化/云环境可直接拍摄快照);
5)根据前期了解的情况、事件特征进行排查,若排查到有一定的特征的异常文件或者进程时,可先到网上找找有没有相似案例,可以节约很多时间。
2. 常见网络安全攻击特征
| 攻击类型 | 特征表现 |
|---|---|
| 挖矿病毒 | - CPU / GPU 长时间 占用 100% - 异常进程(如 xmrig、kworker、ddgs) - 持续对外连接 矿池地址( stratum+tcp://) |
| DDoS 攻击 | - 服务器 带宽异常占满 - netstat显示大量SYN_RECV、TIME_WAIT- ps发现大量httpd/nginx进程 |
| 后门木马 | - 隐藏进程,ps进程列表找不到但top能看到 - crontab中出现可疑定时任务 - 端口监听异常 ( ss -antp显示 root 运行的非标准端口) |
| 蠕虫病毒 | - 短时间内大量文件变动 - top显示异常高 I/O 负载 - 服务器对外疯狂扫描其他 IP |
| 勒索病毒 | - 文件被加密(扩展名.lock、.encrypted) - /tmp目录下出现未知可执行文件 - ps发现wget/curl下载可疑文件 |
| Webshell / 恶意代码 | - 网站目录(/var/www/html/)出现陌生脚本文件- grep -r eval |
| SQL 注入攻击 | - 数据库mysqld进程 CPU 异常升高 - 网站日志出现大量 UNION SELECT或 OR 1=1语句 |
| 暴力破解 SSH | -/var/log/secure出现大量 failed login记录 - who发现陌生 IP 登录 - ss -antp发现22端口大量连接 |
| DNS 劫持 | -resolv.conf被篡改,DNS 解析异常 - ping google.com解析 IP 变化 - 服务器 DNS 记录被改到 8.8.8.8之外的未知 IP |
| 恶意代理 / 隧道 | -ps发现socat、nc、iodine等隧道工具 - 服务器对外大量 443/80连接 - iptables规则被修改 |
| ARP 欺骗 / 内网流量劫持 | -arp -a显示异常网关 MAC - 内网通信异常,流量到达错误 IP - tcpdump发现 ARP 报文激增 |
3. Linux数据传输
应急响应需要将相应工具上传到服务器,可使用的方式:
| 传输方式 | 适用场景 | 使用示例 |
|---|---|---|
| SCP(安全复制协议)✅ 推荐 | 适用于内网或有 SSH 访问权限的服务器,支持加密传输 | scp tool.tar.gz user@192.168.1.100:/tmp/ |
| SFTP(安全文件传输)✅ 推荐 | 基于 SSH,适用于Windows 客户端上传 | 使用FileZilla、WinSCP等客户端 |
| rsync(高效增量同步)✅ 推荐 | 大文件同步,支持断点续传 | rsync -avz tool.tar.gz user@192.168.1.100:/tmp/ |
| Xshell / Xftp(图形化) | 适用于Windows 远程管理 | Xftp 上传文件到服务器 |
| FTP(不安全,谨慎使用) | 适用于无 SSH 但开放 FTP 端口的服务器 | ftp 192.168.1.100 |
| HTTP / Python Web 服务器✅ 推荐 | 适用于目标服务器可访问外网的情况 | python3 -m http.server 8080 |
| Wget / Curl(远程下载)✅ 推荐 | 适用于服务器能访问公网的情况 | wget http://your-server.com/tool.tar.gz |
| Netcat(适用于封闭环境)✅ 推荐 | 适用于内网受限环境,可用于无 SSH 但有端口通信的服务器 | 发送端:nc -lvp 4444 < tool.tar.gz接收端:nc IP 4444 > tool.tar.gz |
| SMB 共享(Windows ↔ Linux) | 适用于Windows 与 Linux 互传 | Linux 挂载 SMB:mount -t cifs //192.168.1.100/share /mnt |
| U 盘 / 物理介质 | 适用于离线服务器 | 直接拷贝到 U 盘,然后mount /dev/sdb1 /mnt |
4. 应急排查方法
注:攻击者可能会替换系统关键命令(如ls、ps、netstat)来隐藏恶意进程或文件。若不使用busybox套装,建议使用如下命令查看命令是否被替换,以ls示例:
1 | |
4.1 账户/登录/权限信息排查
注:主要用于检测系统是否存在异常用户、未授权访问、权限提升等安全隐患。
账户相关
1 | |

权限相关
1 | |

登录相关
1 | |
4.2 进程以及网络连接排查
注:进程和端口排查是检测恶意程序、后门、隧道、木马等异常行为的关键步骤。
网络相关
1 | |
可疑点:
- 是否有
0.0.0.0:xxxx监听非常规外网端口 - 连接到国外 IP
- *进程名是否可疑
- 大量
TIME_WAIT连接
进程相关
1 | |
其他补充:
deleted但仍在运行的恶意进程,即使攻击者删除了恶意程序文件,如果它仍在运行,**文件可能被标记为(deleted)**。
1 | |
可疑点:
- 占用 CPU / 内存异常高的进程
- 陌生或随机命名的进程(如
xyz123、/tmp/.xyz) - 运行用户异常(如
nobody、daemon)
4.3 任务计划排查
注:攻击者常通过 计划任务(Crontab) 或 系统服务 进行持久化,确保恶意程序在服务器重启后仍能运行。因此,任务计划排查是检测恶意后门、木马和隐藏任务的关键步骤。
1 | |

4.4 自启动排查
在应急响应中,自启动排查是发现恶意程序、后门、持久化攻击的重要步骤。攻击者可能通过多种方式实现系统启动后自动运行恶意代码。
检查 systemd服务
1 | |
enabled:开机自启动,disabled:不开机启动,static:被其他服务依赖启动;

可疑点:
- 服务名称伪装成常见服务(如
sshd.service、cron.service),但路径异常 - 服务启动脚本在
/tmp/、/dev/shm/、/var/tmp/目录中
其他自启动文件/配置
1 | |
可疑点:
- 自定义脚本命名模仿系统服务,如
S99sshd - 脚本内容包含
curl、wget、nc等下载/反弹 shell 工具
检查内核模块
1 | |
可疑点:
- 模块名模仿系统模块(如
netfilter) - 模块路径在
/lib/modules/之外
环境变量
1 | |
可疑点:
- 环境变量指向/tmp、/dev/shm等路径的异常文件
- 环境变量含可以命令
- 权限异常(
ls -lah $SSH_AUTH_SOCK)
4.5 文件排查
在进行文件排查时,关键是识别系统中的异常文件、可能被篡改的文件、隐藏文件及新生成的文件。

1 | |
补充:如果文件被删除且该文件正在被使用的情况下,通过lsof从/proc目录下恢复该文件的内容

4.6 日志分析
日志文件
1 | |
日志分析
1 | |

5. 隐藏后门以及排查方法
SSH Wrapper后门
攻击者通过替换合法的 SSH 服务(如 /usr/sbin/sshd),在其中嵌入恶意代码,实现后门访问。
排查方法:
验证/usr/sbin/sshd的完整性,查看其是否为脚本或被替换;
file /usr/sbin/sshd
如果sshd是脚本,检查其内容是否包含可疑代码。
cat /usr/sbin/sshd
端口复用
通过端口复用来达到隐藏端口、绕过防火墙的目的。
排查方法:通过端口扫描检查是否有端口复用,通过ss或者netstat无法检查出,发现端口复用后排查iptables以及相关服务配置是否被更改;

进程隐藏
管理员无法通过相关命令工具查找到你运行的进程,从而达到隐藏目的,实现进程隐藏。
cpu 使用率高,但是却找不到任何占用cpu高的程序

排查方法:
unhide是一个小巧的网络取证工具,能够发现那些借助rootkit,LKM及其它技术隐藏的进程和TCP / UDP端口。

SUID Shell
Suid shell是一种可用于以拥有者权限运行的shell,使用普通用户登录就可以获取root权限。

排查方法:
1 | |
SSH公私钥免密登录
排查方法:查看/root/.ssh/authorized_keys是否被修改,find / -nameauthorized_keys。
软连接
软连接后门是一种 隐蔽性较强 的持久化后门方法,攻击者利用软链接 (ln -s) 指向关键文件或隐藏恶意程序,使其在特定条件下执行,达到 权限提升、命令劫持或绕过安全检查 的目的。
劫持/etc/ld.so.preload
ld.so.preload是 Linux 动态链接库预加载机制,攻击者可以创建软链接,注入恶意so文件:
1 | |
系统所有动态链接的可执行程序都会加载/tmp/malicious.so,实现权限提升或隐藏恶意进程。
排查方法:
1 | |
检查是否有关键目录的异常软链接,检查 /tmp、/dev/shm 等目录中的可疑软链接。
strace后门
攻击者利用strace工具,通过命令替换动态跟踪系统调用和数据,记录用户的敏感操作,如 SSH、SU、SUDO 等。
通过修改用户的环境配置文件(如.bashrc),为常用命令设置别名,加入strace跟踪。
排查方法:
查看.bashrc、.bash_profile等文件,查找异常的别名设置。
1 | |
查找系统中是否存在可疑的隐藏日志文件
1 | |
openSSH后门
攻击者可能替换/usr/sbin/sshd或/bin/ssh以植入后门,使其在认证阶段记录密码或允许特定后门密码登录。
排查方法:
1 | |
PAM后门
PAM(可插拔认证模块)是 Linux 认证机制的重要组成部分。攻击者可以通过劫持 PAM 模块或修改 PAM 配置,实现无密码登录、隐藏用户、记录密码等后门。
1 | |
6. 实用排查/杀毒工具
1 | |