### WebShell 查杀后仍有流量怎么办 **第一步:确认并隔离威胁** - **立即隔离**:最重要的一步是立即将受感染的服务器从网络中隔离出来。拔掉网线,或者在防火墙上设置策略,切断所有入站和出站的网络连接。这能防止攻击者继续控制服务器,并阻止他们进行横向移动,感染其他内网资产 - **确认流量来源**: - **查看进程**:使用 `netstat -ano` (Windows)或 `netstat -anp` (Linux)命令,查找建立异常外连的进程 - **关联PID**:找到可疑进程的PID(进程ID),然后使用 `ps -ef | grep [PID]` (Linux)或任务管理器(Windows)来确定该进程的详细信息,包括其父进程、启动路径和命令行参数 **第二步:分析与清除持久化机制** 当 WebShell 被清除后,外连流量依然存在,这表明攻击者已经利用 WebShell **留下了后门** - **排查计划任务**:攻击者最常用的持久化方式之一就是利用计划任务 - **Linux**:检查 `/etc/crontab`、`/etc/cron.d/`、`/var/spool/cron/` 和用户的 `crontab -l`,查找是否有可疑的定时任务,例如定时执行脚本或下载恶意文件的任务 - **Windows**:使用 `schtasks` 命令或任务计划程序来检查是否存在异常的定时任务 - **排查自启动项**:恶意程序可能会通过系统自启动项实现开机自启 - **Linux**:检查 `/etc/rc.local`、`/etc/profile`、`~/.bashrc` 等文件 - **Windows**:检查注册表的 `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run` 和 `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run` - **排查系统服务**:攻击者可能会创建新的系统服务 - **Windows**:使用 `services.msc` 或 `sc query state=all` 命令检查是否有异常服务 - **Linux**:检查 `/etc/init.d/` 或 `/lib/systemd/system/` 目录 - **排查系统后门文件**:恶意文件可能被伪装成系统文件,藏在 `/tmp`、`/var/tmp` 或 `/var/shm` 等临时目录,甚至是 `/bin` 或 `/usr/bin` 下 **第三步:取证与溯源** 在清除所有威胁后,我们需要进行更深入的取证,以了解攻击者是如何入侵的 - **检查日志**: - **Web日志**:分析Web服务器的 `access.log` 和 `error.log`,查找可疑的入侵路径 - **系统日志**:检查 `/var/log/secure` 或 `auth.log`,看是否有异常登录或权限提升记录 - **其他日志**:检查数据库、FTP 等服务的日志,寻找可疑的活动 - **文件时间戳**:使用 `ls -alt` 命令,查看最近修改的文件,这有助于发现攻击者新创建的恶意文件 - **威胁情报**:将可疑的 IP 地址、域名、文件哈希值提交到威胁情报平台,看它们是否与已知的恶意活动相关 **第四步:修复漏洞并加固** - **漏洞修复**:定位并修复被利用的漏洞。如果攻击者是通过 WebShell 入侵的,很可能是因为 Web 应用存在漏洞,例如文件上传、代码执行或反序列化漏洞 - **权限收紧**: - **应用权限**:将 Web 应用以低权限用户运行,限制其对文件系统的读写权限 - **账户权限**:删除攻击者创建的任何后门账户,并修改所有关键账户的密码 - **安全设备加固**: - **WAF/IPS**:更新 WAF 和 IPS 的规则,以阻止已知的攻击 Payload - **端点安全**:在服务器上部署 EDR,增强对恶意进程的检测和响应能力