Nmap 经常使用的场景及用法

2021-04-14 11:09:10 浏览数 (1)

Nmap 是业界最为强大的端口扫描探测软件,支持的扫描场景丰富,本文列举十五个最常使用的场景及参数组合。

1、针对目标主机的默认扫描

不加任何参数,默认扫描目标 IP 的基本信息,包括 Ping 探测主机是否存活,探测常见的 1000 个端口是否开放,命令如下:

nmap 114.114.114.114

如果扫描主机名也可以:

nmap www.xazlsec.com

2、扫描指定端口或端口范围

默认扫描会探测内置的 1000 个常见端口,如果我们想要扫描指定端口范围,需要使用 -p 参数:

nmap -p 1-65535 localhost

示例命令指定了 1 到 65535 全端口,扫描速度会很慢,可以指定若干端口,比如:

nmap -p 80,443 www.xazlsec.com

3、同时扫描多个 IP

如果是几个不连续的IP,那么直接在 nmap 的参数中以空格将多个 IP 隔开就好,比如:

nmap -p 53 114.114.114.114 8.8.8.8

如果是几个连续的 IP,命令格式如下:

nmap -p 53 114.114.114.114,115,116,117,118

4、扫描指定的 IP 范围

如果扫描的 IP 范围是某个子网,通过指定 CIDR IP 范围来对目标 IP 段进行扫描,例如:

nmap -p53 114.114.114.0/28

114.114.114.0/28 的意思是 114.114.114.1-114.114.114.8 这几个 IP,也可以使用下面的格式:

nmap -p53 114.114.114.1-114.114.114.8

如果是扫描一个 C 段,还可以使用通配符,如下:

nmap -p53 114.114.114.*

如果不想扫码某个 IP,可以使用参数 --exclude 排除该 IP,如:

nmap -p53 114.114.114.* --exclude 114.114.114.1

5、从文件中读取目标列表

对于目标过多的情况下,存在 IP 、域名时,如何使用 nmap 一条命令扫描所有资产?nmap 支持指定目标文件来扫码文件中保存的资产列表,使用参数 -iL 指定目标文件名,如下:

nmap -p80,443 -iL list.txt

6、把扫描结果保存在文件中

保存结果有几种格式,比如 -oN 表示将结果保存在文本文件中,-oX表示将结果保存在 XML 文件中,下面以 -oN参数为例, 将上面的结果保存在文件中:

nmap -p80,443 -iL list.txt -oN result.txt

7、不使用 DNS 反向解析

有的时候不需要针对 IP 地址进行反解析,因为多一步就要多一些时间消耗,禁用 DNS 反解析可以提升扫描速度,使用方式增加 -n 参数即可:

nmap -p 53 -n 114.114.114.114

8、全功能扫描模式

当我们不想配置参数,想要知道目标主机的全部信息,尽可能多的获取目标的情况,那么可以使用 -A 参数,会对目标尽可能多的扫描,需要消耗的时间也是最多的:

nmap -A www.xazlsec.com

可以结合 -T参数,设置超时时间,来提升扫描的速度。

9、扫描端口服务信息

获取端口服务信息可以使用参数 -sV

nmap -sV www.xazlsec.com

10、指定 TCP/UDP 协议扫描

TCP 扫描使用 -sT 参数,UDP 扫描使用 -sU,端口服务有不同的协议,比如 53 端口 DNS 协议就是 UDP 协议,简单测试一下:

nmap -sT www.xazlsec.com

11、利用脚本检查 CVE 漏洞

nmap 除了本身的端口扫描之外,还带有脚本引擎,用于扩展 Nmap 的能力,使用参数 --script 指定需要执行的脚本,检测 CVE 漏洞的脚本名为 vuln,使用下面的命令测试:

nmap -Pn --script vuln www.xazlsec.com

12、获取网站的 Title

在我们信息收集的时候,遇到大量网站资产的情况,如何快速获取所有网站的标题,对于渗透来说非常有用,使用 Nmap 来获取网站标题,需要用到 Nmap 的脚本引擎中的 http-title 脚本,使用方式如下:

nmap -p80,443 --script http-title www.xazlsec.com

13、对目标进行暴力破解

有脚本引擎的加成,nmap 除了探测信息之外,还能针对性的攻击尝试,比如暴力破解,比如针对 Wordpress 的暴力破解:

nmap -sV --script http-wordpress-brute --script-args 'userdb=users.txt,passdb=passwds.txt,http-wordpress-brute.hostname=www.xazlsec.com, http-wordpress-brute.threads=3,brute.firstonly=true' 114.114.114.114

针对 MSSQL 服务的暴力破解:

nmap -p 1433 --script ms-sql-brute --script-args userdb=customuser.txt,passdb=custompass.txt www.xazlsec.com

针对 FTP 服务的暴力破解:

nmap --script ftp-brute -p 21 www.xazlsec.com

总结

nmap 的基本扫描参数是最常用的,其脚本引擎自带的所有脚本功能,是我们可以扩展学习之后,提升我们渗透的效率,其他脚本的能力需要大家自行扩展学习,也可以根据官方文档自定义脚本,工具是死的,人是活的,具体能发挥多大的价值,取决于使用者的能力和创造力。

0 人点赞