网站木马扫描,如何制定阶段性交付物

📍 WDQWDWQD987AAAAA:216.73.216.145
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /adebcc6f0dfe.html
📄

网站木马扫描,如何制定阶段性交付物

网站木马扫描的阶段性交付物,不是一份“扫完就出报告”的文档,而是围绕证据链分阶段产出的可核对记录。常见误解是:一次扫描命令跑完,输出一个“发现X个可疑文件”的结果,就算交付完成。问题在于,木马扫描本身会产生大量误报,且不同扫描方式(特征匹配、文件完整性比对、流量日志分析)覆盖的范围不同。如果只交付一个最终结论,后续无法判断哪些是已确认的威胁、哪些只是可疑、哪些需要人工复核。因此,交付物应当按“采集—分析—验证—处置建议”四个阶段拆开,每阶段留下可追溯的记录。

阶段一:扫描范围与基线记录

这一阶段的交付物是扫描范围清单和文件基线快照。没有基线,后续的“文件被篡改”判断就缺少参照。

阶段二:扫描结果与可疑项分类

交付物是可疑文件列表,但必须附带分类依据。常见做法是把结果分成三类:

  1. 高置信度:文件内容包含明确的后门特征,如 eval($_POST、assert($_REQUEST 等。
  2. 中置信度:文件修改时间异常、权限异常,或出现在非预期目录(如上传目录中的 .php 文件)。
  3. 低置信度:仅因编码混淆或特征匹配命中,但业务逻辑上可能是正常代码。

判断结果:高置信度项可直接进入验证阶段;中置信度项需要结合访问日志确认是否被请求过;低置信度项应标记为“待人工复核”,不应直接删除。

阶段三:验证记录与证据留存

这一阶段的交付物是逐项验证记录。对每个可疑文件,记录以下内容:

如果无法获取访问日志,验证记录中应注明“缺少日志证据,结论基于静态代码判断”,而不是直接断言为木马。一项可疑现象可能有多种解释,例如一个被混淆的 base64_decode 调用,可能是木马,也可能是某些插件为了压缩代码而做的正常处理。区分“可能原因”与“已经定位的原因”,是这一阶段交付物的核心要求。

阶段四:处置建议与复扫计划

交付物是处置建议清单和复扫条件说明。处置建议应逐项对应验证结论:

复扫计划需要写明触发条件,例如“处置完成后24小时内复扫一次”“新增上传目录后重新采集基线”。不要承诺固定见效时间,也不要把“扫描通过”等同于“网站已安全”。

可执行的最小交付物模板

如果资源有限,至少保留三样东西:一份带哈希值的扫描范围清单、一份带分类和证据的可疑文件列表、一份逐项处置建议。可以用以下命令生成基线记录:

find /var/www/html -type f -exec sha256sum {} \; > baseline_$(date +%Y%m%d).txt

执行后检查输出文件是否包含预期目录,排除缓存和日志目录。如果输出为空或权限报错,说明扫描范围设置有问题,应先修正范围再继续。

下一步:根据你网站的实际目录结构,先划定扫描范围并生成第一份基线快照,再运行扫描工具,把结果按上述四类交付物归档,而不是只保留一个最终报告。

图1 图2

nginx