请输入手机号码
请输入密码
判断云服务器是否被植入木马,需要结合系统行为、网络流量、文件变化、进程分析等多维度排查。以下是详细的判断方法和操作步骤(适用于 Linux/Windows 云服务器):
如果服务器出现以下异常,需高度警惕:
.php.shell、.jsp.webshell)、系统文件被篡改(如 /etc/passwd、/bin/ls 大小/时间异常)。/etc/passwd 中出现陌生账号)、登录日志有异地 IP 登录(如 SSH 爆破成功记录)。用 top 或 htop(需安装)实时查看进程,关注 CPU/内存占用高、无明确业务含义 的进程(如随机字符串命名的进程)。
top # 按 P 按 CPU 排序,按 M 按内存排序
htop # 更直观的进程管理工具(需安装:yum install htop / apt install htop)对可疑进程(如 PID 1234),查看其路径、启动命令、父进程:
ps -ef | grep 1234 # 查看进程完整命令
ls -l /proc/1234/exe # 查看进程对应的可执行文件路径(若路径不存在或为临时目录,需警惕)
cat /proc/1234/cmdline # 查看进程启动参数用 unhide 工具检测隐藏进程(木马常隐藏自身):
yum install unhide # CentOS
apt install unhide # Ubuntu
unhide check # 扫描隐藏进程/端口木马通常会连接 C&C 服务器(控制端),需排查陌生网络连接:
netstat -antlp # 显示所有 TCP 连接(-a 所有,-n 数字显示 IP,-t TCP,-l 监听,-p 进程)
ss -antlp # 比 netstat 更快的替代工具关注:
ESTABLISHED 的陌生 IP(尤其是境外 IP);用 iftop 实时查看带宽占用(需安装):
yum install iftop / apt install iftop
iftop -i eth0 # 监控 eth0 网卡流量,查看是否有异常外连木马文件通常是近期上传的,用 find 按时间筛选:
# 查找 24 小时内修改过的文件(重点关注 /tmp、/var/tmp、网站目录)
find / -mtime -1 -type f 2>/dev/null | grep -v "/proc\|/sys\|/dev"
# 查找近期创建的可执行文件
find / -ctime -3 -type f -perm /111 2>/dev/null # 近 3 天创建的可执行文件对比系统文件是否被篡改(以 /bin、/sbin 为例):
# 计算系统目录文件的 MD5 并与干净系统对比(或用 rpm -Va 检查包完整性)
rpm -Va # CentOS 检查所有已安装包的完整性(输出中 "5" 表示 MD5 变化,"S" 表示大小变化)
debsums -a # Ubuntu 检查包文件完整性(需安装:apt install debsums)网站目录是 Webshell 高发区,重点排查:
# 查找 PHP/JSP/ASP 等脚本中的可疑代码(如 eval、base64_decode、assert)
grep -r "eval(" /var/www/html/ 2>/dev/null
grep -r "base64_decode" /var/www/html/ 2>/dev/null
# 查找隐藏文件(如 .shell.php)
find /var/www/html/ -name ".*" -type f 2>/dev/nullcat /etc/passwd # 检查是否有陌生账号(尤其是 UID 为 0 的 root 权限账号)
cat /etc/shadow # 检查账号密码哈希(若有空密码或陌生哈希需警惕)last # 查看所有用户登录记录(包括 SSH、本地登录)
lastb # 查看登录失败记录(若有大量陌生 IP 爆破,可能已被入侵)
grep "Accepted" /var/log/secure # CentOS 查看 SSH 成功登录日志
grep "Accepted" /var/log/auth.log # Ubuntu 查看 SSH 成功登录日志木马常通过计划任务实现持久化:
crontab -l # 查看当前用户的计划任务
cat /etc/crontab # 查看系统级计划任务
ls /etc/cron.d/ # 查看额外计划任务目录若发现陌生任务(如每分钟执行 /tmp/xxx.sh),需立即删除并排查文件。
木马会修改启动项实现开机自启:
systemctl list-unit-files --type=service | grep enabled # 查看所有启用的服务
ls /etc/systemd/system/ # 检查自定义服务(尤其是陌生 .service 文件)ls /etc/init.d/ # 查看启动脚本
chkconfig --list # 查看服务启动状态cat /etc/rc.local # 检查 rc.local 是否被篡改
ls /etc/profile.d/ # 检查环境变量脚本(木马可能在此植入)yum install clamav clamav-update # CentOS 安装
apt install clamav clamav-daemon # Ubuntu 安装
freshclam # 更新病毒库
clamscan -r / # 扫描根目录(耗时较长,可指定目录如 /var/www)yum install rkhunter / apt install rkhunter
rkhunter --update # 更新规则
rkhunter --check # 全面检查(包括 Rootkit、后门、文件篡改)yum install chkrootkit / apt install chkrootkit
chkrootkit # 快速扫描 RootkitCtrl+Shift+Esc),切换到「详细信息」标签:C:\Users\Public\xxx.exe)。C:\Temp)或系统目录被篡改(如 C:\Windows\System32\svchost.exe 实际路径不对),需警惕。下载:Process Explorer
功能:查看进程父子关系、加载的 DLL、网络连接,可识别隐藏进程。
netstat 命令(需管理员权限):netstat -ano # 显示所有连接和进程 PID结合任务管理器查看 PID 对应的进程,若有陌生 IP 连接(尤其是境外 IP),需进一步排查。
下载:Wireshark
过滤异常流量(如 tcp.port == 4444 或陌生 IP)。
打开「文件资源管理器」→ 搜索栏输入 *,筛选「修改日期」为近 1-3 天的文件,重点关注:C:\Windows\Temp、C:\Users\Public、C:\inetpub\wwwroot(Web 目录)。
用 sfc /scannow 修复并验证系统文件:
sfc /scannow # 扫描并修复损坏的系统文件用 Notepad++ 或 VS Code 打开网站文件,搜索 eval、base64_decode、Request.QueryString 等可疑代码(Webshell 常用)。
右键「此电脑」→「管理」→「本地用户和组」→「用户」,检查是否有陌生账号(尤其是管理员组 Administrators 中的未知用户)。
打开「事件查看器」(eventvwr.msc)→「Windows 日志」→「安全」:
4624(成功登录)、4625(登录失败),查看是否有异地 IP 或陌生账号登录。taskschd.msc),查看「任务计划程序库」:检查是否有陌生任务(如触发器为「开机时」、操作为执行陌生 .exe 或 .bat 文件)。
msconfig 命令:msconfig # 切换到「启动」标签(Windows 10/11 需通过任务管理器查看启动项)下载:Autoruns
功能:检查所有启动项(包括服务、驱动、计划任务、浏览器插件等),可识别隐藏的木马启动项。
打开「Windows 安全中心」→「病毒和威胁防护」→「扫描选项」→ 选择「完全扫描」。
下载:Malwarebytes
适合查杀木马、勒索软件、广告软件等。
国产轻量安全软件,对木马、病毒查杀效果较好,适合服务器环境。
kill -9 PID 或任务管理器结束进程);yum update / apt upgrade 或 Windows Update);若木马难以清除(如 Rootkit 级木马),建议备份数据后重装系统,再恢复业务(最彻底的方式)。
iptables、云安全组)仅开放业务所需端口(如 80、443、22),禁止 0.0.0.0/0 访问敏感端口。rsyslog 或 ELK 收集日志,监控异常登录、文件修改等行为。通过以上步骤,可全面排查云服务器是否被植入木马。若对排查结果不确定,建议联系云厂商技术支持或专业安全团队协助。