nmap常用的漏扫命令
1、扫描单个目标地址:
Nmap 192.168.128.30
2、扫描多个目标地:
Nmap 192.168.128.130 192.168.128.129
3、扫描一个范围内的目标地址:
Nmap 192.168.128.129-130
4、扫描目标地址所在的某个网段
Nmap 192.168.128.130/24
5、扫描主机列表1.txt
Nmap -iL C:\Users\1.txt
6、扫描除某一目标地址之外的所有目标地址
Nmap 192.168.128.100/24 -exclude 192.168.128.130
7、扫描除某一文件中的目标地址之外的目标地址
Nmap 192.168.128.100/24 -excludefile C:\Users\1.txt
8、扫描某一目标地址的21、22、23、80端口
Nmap 192.168.128.130 -p 21,22,23,80
9、对目标地址进行路由追踪
Nmap --traceroute 192.168.128.130
10、扫描目标地址所在C段(同一网段)的在线情况
Nmap -sP 192.168.128.130/24
11、目标地址的操作系统指纹识别
Nmap -O 192.168.128.130
12、目标地址提供服务的版本检测
Nmap -sV 192.168.128.130
13、探测防火墙状态
Nmap -sF -T4 192.168.128.130
14、鉴权扫描
使用–script=auth可以对目标主机或目标主机所在的网段进行应用弱口令检测。
Nmap --script=auth 192.168.128.130
15、暴力破解攻击
Nmap具有暴力破解的功能,可对数据库,smb、snmp等进行简单密码的暴力猜解。
Nmap --script=brute 192.168.128.130
16、扫描常见漏洞
Nmap具有漏洞扫描的功能,可以检查目标主机或网段是否存在常见的漏洞。
Nmap --script=vuln 192.168.128.130
17、应用服务扫描
Nmap具有很多常见应用服务的扫描脚本,例如vnc服务、mysql服务、Telnet服务、rsync服务等,此处以vnc服务为例。
Nmap --script=realvnc-auth-bypass 192.168.128.130
18、 探测局域网内更多服务开启的情况
Nmap -n -p 445 --script=broadcast 192.168.0.105
19、Whois解析
Nmap -script external baidu.com
状态识别
Open:开放的,表示应用程序正在监听该端口的连接,外部可以访问
Filtered:被过滤的,表示端口被防火墙或其他网络设备阻止,不能访问
Closed:关闭的,表示目标主机未开启该端口
Unfiltered:未被过滤的,表示Nmap无法确定端口所处状态,需进一步探测
Open/Filtered:开放的或被过滤的,Nmap不能识别
Closed/Filtered:关闭的或未被过滤的,Nmap不能识别
使用方法:
1.使用nmap工具中的这个nmap www.xxx.com命令来扫描网站开了那些端口
2.我们知道了网站开了那些端口现在我们运行这个nmap -sv -p端口 --script=vulners(或者vuln)www.xxx.com
Nmap的三种漏洞扫描模式原理
1.使用-sV标志执行服务扫描, 以显示每个开放端口上运行的具体服务, 该步骤是漏洞查找过程的重要一步。
如果要更改扫描的执行方式, 可以使用下面的任意选项:
使用时间模板 -T1 到 -T4 改变Nmap扫描的速度和攻击性。
使用 -Pn 选项阻止Nmap执行Internet Control Message Protocol(ICMP)回显ping以发现目标。
使用 -n 选项阻止Nmap尝试解析DNS名称。
使用 -p- 选项扫描所有端口。
三种类型的漏洞扫描
Vuln漏洞扫描
Nmap 的漏洞扫描将针对目标运行该工具的默认漏洞扫描脚本。这些对于查找可利用的常见漏洞非常有用。要运行漏洞扫描,使用以下命令语法:
nmap --script vuln target
上图中输出显示以下内容:
序号1: 用于运行漏洞扫描的命令行。接下来是默认的 Nmap 报告标头。
序号2: 文件传输协议 (FTP) 服务正在目标计算机的端口 21 上运行。所使用的特定服务是vsFTPd 版本 2.3.4,该服务容易受到CVE-2011-2523 的攻击。Nmap 甚至提供了一些参考资料和一个可用于利用该漏洞的 Metasploit 模块。
序号3: 简单邮件传输协议 (SMTP) 服务在端口 25 上运行。此服务容易受到CVE-2014-3566的攻击。Nmap 再次提供了此漏洞的参考。
从该输出中,可以通过攻击正在运行的 FTP 或 SMTP 服务来开始利用该目标计算机。可以使用 Nmap 参考作为利用这些漏洞的起点。
Vulners漏洞扫描
vulners漏洞扫描能够使用在线数据库vulners.com扫描目标是否有最新的漏洞。要执行此扫描,使用以下命令语法:
nmap -sV --script vulners target
上图中返回的输出显示以下内容:
序号1: 用于运行漏洞扫描的命令行。
序号2: Secure Shell (SSH) 服务正在目标计算机的端口 22 上运行。使用的特定服务是OpenSSH 版本 4.7p1 Debian 8ubuntu1,该服务容易受到多个 CVE 的攻击。漏洞脚本提供对每个 CVE 或其他漏洞 ID 的引用。
序号3: 漏洞 ID 旁边的标志EXPLOIT表示该漏洞是可利用的,应该能够手动利用它或在线查找利用代码。
序号4: 域名服务 (DNS) 服务正在端口 53 上运行。运行的特定服务版本是ISC BIND 9.4.2,该版本容易受到一系列漏洞的影响。同样,漏洞脚本为每个漏洞提供了参考,并提供了该漏洞是否可利用该EXPLOIT标志进行利用的参考。
此输出表明应该尝试利用目标计算机上运行的 SSH 和 DNS 服务。如果选择以 SSH 为目标,则应在vulners.com上查找SSV:60656,因为此漏洞 ID 与漏洞利用相关。同时,如果试利用 DNS,可以使用SSV:60184的链接或其旁边的任何其他链接。EXPLOIT
Vulscan漏洞扫描
默认情况下,Nmap 的 vulscan 选项不随该工具一起提供。相反,需要从https://github.com/scipag/vulscan下载漏洞扫描脚本。可以通过使用 git clone 命令将 vulscan 脚本下载到 Nmap 脚本目录来完成此操作。
接下来,使用 Linux命令在文件和 Nmap vulscan 脚本ln之间创建符号链接。scipag_vulscan这将允许使用vulscanNmap 命令行上的选项。
每当添加新的 NSE 脚本以在 Nmap 中使用时,需要运行 nmap 命令–script-updatedb来更新 Nmap 的数据库以识别新脚本。然而, 默认情况下,Nmap 中不包含 vulscan 脚本,这意味着无法使用该命令对其进行更新。相反,需要使用update.sh之前克隆的 GitHub 存储库附带的脚本来更新 Nmap 的数据库和 vulscan 从中提取的漏洞数据库。运行以下命令:
./update.sh
将 vulscan 脚本添加到 Nmap 的数据库后,可以使用以下语法来运行 vulscan 漏洞扫描:
nmap -sV --script=vulscan/vulscan.nse target
上图扫描返回的输出显示以下内容:
序号1: 用于运行漏洞扫描的命令行
序号2: FTP 服务正在目标计算机的端口 21 上运行,具体来说是vsFTPd 版本 2.3.4
序号3: VulDB 漏洞数据库中没有与此版本的 FTP 匹配的结果
序号4: MITRE CVE 漏洞数据库中的一个 CVE 与此版本的 FTP ( CVE-2011-0762 ) 匹配
vulscan 输出继续显示,此版本 FTP 的 Security Focus (5)、IBM X-Force (6) 和 Exploit-DB (7) 漏洞数据库中存在多个匹配的漏洞。详细的漏洞信息可以从这里获取: https://www.exploit-db.com
下面来总结一下上面三个Nmap漏洞扫描选项的结果:
与其他两次扫描相比,vuln漏洞扫描的运行时间很长,而且它发现的许多漏洞都是过时或不正确的。
Nmap vulners扫描速度很快,并发现了更多漏洞。它还包含每个链接的有用链接,并显示了可利用的内容。
Nmap vulscan 扫描的速度介于 vuln 和 vulners 扫描之间,但其输出更为丰富。它通过查询多个漏洞数据库提供了有关每个潜在漏洞的综合报告。
结果比较
总的来说,在大多数情况下可以跳过 vuln漏洞扫描, 扫描速度慢且漏洞也比较过时。相反,应该重点使用 Nmap vulners和 Nmap vulscan 选项。如果想要提供简洁输出的快速扫描,则使用vulners扫描。如果想要对目标系统进行全面的漏洞扫描,利用多个漏洞数据库来查找潜在的安全漏洞,则使用vulcan选项。