最近有朋友在后台私信说,自己的服务器突然变得卡顿,而且总觉得后台有“鬼”。虽然数据已经找回来了,但那个看不见的木马还在系统里跑着,心里实在不踏实。

这种情况其实很常见,尤其是不小心安装了来路不明的软件后。今天我就把这套“火眼金睛”排查木马的实操流程整理出来,希望能帮大家止损。

第一步:看哪里?

Linux top 命令查看系统资源占用

使用 top 或 htop 命令查看 CPU 和内存占用,定位可疑进程。

当你怀疑机器中毒,但又不确定具体是哪个进程时,盲目乱杀是不可取的。我们可以先从CPU和内存的异常占用入手。

  1. 查看资源占用 在Linux下,直接用 tophtop 命令是第一步。重点看那些CPU占用率高、或者名字很奇怪的进程。木马经常会伪装成类似 systemdnginx 或者是一串随机字符的进程名。

  2. 网络连接是照妖镜 很多挖矿木马或者DDoS木马会主动向外连接。用 netstat -antp 或者 ss -antp 查看当前的网络连接。重点关注那些 ESTABLISHED(已建立连接) 状态,且连接到陌生IP地址的端口。记下那个对应的进程号(PID)。

第二步:锁敌精准打击

Linux netstat 命令查看网络连接

通过 netstat 或 ss 命令查看 ESTABLISHED 状态的连接,发现木马外联行为。

要是你找到了那个可疑的PID,但文件路径不敢动,怎么办?

  • 查文件路径:使用 ls -l /proc/PID/exe,这能直接告诉你这个进程运行的具体文件位置。
  • 查看启动脚本:木马为了“长生不老”,通常会把自己写入启动项。重点检查 /etc/crontab/etc/cron.* 目录、以及 /etc/rc.local 文件。有时候它们还会藏在用户的定时任务里,记得用 crontab -l 检查一下当前用户的任务。

第三步:斩草除根

光杀进程没用,过一会它可能自己又启动了。

  1. 终止进程:先用 kill -9 PID 强制结束进程。
  2. 删除文件:找到第一步里定位的恶意文件,直接 rm -rf 删掉。
  3. 清理后门:这就到了最关键的一步——清洗启动项。把 crontab 里不认识的定时任务删掉,把 /etc/rc.local 里的可疑启动命令去掉。
  4. 排查SSH账号:检查 /root/.ssh/authorized_keys,看看有没有被黑客塞进去的公钥,有的话赶紧删掉,顺便把系统密码改得复杂点。

第四步:亡羊补牢

处理完当下的问题,还没完。

  • 全盘杀毒:如果有条件,可以用 ClamAV 这类工具跑个全盘扫描,确保没有残留的病毒文件。
  • 打补丁:回想一下是不是因为哪个著名的漏洞(比如Redis未授权访问、Struts2等)进来的?赶紧把软件升级到最新版本,或者关掉不必要的服务端口。

最后提醒一句:如果数据已经恢复,最稳妥的办法其实是重装系统,然后把纯净的数据迁移过去。对于逆向水平一般的朋友来说,重装系统永远比在脏环境里排雷要快得多、也安全得多。

大家最近有没有遇到过类似的“中招”经历?欢迎在评论区分享你的排查过程!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭