2024-09-22 00:33:53
使用 nmap 的第一步是登录 Kali Linux,如果需要,就启动一个图形会话(本系列的第一篇文章安装了 Kali Linux 的 Enlightenment 桌面环境)。
在安装过程中,安装程序将提示用户输入用来登录的“root”用户和密码。 一旦登录到 Kali Linux 机器,使用命令startx就可以启动 Enlightenment 桌面环境 - 值得注意的是 nmap 不需要运行桌面环境。
# startx
在 Kali Linux 中启动桌面环境
一旦登录到 Enlightenment,将需要打开终端窗口。通过点击桌面背景,将会出现一个菜单。导航到终端可以进行如下操作:应用程序 -> 系统 -> 'Xterm' 或 'UXterm' 或 '根终端'。
作者是名为 'Terminator' 的 shell 程序的粉丝,但是这可能不会显示在 Kali Linux 的默认安装中。这里列出的所有 shell 程序都可用于使用 nmap 。
在 Kali Linux 下启动终端
一旦终端启动,nmap 的乐趣就开始了。 对于这个特定的教程,将会创建一个 Kali 机器和 Metasploitable机器之间的私有网络。
这会使事情变得更容易和更安全,因为私有的网络范围将确保扫描保持在安全的机器上,防止易受攻击的 Metasploitable 机器被其他人攻击。
怎样在我的网络上找到活动主机
在此示例中,这两台计算机都位于专用的 192.168.56.0/24 网络上。 Kali 机器的 IP 地址为 192.168.56.101,要扫描的 Metasploitable 机器的 IP 地址为 192.168.56.102。
假如我们不知道 IP 地址信息,但是可以通过快速 nmap 扫描来帮助确定在特定网络上哪些是活动主机。这种扫描称为 “简单列表” 扫描,将 -sL参数传递给 nmap 命令。
# nmap -sL 192.168.56.0/24
Nmap – 扫描网络上的活动主机
悲伤的是,这个初始扫描没有返回任何活动主机。 有时,这是某些操作系统处理端口扫描网络流量的一个方法。
在我的网络中找到并 ping 所有活动主机
不用担心,在这里有一些技巧可以使 nmap 尝试找到这些机器。 下一个技巧会告诉 nmap 尝试去 ping 192.168.56.0/24 网络中的所有地址。
# nmap -sn 192.168.56.0/24
Nmap – Ping 所有已连接的活动网络主机
这次 nmap 会返回一些潜在的主机来进行扫描! 在此命令中,-sn 禁用 nmap 的尝试对主机端口扫描的默认行为,只是让 nmap 尝试 ping 主机。
找到主机上的开放端口
让我们尝试让 nmap 端口扫描这些特定的主机,看看会出现什么。
# nmap 192.168.56.1,100-102
Nmap – 在主机上扫描网络端口
哇! 这一次 nmap 挖到了一个金矿。 这个特定的主机有相当多的开放网络端口。
这些端口全都代表着在此特定机器上的某种监听服务。 我们前面说过,192.168.56.102 的 IP 地址会分配给一台易受攻击的机器,这就是为什么在这个主机上会有这么多开放端口。
在大多数机器上打开这么多端口是非常不正常的,所以赶快调查这台机器是个明智的想法。管理员可以检查下网络上的物理机器,并在本地查看这些机器,但这不会很有趣,特别是当 nmap 可以为我们更快地做到时!
找到主机上监听端口的服务
下一个扫描是服务扫描,通常用于尝试确定机器上什么服务监听在特定的端口。
Nmap 将探测所有打开的端口,并尝试从每个端口上运行的服务中获取信息。
# nmap -sV 192.168.56.102
Nmap – 扫描网络服务监听端口
请注意这次 nmap 提供了一些关于 nmap 在特定端口运行的建议(在白框中突出显示),而且 nmap 也试图确认运行在这台机器上的这个操作系统的信息和它的主机名(也非常成功!)。
查看这个输出,应该引起网络管理员相当多的关注。 第一行声称 VSftpd 版本 2.3.4 正在这台机器上运行! 这是一个真正的旧版本的 VSftpd。
通过查找 ExploitDB,对于这个版本早在 2001 年就发现了一个非常严重的漏洞(ExploitDB ID – 17491)。
发现主机上上匿名 ftp 登录
让我们使用 nmap 更加清楚的查看这个端口,并且看看可以确认什么。
# nmap -sC 192.168.56.102 -p 21
Nmap – 扫描机器上的特定端口
使用此命令,让 nmap 在主机上的 FTP 端口(-p 21)上运行其默认脚本(-sC)。 虽然它可能是、也可能不是一个问题,但是 nmap 确实发现在这个特定的服务器是允许匿名 FTP 登录的。
检查主机上的漏洞
这与我们早先知道 VSftd 有旧漏洞的知识相匹配,应该引起一些关注。 让我们看看 nmap有没有脚本来尝试检查 VSftpd 漏洞。
# locate .nse | grep ftp
Nmap – 扫描 VSftpd 漏洞
注意 nmap 已有一个 NSE 脚本已经用来处理 VSftpd 后门问题!让我们尝试对这个主机运行这个脚本,看看会发生什么,但首先知道如何使用脚本可能是很重要的。
# nmap --script-help=ftp-vsftd-backdoor.nse
了解 Nmap NSE 脚本使用
通过这个描述,很明显,这个脚本可以用来试图查看这个特定的机器是否容易受到先前识别的 ExploitDB 问题的影响。
让我们运行这个脚本,看看会发生什么。
# nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21
Nmap – 扫描易受攻击的主机
耶!Nmap 的脚本返回了一些危险的消息。 这台机器可能面临风险,之后可以进行更加详细的调查。虽然这并不意味着机器缺乏对风险的抵抗力和可以被用于做一些可怕/糟糕的事情,但它应该给网络/安全团队带来一些关注。
Nmap 具有极高的选择性,非常平稳。 到目前为止已经做的大多数扫描, nmap 的网络流量都保持适度平稳,然而以这种方式扫描对个人拥有的网络可能是非常耗时的。
Nmap 有能力做一个更积极的扫描,往往一个命令就会产生之前几个命令一样的信息。 让我们来看看积极的扫描的输出(注意 - 积极的扫描会触发入侵检测/预防系统!)。
# nmap -A 192.168.56.102
Nmap – 在主机上完成网络扫描
注意这一次,使用一个命令,nmap 返回了很多关于在这台特定机器上运行的开放端口、服务和配置的信息。 这些信息中的大部分可用于帮助确定如何保护本机以及评估网络上可能运行的软件。
这只是 nmap 可用于在主机或网段上找到的许多有用信息的很短的一个列表。
扫描目的主机防火墙是否关闭。没开防火墙的:可以看到988个端口关闭,所以没有打开防火墙。
开了防火墙的:可以看到983个被过滤的端口,所以打开了防火墙。
输入“nmap+空格+域名或IP地址”进行的扫描时普通速度的扫描,时间较长。
输入“nmap”+“空格”+“-F”+空格+“域名或IP地址”,进行的是加速扫描,时间较短。
同时扫描多个ip方法一:输入“nmap+空格+IP地址段”。
输入“nmap+空格+IP/子网段”。
输入“nmap+空格+IP网络号+通配符*”。
扫描主机操作系统版本:输入“nmap+空格+“-O”+空格+IP地址或域名。
扫描所有TCP端口:输入“nmap+空格+“-sT”+空格+IP地址或域名”
扫描所有开放的UDP端口:输入“nmap+空格+“-sU”+空格+IP地址或域名”
扫描防火墙安全漏洞:输入“nmap+“-sN”+空格+IP地址或域名”
扫描使用IP协议的端口:输入“nmap+空格+“-sO”+空格+IP地址或域名“
侦测各种远程服务的版本号:输入”nmap+空格+”sV”+空格+IP地址或域名”
扫描最常用的TCP端口:输入“nmap+空格+”-sS”+空格+IP地址或域名”
扫描网段中活跃的主机:输入“nmap+空格+”-sP”+空格+IP地址段
综合扫描:输入“nmap+空格+”-A”+IP地址或域名
建议看看《Linux就该这么学》这本书
2024-09-22 07:07:47
2024-09-22 11:37:31
2024-09-22 17:46:42
2024-09-22 00:34:56