Metasploit技术--p2--使用Nmap扫描

参考文章:
Metasploit快速入门(二)


0x01 端口扫描:nmap方式

Nmap是安全人员首选的强大网络扫描工具

你可以直接在msfconsole中运行Nmap,但是如果要将结果导入到Metasploit数据库中,需要使用-oX选项导出XML格式的报告文件,然后使用db_import命令将结果导入进来。

1、启动msfconsole,然后输入nmap

在Metasploit中同样可以使用Nmap进行扫描,
在这里插入图片描述

2、进行TCP扫描

2、进行TCP扫描,使用-sT 参数,这是默认和最基本的扫描方式,它会完成TCP三次握手来检测目标机器上的端口。
在这里插入图片描述Tip:当未指定端口范围的时候,nmap默认扫描常见的1000个端口。

3、进行TCP SYN扫描

进行TCP SYN扫描,使用-sS参数,SYN扫描不会建立完整的TCP三次握手过程,也称半开连接扫描,SYN扫描被认为是一种比较隐蔽的扫描技术。

在这里插入图片描述
大多数情况下,TCP连接扫描和SYN扫描输出结果是相似的,唯一的区别是,SYN更难被防火墙和IDS检测到。当然现代的防火墙几乎都能捕获SYN扫描,-p参数设置我们想要扫描的端口范围。

4、UDP扫描

UDP扫描使用-sU参数,用于识别目标机器上开放的UDP端口扫描技术,UDP扫描会发送空的(没有数据)UDP报头到目标端口,仅通过ICMP消息来判断目标端口是否开放。
在这里插入图片描述
TIp:不指定端口范围的情况下,默认扫描常见的1000个UDP端口

小总结
TCP连接扫描是最基本的扫描技术,此扫描过程会与目标建立完整的TCP连接。它使用操作系统网络功能建立连接,扫描程序向目标发送SYN数据包,如果端口开放,目标会返回ACK消息。然后扫描程序向目标发送ACK报文,成功建立连接,这就是所谓的三次握手过程。连接打开后立即终止,这种技术有它的优点,但很容易被防火墙和IDS检测到。

SYN扫描是另一种类型的TCP扫描,但它不会与目标建立完整的连接。 它不使用操作系统的网络功能,而上生成原始IP包并监视响应报文。如果目标端口是开放的,目标会响应ACK消息,然后扫描程序会发送RST结束连接。因此又称为半开扫描。这也被认为是一种隐蔽扫描技术,可以避免被一些防火墙和IDS检测到。

UDP扫描是一种无连接扫描技术,因此,无论目标是否收到数据包,都不会返回信息给扫描程序。如果目标端口关闭,则扫描程序会收到ICMP端口不可达的消息。如果没有消息,扫描器会认为端口是开放的。由于防火墙会阻止数据包,此方法会返回错误结果,因此不会生成响应消息,扫描器会报告端口为打开状态。

5、操作系统和版本检测

除了端口扫描之外,Nmap还提供一些高级的选项,这些选项可以帮助我们获取目标的更多信息。其他使用最广泛的选项之一是操作系统识别选项:-O。可以帮助我们识别目标计算机的操作系统类型。
在这里插入图片描述

6、对开放端口服务的版本检测

一种广泛使用的高级选项是对开放端口服务的版本检测,参数是-sV。它可以与之前的扫描参数结合使用。
在这里插入图片描述

7、隐蔽扫描

有时候必须以隐蔽方式进行扫描,默认情况下,防火墙和IDS日志会记录你的IP,nmap中提供了-D选项来增加迷惑性。

此选项并不能阻止防火墙和IDS记录你的IP,只是增加迷惑性,它会通过添加其他IP地址,让目标以为是多个IP在攻击。比如,你添加了两个诱导IP,防火墙或IDS日志会显示数据包是从三个不同的IP地址发送的,一个是你的,其他两个是你添加的虚假地址。

msf5 > nmap -sT 192.168.177.144 -D 192.168.177.34,192.168.177.56

这个例子中-D后面的IP地址是虚假的IP地址,它会和原始IP地址一同出现在目标机器的网络日志文件中,这会迷惑对方的网络管理员,让他们以为这三个IP都是伪造的。但不能添加太多虚假IP地址,不然会影响扫描结果。因此,只要使用一定数量的地址就行。

0x02 端口扫描 db_nmap方式

使用db_nmap的好处在于可以将结果直接存储到Metasploit数据库中,而不再需要db_import进行导入。

db_nmap命令是msfconsole中的一部分,所以只需要启动msfconsole并使用就好了。参数就和在命令行中单独使用nmap一样。

msf5 > db_nmap -Pn -sTV -T4 --open --min-parallelism 64 --version-all 192.168.177.144 -p -
-Pn:跳过主机发现过程

-sTV:TCP扫描和检测开放端口服务版本信息

-T4:设置时间模板,加速扫描

--open:只显示开放端口

--min-parallelism:探测报文的并发数

--version-all:尝试每个探测,保证对每个端口尝试每个探测报文,获取服务更具体的版本

-p -:表示扫描所有的端口(1-65535)

0x03 Nmap 脚本引擎

Nmap脚本引擎(NSE)是Nmap最强大和最灵活的特性之一,它可以将Nmap转为漏洞扫描器使用。NSE有超过600个脚本,分为好几类,有非侵入式的,也有侵入式的,比如暴力破解,漏洞利用和拒绝服务攻击。你可以在Kali的/user/share/nmap/scripts目录中找到这些脚本。或者用locate搜索*.nse也可以找到。
在这里插入图片描述它的用法如下:

nmap --script <scriptname> <host ip>

在db_nmap中同样可以使用,我们试试用NSE脚本来查找目标的HTTP/HTTPS漏洞

msf5 > db_nmap --open -sTV -Pn -p 80,8020,8022,8080,8282,8383,8484,8585,9200 --script=http-vhosts,http-userdir-enum,http-apache-negotiation,http-backup- 
finder,http-config-backup,http-default-accounts,http-methods,http-method-tamper,http-passwd,http-robots.txt,ssl-poodle,ssl-heartbleed,http-webdav-scan,h 
ttp-iis-webdav-vuln 192.168.177.144           
[*] Nmap: Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-12 14:03 CST                           
[*] Nmap: Nmap scan report for 192.168.177.144
[*] Nmap: Host is up (0.00052s latency).  
[*] Nmap: PORT     STATE SERVICE  VERSION  
[*] Nmap: 80/tcp   open  http     Microsoft IIS httpd 7.5 
[*] Nmap: | http-methods:   
[*] Nmap: |   Supported Methods: OPTIONS TRACE GET HEAD POST                                        [*] Nmap: |_  Potentially risky methods: TRACE                                                      [*] Nmap: |_http-server-header: Microsoft-IIS/7.5                                                    [*] Nmap: | http-vhosts:                                                                            [*] Nmap: |_127 names had status 200                                                                [*] Nmap: 8020/tcp open  http     Apache httpd                                                     
[*] Nmap: |_http-iis-webdav-vuln: WebDAV is DISABLED. Server is not currently vulnerable.           
[*] Nmap: | http-methods:                                                                            [*] Nmap: |   Supported Methods: GET HEAD POST PUT DELETE OPTIONS                                   
[*] Nmap: |_  Potentially risky methods: PUT DELETE                                                 
[*] Nmap: |_http-server-header: Apache                                                             
[*] Nmap: | http-vhosts:  

从输出结果看到,目标主机的HTTP/HTTPS服务启用了一些危险的方法,比如DELETE/PUT等。

猜你喜欢

转载自blog.csdn.net/qq_44108455/article/details/107459153