漏洞扫描系统可以用于发现网络入侵者
漏洞扫描系统能抓入侵者?漏洞络入这话听起来像拿体温计测血压——工具用错了地方。可上个月我帮一家小电商做应急响应,扫描还真靠 Nessus 的系统现网扫描日志揪出了一个潜伏三周的挖矿木马。事情是可用这样的:他们的服务器 CPU 占用率莫名飙到 90%,运维重启后正常,漏洞络入过两天又爆满。扫描我让他把最近一周的系统现网漏洞扫描报告导出来,发现一台 Web 服务器连续三天被扫出“Redis 未授权访问”漏洞,可用但运维说密码早就改了。漏洞络入翻扫描器的扫描详细日志,看到扫描源 IP 来自内网一台测试机——那台机器上跑着个旧版 Jenkins,系统现网被人上传了 shell 脚本,可用脚本里硬编码了 Redis 密码。漏洞络入攻击者先拿下测试机,扫描再用它当跳板扫内网,系统现网最后在数据库服务器上种了挖矿程序。漏洞扫描系统原本是定期体检用的,结果成了入侵链的“监控录像”。
为什么扫描器能撞见入侵者?因为大多数攻击者踩点阶段干的事,和漏洞扫描器干的事一模一样。都是发 SYN 包探测端口,都是构造畸形请求试漏洞,都是遍历目录找备份文件。区别只在于扫描器有授权、有节奏、有日志,而攻击者没有。你部署在内网的扫描节点,就像一个蹲在墙角记小本本的保安——谁半夜三点来推门,推了几次,推的是哪扇门,全记下来了。去年某银行红队演练,防守方就是靠 OpenVAS 的异常扫描记录,发现攻击队用 Shiro 反序列化漏洞打进来的痕迹。因为正常扫描任务都是工作日白天跑,那次扫描请求出现在凌晨两点,且目标端口和常规清单不符。运维半夜被叫醒,一查果然中招。
但别指望扫描器像杀毒软件那样实时报警。它的工作模式是周期性任务,扫完一轮可能隔一天或一周。攻击者如果手脚够快,在你两次扫描之间完成入侵、提权、留后门、清日志,扫描器什么也抓不到。我见过最狡猾的案例:攻击者入侵后,把后门端口设成 443,然后自己写了个脚本,每次扫描器扫到那台机器前,脚本自动把后门进程停掉,扫完再启动。扫描报告永远显示“无高危漏洞”,直到数据被加密勒索。所以漏洞扫描系统发现入侵者,靠的是“异常模式”而不是“实时拦截”。你得会看日志:突然出现的扫描源 IP、非计划内的扫描时间、针对特定漏洞的密集探测——这些才是信号。
真正有效的用法是把扫描器当“蜜罐诱饵”用。在核心网段放一台低交互蜜罐,故意留几个常见漏洞,然后让漏洞扫描系统每天扫它。正常扫描器会按策略扫出漏洞并记录,如果某天扫描日志里出现一个陌生 IP 也在扫这台蜜罐,且用的漏洞利用方式跟扫描器不同——比如扫描器只发探测包,那个 IP 发了完整的攻击载荷,那基本就是入侵者在踩点。某能源企业就这么干过,抓到过三个不同团伙的扫描行为。其中一个 IP 来自某云服务商,反向查过去是个被控制的跳板机。这比等 SIEM 告警快得多,因为扫描器日志本身就有“谁在什么时间对什么目标做了什么操作”的完整链条。
当然,别神化这个思路。漏洞扫描系统的核心任务还是管资产和补丁,抓入侵者是副产品。你要是把扫描器当 IDS 用,配置成每分钟扫全网,先不说网络扛不扛得住,扫描器自己就会变成最大的噪音源。我的建议是:保留扫描日志至少 90 天,单独存到只写介质;给扫描任务打上时间戳和源 IP 标签;每周花十分钟对比“计划内扫描”和“计划外扫描”的差异。这三件事做下来,扫描器抓入侵者的概率能从“碰运气”变成“有线索”。工具还是那个工具,看你怎么用。
```(责任编辑:探索)














