本章知识点
本章节将介绍Zenmap的使用。作为Nmap初学者最好的帮助工具,Zenmap以其强大的操控界面可以完成很多在Shell终端下复杂的命令。Zenmap包含了不同的模板,我们可以对这些模板进行自定义设置,让它更加灵活易用。
Zenmap是经典安全扫描工具Nmap的一个官方的图形界面版本,是一个跨平台的开源应用,不仅方便初学者使用,同时为高级使用者提供了很多高级特性。频繁的扫描能够被存储,进行重复运行。命令行工具提供了直接与Nmap的交互操作。扫描结果能够被存储,便于事后查阅。存储的扫描可以被比较以辨别其异同。最近的扫描结果能够存储在一个可搜索的数据库中。
图10.1所示为Zenmap的经典窗口。Zenmap是用Python语言编写而成的开源免费的图形界面,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac OS等)。Zenmap旨在为Nmap提供更加简单的操作方式。简单常用的操作命令可以保存成为Profile,用户扫描时选择profile即可,可以方便地比较不同的扫描结果,还提供网络拓扑结构(NetworkTopology)的图形显示功能。
▲图10.1 Zenmap界面
如图10.2所示,在Target处可以填入目标的IP或域名,当对某个目标进行扫描后,Zenmap会自动记录目标的IP地址或域名并保存在数据库中,当我们选择Target下拉菜单的时候,Zenmap会将这些曾经扫描过的IP或域名显示出来。
▲图10.2 Target介绍
如图10.3所示,Profile中包含了10种常用的扫描方式,当我们选择某种扫描方式时,Zenmap会在Command中将这种扫描方式的具体选项配置显示出来,例如我们选择Intense scan扫描方式时,Comman中的内容则是nmap -T4 -A -v。
▲图10.3 Profile介绍
如图10.4所示,在Zenmap的Command中可以自定义写入命令,也可以在Profile中调用相关命令并将选项配置显示出来。
▲图10.4 Command介绍
如图10.5所示,在Nmap Output中显示的是Nmap扫描的过程及其结果,同Shell终端中显示的信息是一样的。
▲图10.5 Nmap Output介绍
左边的Hosts中显示的是目标的IP地址或域名和目标OS。
如图10.6所示,我们选择Hosts中的历史数据/目标OS,或者直接在Nmap Output中下拉菜单中选择都是可以的。Nmap对每次扫描都会进行记录。
▲图10.6 Hosts介绍
如图10.7所示,该扫描模板包含了3个选项,这与Shell终端中的选项意义相同。-T4选项为野蛮扫描,该选项被允许在网络环境较好的情况下使用,-A选项为进行综合性扫描,-v选项为显示详细信息。这是一个标准的扫描方式,也是经常用的一个扫描方式。
▲图10.7 Intense scan扫描模板
如图10.8所示,该扫描模板是UDP扫描。其中,-sS选项为隐蔽扫描,-sU选项则为UDP扫描,-A选项为综合扫描,-v选项为显示详细信息。这是UDP扫描的一个经典模板。
▲图10.8 Intense scan plus UDP扫描模板
如图10.9所示,该模板会扫描所有的TCP端口。其中,-p选项指定的为一个端口范围,-T4选项为野蛮扫描方式,此方式多用于网络环境较好的情况下,-A选项为综合扫描,-v为显示详细信息。
▲图10.9 Intense scan, all TCP ports扫描模板
如图10.10所示,该模板是无Ping扫描,其中,-T4选项为野蛮扫描,-A选项为综合扫描,-v选项为显示详细信息,-Pn选项为直接跳过主机发现而进行端口扫描等高级操作(如果已经确知目标主机已经开启,可用该选项)。
▲图10.10 Intense scan, no ping扫描模板
如图10.11所示,该扫描模板是Ping扫描,-sn选项为只单独进行主机发现。
▲图10.11 Ping scan扫描模板
如图10.12所示,该扫描模板是快速扫描。-T4为野蛮扫描,-F为快速扫描。
▲图10.12 Quick scan扫描模板
如图10.13所示,该扫描模板会探测服务版本和端口扫描。-sV选项为探测服务版本,-T4选项为野蛮扫描,-O选项为探测系统,-F选项为快速扫描,--version-light选项为探测强度。
▲图10.13 Quick scan plus扫描模板
如图10.14所示,该扫描模板会追踪路由节点,-sn选项为只单独进行主机发现,-traceroute选项为追踪路由节点。
▲图10.14 Quick traceroute扫描模板
如图10.15所示,该模板不经常使用,读者可以自定义其中的参数完成扫描。
▲图10.15 Regular scan扫描模板
如图10.16所示,该扫描模板是全面扫描,我们先看一下完整的语句“nmap -sS -sU -T4 -A -v -PE -PP -PS80,443 -PA3389 -PU40125 -PY -g 53 --script "default or (discovery and safe)" 192.168.126.128”,-sS选项为隐蔽扫描,-sU选项为UDP扫描。-T4为野蛮扫描,-A为全面扫描,-v为显示相应信息,-PE、-PP为使用IP协议包探测对方主机是否开启,-PS为使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现,-PA为ACK扫描,-PY为进行一个SCTP初始Ping,-g为使用指定源端口,--script为使用NES脚本。
▲图10.16 Slow comprehensive scan扫描模板
如图10.17所示,Ports/Hosts标签显示的是当前扫描到的端口、端口协议、端口状态、服务、端口详细信息,甚至端口服务版本也会显示出来。
▲图10.17 Ports/Hosts标签
如图10.18所示,当我们扫描一个及其以上目标的时候,在Topology标签中会看到关于扫描的目标与本机其他的目标的关系图。
▲图10.18 Topology标签
如图10.19所示,Host Details选项会显示目标较为详细的信息,包括IPv4地址、IPv6地址、MAC地址等。
▲图10.19 Host Details标签
如图10.20所示,Scans标签会很详细列出我们使用过的命令,若我们忘记了刚才使用过的命令,可以在Scans再次进行查看。双击相应的命令可以看到扫描的结果。
▲图10.20 Scans标签
如图10.21所示,Zenmap有很多自定义模板,我们可以对其中现有的模板进行编辑。点击Profile菜单选择“Edit Selected Profile”。
▲图10.21 编辑扫描模板
如图10.22所示,在新打开的窗口的Profile标签中可以更改模板的名字。
▲图10.22 编辑模板名字
如图10.23所示,在Scan、Ping、Scripting、Target、Source、Other、Timing标签中,我们可以添加或删除一些选项,每个选项在右边的“Help”中都会显示对应的解释。在配置完成后点击“Save Changes”按钮保存更改就可以生效。
▲图10.23 编辑扫描选项
如图10.24所示,在Zenmap主界面选择Profile菜单,再选择New Profile or Command。
▲图10.24 新建扫描模板
如图10.25所示,在新打开的窗口Profile选项中,我们为新建的模板起一个名字。
▲图10.25 创建模板名字
如图10.26所示,在Scan、Ping、Scripting、Target、Source、Other、Timing标签中,我们为新模板添加选项功能。
▲图10.26 选择扫描选项
完成配置后,选择“Save Changes”保存模板。
如图10.27所示,在主界面的Profile中可以选择新建的模板进行使用。
▲图10.27 调用新建扫描模板