简介
在这里,将同时展示两个类似的预制NSE脚本,nmap-vulners和vulscan。这两个脚本在通过为特定服务(如SSH,RDP,SMB等)生成相关的CVE信息来增强Nmap的版本检测。CVE或Common Vulnerabilities and Exposures是安全研究人员使用的一种方法,可利用数据库对各个漏洞进行编码和引用。
nmap-vulner
和vulscan
都是用CVE来记录增强nmap的版本检测,nmap将识别扫描服务的版本信息,NSE脚本将获取该信息并生成可利于利用该服务的已知CVE,这使得查找漏洞变得更加简单。
下面先不使用NSE脚本的nmap来探测一下,这个时候我们发现22端口只开放了ssh服务。
nmap -sV -p22 172.23.211.97 |
这是使用NSE脚本对同一台主机进行扫描,可以看到有更多的信息被输出
nmap --script nmap-vulners,vulscan --script-args vulscandb=scipvuldb.csv -sV -p22 172.23.211.97 |
nmap-vulenrs NSE
脚本报告了OpenSSH v7.4近两年的CVE,严重程度分别为5.0,vulscan NSE
脚本还报告了OpenSSH v7.4相关的十几个其他漏洞
这两个NSE脚本都能很好的显示易受攻击的服务相关的有用信息。每次使用NSE脚本时,nmap-vulners都会查询vulners exploit数据库。vulscan查询我们计算机上的本地数据库,该数据库使我们第一次下载vulscan时预先配置的。
安装Nmap-vulenrs
首先我们先cd到nmap的脚本目录cd /usr/share/nmap/scripts/
然后克隆nmap-vulners github存储库git clone https://github.com/vulnersCom/nmap-vulners.git
安装Vulscan
安装vulsan,我们还需将Vulscan的存储库克隆到nmap的脚本目录中git clone https://github.com/scipag/vulscan.git
vulscan使用本地存储在我们计算机上的预配置数据库。我们可以在vulscan目录的根目录中查看这些数据库。运行以下ls命令列出可用的数据库。
为确保数据库数最新的,我们可以使用vulscan/utilities/updater/目录中的updateFiles.sh
脚本。
cd /vulscan/utilities/updater/ |
然后确保该文件有执行权限
chmod +x updateFIles.sh |
然后执行该脚本
./updateFiles.sh |
完成后就可以使用NES脚本了
使用nmap-Vulners进行扫描
使用NSE脚本很简单。我们所要做的就是将–script参数添加到我们的Nmap命令中,并告诉Nmap使用哪个NSE脚本。要使用nmap-vulners脚本,我们将使用以下命令。
nmap --script nmap-vulners -sV -p port ip |
该-sV是绝对必要的。使用-sV,我们告诉Nmap探测版本信息的目标地址。如果Nmap不生成版本信息,则nmap-vulners将没有任何数据来查询Vulners数据库。使用这些NSE脚本时始终使用-sV。
nmap --script nmap-vulners -sV -p80 ###.###.###.### |
下面是一个示例
nmap --script vulscan --script-args vulscandb=exploitdb.csv -sV -p22 172.23.211.97 |
合并使用
作为安全扫描程序,NSE脚本显着提高了Nmap的多功能性,为了充分利用Nmap的版本扫描,我们可以在一个命令中同时使用nmap-vulners和vulscan。
nmap --script nmap-vulners,vulscan --script-args vulscandb=scipvuldb.csv -sV -p# ###.###.###.### |