“诸神之眼”——Nmap端口扫描工具使用小手册


“诸神之眼”——Nmap端口扫描工具使用小手册

通常情况下,这四个基本功能按顺序进行探测:首先需要进行主机发现,随后确定端口状况,然后确定端口上运行具体应用程序与版本信息,然后可以进行操作系统的侦测。
而在四项基本功能的基础上,Nmap提供“防火墙与入侵检测系统”的规避技巧,可以综合应用到四个基本功能的各个阶段。
另外Nmap提供强大的NSE脚本引擎功能。

1.3.Nmap优点

  1. 灵活:支持数十种不同的扫描方式,支持多种目标对象的扫描
  2. 强大:Nmap可以用于扫描互联 上大规模的计算机
  3. 可移植:支持主流操作系统:Windows/Linux/Unix/MacOS等等;源码开放,方便移植
  4. 简单:提供默认的操作能覆盖大部分功能
    5.自由:Nmap作为开源软件,在GPL License的范围内可以自由的使用
  1. 区支持:Nmap背后有强大的 区团队支持
  2. 流行:目前Nmap已经被成千上万的安全专家列为必备的工具之一

2.Nmap安装

2.1.Windows下Nmap下载:(kali系统已自带Nmap)

  1. 首先从 站上面下载nmap的安装包:https://nmap.org/(官 )
  2. 选择下载windows 二进制的
  3. 下载回来,双击即可弹出软件的安装界面
  4. 刚打开的界面可以选择安装上哪些功能,如果没有特别的需求,默认即可
  5. 选择软件安装的位置,根据个人磁盘情况而定
  6. 继续安装并提示相关的软件依赖包的关联,一路默认即可
  7. 安装完成后的快捷方式以及提示已经完成安装
  8. 点击桌面的快捷方式Zenmap即可启动nmap安全扫描工具了。
    如有不懂可参考此 站:
    https://jingyan.baidu.com/article/5bbb5a1b1e0a7713eba179cb.html

2.2.Zenmap——Nmap的图形化界面

  1. Zenmap是用Python开发的Nmap图形化界面,通常随Nmap的安装包发布,开源免费,能够运行在不同操作系统平台上(Windows/Linux/Unix/Mac
    OS等)。Zenmap旨在为nmap提供更加简单的操作方式。

a) 没有下载winpcap驱动程序,或者没有更新到最新版本,或者驱动版本与系统不兼容
b) Win10运行Nmap时如果弹出如下图中的弹窗,要点击否,才能运行Nmap

3.1.2.主机探测用法

3.1.3.使用演示

3.2.端口扫描

端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。
默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。
Nmap通过探测将端口划分为6个状态:

3.2.1.端口扫描原理

3.2.1.1.TCP connect scanning

使用TCP连接扫描,对目标主机所有端口进行完整的三次握手,如果成功建立连接则端口是开放的
TCP connect探测到端口关闭:

3.2.1.2.TCP SYN scanning

使用半开连接(SYN stealth)扫描,使用SYN标记位的数据包进行端口探测,收到SYN/ACK包则 端口是开放的,收到RST/ACK包则端口是关闭的。
TCP SYN探测到端口关闭:

3.2.1.3.TCP ACK scanning

TCP ACK扫描使用ACK标志位数据包,若目标主机回复RST数据包,则目标端口没有被过滤(用于发现防火墙的过滤规则)。
TCP ACK探测到端口被屏蔽:

3.2.1.4.TCP FIN/Xmas/NULL scanning
  1. TCP FIN扫描只设置FIN标志位。若返回RST数据包则端口是关闭的,否则端口是打开|过滤状态。
  2. TCP XMAS扫描设置FIN、PSH、URG标志位,若返回RST数据包则端口是关闭的,否则端口是打 开|过滤状态。
3.2.1.5.UDP scanning

使用UDP数据包经行扫描,返回UDP 文,则端口是开放的;返回不可达则端口处于关闭或过 滤状态
UDP端口关闭:

Nmap目标端口选项:

Nmap输出选项:

3.2.3.端口扫描演示

    3.4.系统版本侦测

    系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。

    3.4.1.系统侦测原理

    Nmap系统侦测是基于指纹进行识别的,根据不同系统不同服务具有不同的TCP/IP协议栈来判断
    具体实现方式如下:

    1. 向目标的open和closed端口分别发送经过精心设计的TCP/UDP/ICMP数据包,Nmap会根据返回的数据包生成一份系统指纹。
    2. Nmap在文件nmap-os-db文件中包含了2600多已知系统的指纹特征,将探测生成的指纹与内部指纹进行对比,查找匹配的系统。但识别不是万能的,有时无法匹配,这就导致无法正确识别。

    3.4.2.系统侦测用法

    3.4.3.系统侦测演示

    Nmap -O+目标地址

    4.Nmap高级用法

    4.1.Nmap脚本引擎

    1. Nmap不仅用于端口扫描、服务检测等,Nmap还有强大的脚本引擎——NSE脚本引擎(Nmap Scripting
      Engine),是Nmap最强大最灵活的功能之一,允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能。

    4.1.1.利用Nmap脚本扫描漏洞

    命令格式:nmap –script=
    脚本扫描参数:|

    4.1.2.利用Nmap脚本扫描漏洞演示

    Nmap –script=vuln+目标地址

    在渗透测试中,用好Nmap脚本引擎是一大助力,你可以自由地利用每个参数进行扫描和探测,其使用非常灵活。

    4.2.防火墙/IDS规避

    防火墙与IDS规避为用于绕开防火墙与IDS(入侵检测系统)的检测与屏蔽,以便能够更加详细地发现目标主机的状况。
    Nmap提供了多种规避技巧,通常可以从两个方面考虑规避方式:数据包的变换(Packet Change)与时序变换(Timing Change)

    4.2.1.规避原理

    • 分片 将可疑探测包分成多个处理,某些简单防火墙为了快速处理可能不会进行重组检查
    • IP诱骗 将真实IP地址与其他主机IP(必须存活)地址混合使用,让防火墙或IDS检查到大量不同IP数据包,降低被追踪的概率
    • IP伪装 伪装成其他主机IP地址
    • 指定源端口 某些目标主机只允许来自特定端口的数据包通过防火墙,可以指定Nmap将发送的数据包的源端口都设置特定的端口
    • 扫描延时 某些防火墙针对发送过于频繁的数据包会进行严格的侦查,而且某些系统限制错误 文产生的频率,定制该情况下发包的频率和发包延时可以降低目标主机的审查强度、节省 络带宽
    • 其他技术 指定使用某个 络接口来发送数据包、指定发送包的最小长度、指定发包的MTU、指定TTL、指定伪装的MAC地址、使用错误检查和(badchecksum)。

    更多信息 http://nmap.org/book/man-bypass-firewalls-ids.html

    4.1.2.规避用法

    5.结语

    Nmap所提供的命令非常丰富、灵活,只需要几个参数即可进行快速扫描。学习Nmap最重要的是掌握参数的含义,每个参数都有不同的用法,参数结合起来又有不同的效果,只有掌握了这些用法,才能更高的发挥Nmap强大的功能。我们不需要完全掌握这些参数,但要掌握一些常用的参数。Nmap是每一位安全研究者必备的工具之一,掌握Nmap各模块的使用方法,对我们帮助甚大。
    下面是一些参考 址:

    1. Nmap 速查手册,速查命令参数:
      http://highon.coffee/docs/nmap/
    2. Nmap官 的完整手册
      https://svn.nmap.org/nmap/docs/nmap.usage.txt
      侵刪!

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月5日
下一篇 2019年8月5日

相关推荐