此NMAP NSE脚本是Free OCSAF项目的一部分 - https://freecybersecurity.org。结合NMAP的版本扫描 "-sV",自动使用CVE(通用漏洞与暴露)分配相应漏洞,并使用CVSS(通用漏洞评分系统)分配漏洞严重性。为更清晰,CVSS仍按对应的v3.0 CVSS等级分配:
默认情况下,通过NMAP确定的CPE,借助cve-search.org项目(由circl.lu提供)精巧且公开的API来查询CVE。更多信息请访问 https://www.cve-search.org/api/。
查询使用确定的CPE通过circl.lu API进行。有关circl.lu API保密性的更多信息,请直接访问 https://www.circl.lu/services/cve-search/。
最佳方式是在本地安装cve-search(https://github.com/cve-search/cve-search)并使用自己的API:
nmap -sV --script freevulnsearch --script-args apipath=<URL> <target>
您可以直接在NMAP命令中指定脚本路径,例如:
nmap -sV --script ~/freevulnsearch <target>
或者将脚本复制到NMAP安装目录的相应位置。
例如在KALI LINUX™中:/usr/share/nmap/scripts/
sudo nmap --script-updatedb
重要提示:请先阅读保密信息。建议单独运行freevulnsearch.nse,不要附加其他NSE脚本。如果您不希望将其分配到safe、vuln和external类别,则不要执行上述的nmap --script-updatedb命令。
用法很简单,只需使用NMAP -sV和此脚本。
nmap -sV --script freevulnsearch <target>
根据我的测试,出于稳定性考虑,在同时发出大量请求时,查询API应仅使用http而不使用TLS。因此,您可以通过输入参数选择禁用TLS。请注意,此后对circl.lu的API查询将不再加密。
nmap -sV --script freevulnsearch --script-args notls=yes <target>
如果您使用safe或vuln类别进行扫描,请排除该脚本或external类别,或者不要将脚本添加到NMAP默认目录。建议单独运行freevulnsearch.nse,不要附加其他NSE脚本。
如果NMAP的CPE不明确,freevulnsearch.nse脚本中的多个函数会检查CPE格式是否不精确。例如:
特别感谢开源社区提供的许多有用想法,加速了此脚本的创建! 非常欢迎更多的想法和改进建议。
KALI LINUX™ 是Offensive Security的商标。
由www.DeepL.com/Translator翻译 - 谢谢:-)