1.nmap的介绍
Nmap是一款功能强大的网络探测和安全扫描工具,可以对目标进行端口扫描、服务探测、操作系统指纹识别等操作。
Nmap自带了许多内置的NSE脚本,它们可以根据不同的目标和场景来执行不同的功能。这些脚本存放在Nmap安装目录**/usr/share/nmap**下的scripts文件夹中。
2.使用nmap进行漏洞扫描
根据用途和风险程度对NSE脚本进行分类,如下:
auth、broadcast、default、discovery、dos、
exploit、external、fuzzer、intrusive、malware、
safe、version、vuln
其中vuln是专门检测已知漏洞的。
NSE脚本通过nmap的服务探测、版本探测、发送特定请求来判断是否具有相应的漏洞。
2.1 如何使用NSE脚本进行漏洞扫描
使用NSE脚本需要使用--script选项,具体使用如下:
bash
nmap --script vuln -T4 [域名或IP地址]
# vuln:会尝试所有vuln脚本
# -T4:设置扫描速度为4
2.2 使用某个脚本进行扫描
我们也可以使用指定的脚本进行扫描,比如:
bash
# 使用http-title脚本扫描
nmap --script http-title [域名或IP地址]
# 查看脚本的使用方法
nmap --script-help=[脚本名或文件名]
2.3 使用所有脚本进行扫描
如果需要使用所有脚本进行扫描的话,可以使用以下命令:
bash
nmap -T4 -A -sV -vvv -d -oA target.output --script all --script-args vulns.show=all [域名或IP地址]
# -A:启用操作系统和服务版本探测、脚本扫描和traceroute
# -sV:使用服务版本探测
# -vvv:增加输出的详细程度
# -d:增加调试输出的详细程度
# -oA target.output:将扫描结果输出到三种格式文件中(nmap、gnmap、xml),并以target.output为文件名前缀
# --script all:使用所有的NSE脚本来扫描目标
# --script-args:提供参数给脚本,其中vulns.show=all表示显示所有的漏洞信息。
注意:
--script all选项是非常危险的,因为它会运行Nmap中的所有NSE脚本,包括一些可能造成损害或违法的脚本,如dos、exploit、malware等。除非有明确的目的和授权,否则不建议使用这个选项。
2.4 自定义NSE脚本
除了使用内置NSE脚本以外,还可以自己编写脚本。
NSE脚本使用的是Lua语言。
自定义的脚本使用与之前的内置脚本使用时一样的方法,这里不在赘述。
3 总结
以上便是使用nmap用NSE脚本进行漏洞扫描的基本操作了。
这也是对【网络安全学习】-04- 收集端口和服务(nmap的使用) 这篇笔记的nmap使用的补充。