
核心要点(TL;DR)
- 排查网页木马先看进程和网络连接,再查文件与计划任务。
- 使用netstat、ps、find等命令快速定位恶意进程和Webshell。
- 清除木马后需修复漏洞并加固服务器,防止二次入侵。
- 定期检查日志和文件完整性可提前发现入侵痕迹。
凌晨收到监控告警:云主机CPU跑满、网站被跳转到博彩页面——这是典型的网页木马(Webshell)入侵症状。作为运维或站长,你需要快速定位并清除木马,恢复业务。本文提供从进程到文件的完整排查步骤,结合具体命令和操作示例,帮你高效应对。
一、初步应急:隔离主机与保留证据
发现异常后,第一时间隔离受影响主机,避免横向扩散。但不要急于重启或删除文件,先保留现场证据。
- 隔离网络:通过云控制台安全组限制入站流量,仅允许管理IP访问SSH。
- 保留证据:对关键目录(如Web根目录、/tmp、/var/tmp)打包备份,便于后续分析。
- 记录时间线:记录异常发现时间、现象,为溯源提供依据。
二、进程排查:揪出恶意进程
攻击者通常会运行挖矿、DDoS或扫描等恶意进程。使用以下命令检查:
ps auxf # 查看进程树,关注异常名称或高CPU占用 top -c # 动态查看资源占用,按CPU排序 lsof -i # 列出网络连接对应的进程
重点检查:
- 名称随机或伪装成系统进程(如kworker但路径异常)。
- 进程路径在/tmp、/dev/shm等临时目录。
- 进程连接陌生IP或端口。
发现可疑进程,记录PID和路径,使用ls -l /proc/PID/exe查看实际可执行文件,并kill -9 PID终止。同时检查其父进程,可能还有守护进程。
三、网络连接分析:定位外联与后门
使用netstat或ss查看当前网络连接:
netstat -antp # 显示所有TCP连接及进程 ss -tunp # 更现代的替代命令
关注:
- ESTABLISHED状态连接陌生IP(尤其是境外IP)。
- LISTEN状态监听陌生端口(如4444、5555等)。
- 大量SYN_SENT尝试外联,可能为DDoS或扫描。
结合lsof -i:端口定位进程,若为恶意程序,终止并删除文件。
四、文件查杀:搜索Webshell与恶意文件
Webshell通常隐藏在Web目录中,使用find命令搜索近期修改或特殊权限的文件:
find /var/www -type f -name '*.php' -mtime -7 # 查找7天内修改的php文件 find /var/www -type f -perm -4000 # 查找SUID文件 grep -r 'eval($_POST' /var/www # 搜索常见Webshell特征
也可使用专业工具如clamav或Yara规则扫描。对于可疑文件,先备份再删除。同时检查/tmp、/dev/shm等临时目录,攻击者常在此存放工具。
五、持久化排查:计划任务与启动项
攻击者会设置持久化机制,确保重启后仍能控制主机。检查:
- 计划任务:
crontab -l(当前用户)、cat /etc/crontab、ls /etc/cron.*。 - 启动项:
cat /etc/rc.local、ls /etc/init.d/、systemctl list-unit-files --type=service。 - SSH后门:
cat ~/.ssh/authorized_keys检查陌生公钥。 - 动态链接库劫持:
cat /etc/ld.so.preload。
清除恶意项前先备份,避免误删系统任务。
六、清除与加固:恢复业务并提升防护
确认所有恶意文件、进程、计划任务后,逐一清除。然后进行安全加固:
- 更新系统和应用补丁,修复已知漏洞。
- 修改所有系统账户和数据库密码,启用强密码策略。
- 限制Web目录执行权限(如上传目录禁止PHP执行)。
- 部署Web应用防火墙(WAF),如AegisX可实时拦截Webshell上传和访问,并提供虚拟补丁防护。
- 启用文件完整性监控,定期扫描对比。
最后,重启主机并持续监控日志,确认无异常回连。
行动建议:立即按照上述步骤排查你的云主机,并建立定期安全巡检制度。若缺乏经验,可借助AegisX等安全产品实现自动化检测与防护。
常见问题(FAQ)
如何快速判断云主机是否被植入了网页木马?
快速判断可检查异常进程、网络连接和文件变化。例如用top或ps发现未知高CPU进程,用netstat查看陌生IP连接,用find搜索近期修改的php文件。同时留意网站是否被跳转、出现陌生页面或搜索引擎警告。
查杀网页木马时有哪些必用的命令?
常用命令包括:ps auxf查看进程树,netstat -antp检查网络连接,lsof -i查看端口占用,find /var/www -name '*.php' -mtime -7搜索近期修改文件,crontab -l检查计划任务,ls -la /tmp查看临时目录。
发现Webshell文件后应该怎么处理?
首先隔离文件,将其移动到安全目录并备份,然后分析文件内容确定入侵途径。接着清除文件,修复相关漏洞,如更新CMS、修改密码、限制目录权限。最后加强监控,部署WAF或文件完整性检测。
如何防止云主机再次被植入网页木马?
防止再次入侵需多措并举:及时更新系统和应用补丁,使用强密码并启用双因素认证,限制目录执行权限,部署Web应用防火墙(如AegisX),定期进行安全扫描和日志审计,并备份关键数据。
清除木马后网站仍然异常怎么办?
若清除后网站仍异常,可能存留隐藏后门或配置被篡改。建议全面检查计划任务、启动项、SSH授权密钥、数据库用户权限,并使用专业工具进行深度扫描。必要时重装系统并恢复干净备份。