当前位置:首页 > 焦点

kali linux nessus 漏洞扫描

Nessus 装在 Kali 上,洞扫很多人第一步就卡住了。洞扫不是洞扫不会装,是洞扫装完发现扫不了几台机器就报错,或者插件更新永远卡在某个百分比。洞扫我自己的洞扫经验是:Kali 自带的 Nessus 版本往往偏旧,直接从 Tenable 官网下 deb 包比用 apt 装靠谱得多。洞扫

先解决安装。洞扫去 Tenable 官网注册一个 Nessus Essentials 账号,洞扫邮箱收到激活码。洞扫下载对应的洞扫 Debian 包,dpkg -i Nessus-10.x.x-debian10_amd64.deb。洞扫装完启动服务:systemctl start nessusd。洞扫浏览器打开 https://kali:8834,洞扫注意是洞扫 https,http 会拒绝连接。选 Nessus Essentials,输入激活码,等插件编译。这一步最耗时间,取决于机器性能,半小时到两小时都正常。编译期间别关终端,也别重启服务,否则容易卡死。

插件编译完成后,登录 Web 界面。新建扫描,选 Basic Network Scan。填目标 IP 或网段,比如 192.168.1.0/24。Credentials 那一栏很多人跳过,但不填凭据的扫描只能看到开放端口和 banner,查不出系统补丁级别和本地漏洞。Linux 目标可以填 SSH 账号,Windows 填 SMB 账号。填了之后 Nessus 会登录进去做本地检查,结果详细得多。

扫描策略里有个坑:默认的 Port Scanning 范围是 common ports,只扫 1-1024 加上少数高位端口。如果目标跑了 8080、8443 或者自定义端口,默认扫不出来。改成 All ports,1-65535,但扫描时间会明显拉长。局域网内几十台机器,全端口扫描跑一两个小时很正常。我一般先跑一次 common ports 快速摸底,再对重点目标做全端口加凭据的深度扫描。

扫描结果出来之后,别只看 Critical 和 High。Nessus 的误报率不低,尤其是 Web 类漏洞。比如它报某个 Apache 版本存在 CVE-2021-41773 路径穿越,实际目标可能已经打了补丁但版本号没变。点进漏洞详情,看 Plugin Output,里面会显示实际请求和响应。如果响应里没有预期结果,基本可以判定误报。Medium 和 Low 也别忽略,很多配置类问题——比如 SSH 允许密码登录、TLS 1.0 未禁用——单看危害不大,组合起来就是攻击链的入口。

导出报告选 PDF 还是 HTML 看用途。给客户看选 PDF,自己复盘选 HTML 或 CSV。CSV 方便导入 Excel 做统计,比如按主机统计漏洞数量、按漏洞等级排序。Nessus 的 .nessus 格式是 XML,可以用 nessuscli 或者 Python 脚本解析,批量提取特定插件 ID 的结果。我写过一个小脚本,把每次扫描的 .nessus 文件解析后存进 SQLite,过一段时间对比,能看出哪些漏洞一直没修。

最后说一个实际场景。有次扫一台内网 CentOS 7,Nessus 报了一堆 OpenSSL 漏洞,但 yum update 显示已是最新。查了半天发现是系统装了多个 OpenSSL 版本,Nessus 检测的是 /usr/local 下手动编译的那个,而系统实际用的是 /usr/lib64 下的。这种问题只能靠人工核对,扫描器不会告诉你哪个版本在生效。所以 Nessus 的结果要结合 rpm -qa | grep openssl 或者 ldd 去看实际加载路径。工具是辅助,判断还得靠人。

分享到: