WebShell排查中如何避免破坏关键证据?
TOPIC SOURCE
Web安全配置建议:WebShell排查怎么做更稳
WebShell排查中最常见的失败,不是漏检,而是在急于清理的过程中亲手毁掉了证据。直接删除可疑文件、覆盖上传目录、边查边改配置,这些动作看似果断,实则把溯源所需的时间线和攻击路径一并抹除。没有证据链支撑的处置只能算表面处理——后门删掉了,入侵入口却无从确认,同类问题很快会从旁边再冒出来。
先固定,再处置
核心原则是:任何整改动作之前,先完成证据固定。可疑文件应当隔离而非删除,移动到Web目录之外的位置,并完整保留原始文件及其修改时间。按修改时间筛查 wp-content、uploads、主题和插件目录,正是定位同批后门的主要手段;文件时间戳一旦被覆盖操作污染,这条关键线索就断了。
日志是第二类易损证据。Nginx/PHP 访问日志中的异常 POST 请求直接指示上传入口与触发路径,应先完整拷贝再分析,而不是边查边调整服务配置。同理,新增管理员账号、可疑计划任务这类持久化痕迹,必须先逐项记录再清理——顺序一旦颠倒,攻击者留下的权限通道就再也无法还原。
让每一步操作可复核
专家级排查与普通清理的区别在于可复核性。处置记录至少应包含发现时间、影响范围、处理动作、验证结果和后续复查日期;每一项变更都能说清楚改了什么、为什么改、出问题怎么退回。这份记录不需要复杂,但必须让后来的人能重建当时的判断依据。另一个容易踩的坑是恢复备份:恢复可信备份之前,要先确认备份时间点早于最早可疑文件的写入时间,否则等于把后门重新部署了一遍。
证据保全的本质,是为溯源争取空间。隔离文件、保全日志、记录现场这三件事在发现后的第一时间完成,成本很低;而证据一旦被破坏,入侵路径、权限获取方式和影响范围就都只能靠猜测。排查的正确顺序永远是固定证据、隔离风险、恢复业务、修补入口——顺序颠倒的处置,做得越快,损失越大。

参与讨论
确实,手快直接删文件最要命