扫描工具nmap

介绍

说到黑客,知识就是力量。您对目标系统或网络的了解越多,可用的选项就越多。因此,在进行任何利用尝试之前,必须进行适当的枚举。

假设我们获得了一个 IP(或多个 IP 地址)来执行安全审计。在我们做任何其他事情之前,我们需要了解我们正在攻击的“景观”。这意味着我们需要确定哪些服务在目标上运行。例如,其中一个可能正在运行 Web 服务器,而另一个正在充当 Windows Active Directory 域控制器。建立这张景观“地图”的第一阶段是所谓的港口扫描。当计算机运行网络服务时,它会打开一个称为“端口”的网络结构来接收连接。端口对于发出多个网络请求或提供多个服务是必需的。例如,当您在 Web 浏览器中同时加载多个网页时,程序必须有某种方法来确定哪个选项卡正在加载哪个网页。这是通过使用本地计算机上的不同端口与远程 Web 服务器建立连接来完成的。同样,如果您希望服务器能够运行多个服务(例如,您可能希望 Web 服务器同时运行站点的 HTTP 和 HTTPS 版本),那么您需要某种方式将流量定向到适当的服务。再一次,端口是解决这个问题的办法。网络连接在两个端口之间建立 - 一个在服务器上侦听的开放端口,另一个在您自己的计算机上随机选择的端口。例如,当您连接到网页时,您的计算机可能会打开端口 49534 以连接到服务器的端口 443。

与前面的示例一样,该图显示了同时连接到多个网站时发生的情况。您的计算机会打开一个不同的高编号端口(随机),用于与远程服务器的所有通信。

每台计算机共有 65535 个可用端口;但是,其中许多已注册为标准端口。例如,HTTP Web 服务几乎总是可以在服务器的端口 80 上找到。可以在端口 443 上找到 HTTPS Web 服务。可以在端口 139 上找到 Windows NETBIOS,可以在端口 445 上找到 SMB。需要注意的是;但是,尤其是在 CTF 设置中,即使是这些标准端口也被更改也并非闻所未闻,因此我们必须对目标执行适当的枚举。

如果我们不知道服务器打开了哪些端口,那么我们就没有希望成功攻击目标;因此,我们必须从端口扫描开始任何攻击。这可以通过多种方式实现——通常使用一个名为 nmap 的工具,这是这个房间的重点。Nmap 可用于执行许多不同类型的端口扫描——其中最常见的将在即将到来的任务中引入;但是,基本理论是这样的:nmap 将依次连接到目标的每个端口。根据端口的响应方式,可以将其确定为打开、关闭或过滤(通常由防火墙)。一旦我们知道哪些端口是打开的,我们就可以查看枚举每个端口上正在运行的服务 - 手动或更常见的使用 nmap。

那么,为什么是nmap?简短的回答是,它目前是行业标准是有原因的:没有其他端口扫描工具能接近它的功能(尽管一些新来者现在正在与它的速度相匹配)。它是一个非常强大的工具——它的脚本引擎变得更加强大,可用于扫描漏洞,在某些情况下甚至可以直接执行漏洞利用!同样,这将在即将到来的任务中详细介绍。

开关

现在,重要的是要了解:什么是端口扫描;为什么有必要;NMAP 是任何类型的初始枚举的首选工具。

与大多数渗透测试工具一样,nmap 是从终端运行的。有适用于 Windows 和 Linux 的版本。对于此房间,我们将假设您使用的是 Linux;但是,开关应相同。默认情况下,Nmap 安装在 Kali Linux 和 TryHackMe Attack Box 中。

可以通过键入终端命令行来访问 Nmap,然后是我们将在下面介绍的一些“开关”(告诉程序执行不同操作的命令参数)。nmap

为此,您只需要 nmap 的帮助菜单(使用 ) 访问和/或 nmap 手册页(使用 访问)。对于每个答案,除非另有说明,否则请包括开关的所有部分。这包括开头 () 处的连字符。nmap -hman nmap-

描述

使用 Nmap 进行端口扫描时,有三种基本扫描类型。这些是:

  • 技术合作计划(TCP)连接扫描 (-sT)
  • SYN“半开”扫描 (-sS)
  • UDP的扫描 (-sU)

此外,还有几种不太常见的端口扫描类型,我们还将介绍其中的一些类型(尽管不太详细)。这些是:

  • 技术合作计划(TCP)空扫描 (-sN)
  • 技术合作计划(TCP)FIN 扫描 (-sF)
  • 技术合作计划(TCP)圣诞扫描 (-sX)

其中大多数(UDP 扫描除外)用于非常相似的目的,但是,它们的工作方式在每次扫描之间有所不同。这意味着,虽然在大多数情况下,前三种扫描之一可能是您的首选,但值得记住的是,存在其他扫描类型。

在网络扫描方面,我们还将简要介绍ICMP(或“ping”)扫描。

TCP Connect 扫描

若要了解 TCP Connect 扫描 (),请务必熟悉 TCP 三向握手。如果这个术语对你来说是新的,那么在继续之前完成介绍性网络是可取的。-sT

简要回顾一下,三方握手由三个阶段组成。首先,连接终端(在本例中为我们的攻击机)向目标服务器发送 TCP 请求,并设置了 SYN 标志。然后,服务器使用包含 SYN 标志和 ACK 标志的 TCP 响应来确认此数据包。最后,我们的终端通过发送设置了 ACK 标志的 TCP 请求来完成握手。
 

这是TCP/IP网络的基本原则之一,但它与Nmap有什么关系呢?

好吧,顾名思义,TCP Connect 扫描的工作原理是依次与每个目标端口执行三次握手。换言之,Nmap 尝试连接到每个指定的 TCP 端口,并通过接收到的响应来确定服务是否打开。


例如,如果端口关闭,RFC 9293 会声明:

"...如果连接不存在 (CLOSED),则发送重置以响应除另一个重置之外的任何传入段。通过此方法拒绝与现有连接不匹配的 SYN 段。

换言之,如果 Nmap 发送的 TCP 请求将 SYN 标志设置为关闭端口,则目标服务器将使用设置了 RST (Re

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值