NMAP高级使用技巧和漏洞扫描发现

Posted 奈·Suriel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NMAP高级使用技巧和漏洞扫描发现相关的知识,希望对你有一定的参考价值。

本节所讲内容:

   1、NMAP高级使用技巧

   2、实战:DNMAP分布式集群执行大量扫描任务

   3、NESSUS漏洞检测

一、 NMAP高级使用技巧

       1、 NMAP概述

                nmap是一个网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的

        网络,获取那台主机正在运行以及提供什么服务等信息。nmap支持很多扫描技术,例

       如:UDP、TCPconnect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、

        FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。还可以探测操作系统类型。

     nmap可用于:

                      检测活在网络上的主机(主机发现)

                      检测主机上开放的端口(端口发现或枚举)

                      检测到相应的端口(服务发现)的软件和版本

                      检测操作系统,硬件地址,以及软件版本

                      检测脆弱性的漏洞(Nmap的脚本)

   1.2  NMAP端口状态解析

       端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。

      open :应用程序在该端口接收TCP连接或者UDP报文。

      closed:关闭的端口对于nmap也是可访问的,它接收nmap探测报文并作出响应。但没有应用程

序在其上监听。

      filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专

业的防火墙设备,路由规则或者主机上的软件防火墙。

      unfiltered:未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。只有用于

映射防火墙规则集的ACK扫描才会把端口分类到这个状态。

     open | filtered:无法确定端口是开放还是被过滤,开放的端口不响应就是一个例子。没有响应也

可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN,Null等扫描会引

起。

     closed | filtered:(关闭或者被过滤的)︰无法确定端口是关闭的还是被过滤的。

1.3 NMAP语法及示例

      语法: nmap [Scan Type(s)][Options]e

      例1∶使用nmap扫描一台服务器

       默认情况下,Nmap 会扫描1000个最有可能开放的TCP端口。

   例2:扫描一台机器,查看它打开的端口及详细信息。

例3: 扫描一个范围:端口1-65535

 注:生产环境下,我们只需要开启正在提供服务的端口,其他端口都关闭。

关闭不需要开的服务有两种方法:

      情景1∶你认识这个服务,直接关服务

      情景2∶不认识这个服务,查看哪个进程使用了这个端口并找出进程的路径,然后 kill进程,删

                  除文件,接下来以22端口为例,操作思路如下:

 注:  如果没有看到此命令的具体执行路径,说明此木马进程可以在 bash终端下直接执行,通过

which和rpm -qf 来查看命令的来源,如下:

总结:这个思路主要用于找出黑客监听的后门端口和木马存放的路径。

例4:扫描一台机器:查看此服务器开放的端口号和操作系统类型。

参数说明:

    -O:显示出操作系统的类型。每一种操作系统都有一个指纹。

    -sS:半开扫描(half-open)

          TCP同步扫描(TCP SYN):因为不必全部打开一个TCP 连接,所以这项技术通常称为半开扫

描(half-open)。你可以发出一个TCP同步包(SYN),然后等待回应。如果对方返回SYN[ACK(响应)

包就表示目标端口正在监听;如果返回RST 数据包,就表示目标端口没有监听程序;如果收到一个

SYN|ACK包,源主机就会马上发出一个RST(复位)数据包断开和目标主机的连接,这实际上由我们

的操作系统内核自动完成的。

例5:扫描一个网段中所有机器是什么类型的操作系统。

 nmap -sS -O 192.168.1.0/24

例6:查找一些有特点的IP地址中,开启80端口的服务器。

 例7︰如何更隐藏的去扫描,频繁扫描会被屏蔽或者锁定IP地址。

          --randomize-hosts   # 随机扫描,对目标主机的顺序随机划分

         --scan-delay              #延时扫描,单位秒,调整探针之间的延迟

nmap -v --randomize-hosts  -p 80 192.168.40.1-130  

 nmap -v --scan-delay 3000ms -p 80 192.168.40.1-130  

nmap -v --randomize-hosts --scan-delay 3000ms -p 80 192.168.40.1-130

 例8:使用通配符指定IP地址

        nmap -v --randomize-hosts --scan-delay 3000ms -p 80 192.168.40.*

1.4图形界面zenmap的使用

     新版kali安装zenmap    由于本人安装了4小时  依赖问题解决不了,放弃安装

使用windows做演示

参数解释:

       -A  完全扫描,对操作系统和软件版本号进行检测,并对目标进行traceroute路由探测,

       -О  参数仅识别目标操作系统,并不做软件版本检测和路由探测。

       -T4  指定扫描过程使用的时序(Timing),总有6个级别(O-5),级别越高,扫描速度越快,但

              也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4。

        -v  表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫

            描状态。

1.5 zenmap脚本介绍

     

 第一种: Intense scane

            nmap -T4 -A -v

           一般来说,Intense scan可以满足一般扫描

           -T4  加快执行速度

           -A  操作系统及版本探测

            -v  显示详细的输出

第二种: Intense scan plus UDP

            nmap -ss -sU -T4 -A -v

            即UDP扫描

            -sS TCP SYN 扫描

            -su  UDP 扫描

第三种: Intense scan,all TCP ports

           nmap -p 1-65535 -T4 -A -v

          扫描所有TCР端口,范围在1-65535,试图扫描所有端口的开放情况,速度比较慢。

          -p 指定端口扫描范围

第四种: Intense scan,no pinge

             nmap -T4 -A -v -Pn

             非ping扫描

             -Pn   非ping 扫描

第五种: Ping scane

            nmap -sn

            Ping 扫描     优点∶速度快。

                                 缺点:容易被防火墙屏蔽,导致无扫描结果

           -sn ping 扫描

第六种: Quick scane

            nmap -T4-F

           快速的扫描

           -F   快速模式

第七种:Quick scan pluse

            nmap -sV -T4 -O -F --version-light

            快速扫描加强模式

            -sV  探测端口及版本服务信息。

            -О  开启OS检测

            --version-light  设定侦测等级为2

第八种:Quick traceroute

           nmap -sn --traceroute

           路由跟踪

           -sn Ping 扫描,关闭端口扫描

           -traceroute   显示本机到目标的路由跃点。

第九种: Regular scane

             常规扫描

第十种:Slow comprehensive scane

            nmap -sS -sU -T4 -A -v -PE -PP -PS80,443,-PA3389,PU40125 -PY -g 53 --script all   慢速

          全面扫描。

实战: DNMAP分布式集群执行大量扫描任务

    1.  DNMAР集群简介

             dnmap是一个用python写的进行分布式扫描的nmap扫描框架,我们可以用dnmap来通过

多个台机器发起一个大规模的扫描,dnmap采用C/S结构,执行大量扫描任务时非常便捷,扫描结

果可以统一管理。

   实验场景:  使用4台位于不同区域的kali服务器对A类网段时行扫描。

        用户在服务器端设定好nmap执行的命令,dnmap 会自动的分配给客户端进行扫描,并将扫

描结果提交给服务器。

        dnmap有两个可执行文件,分别是dnmap_client和dnmap_server。在进行一个分布式

nmap扫描之前,我们可以用dnmap_server 来生成一个dnmap的服务端,然后在其他机器

dnmap_client进行连接。然后就能进行分布式的nmap扫描了。

           这里我们可以使用Kali Linux,自带有dnmap。

2、 生成证书文件

        因为dnmap自带的用于TLS连接的pem文件证书太过久远,必须要重新生成一个pem证书客

户端和服务器才能正常连接。

─(root㉿root)-[~/桌面]
└─# openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out server.pem       

 以上信息可以按照要求填写也可以随意填写。

查看新生成的证书server.pem

 将新生成的私钥追加到server.pem证书后面

cat key.pem >> server.pem

3、创建NMAP命令文件

       这一步很简单我们只需要将扫描的命令添加到一个文件中即可,每行一条命令。客户端启动后

会主动找服务端要任务。当客户端执行完后,会再找服务端要任务。

┌──(root㉿root)-[~/桌面]
└─# vim nmap.txt             

插入以下内容:

nmap 101.200.128.30-31

nmap 101.200.128.32-33

nmap 101.200.128.34-35

nmap 101.200.128.36-37

nmap 101.200.128.38-40

4、启动DNMAP集群

     1、使用dnmap_server启动dnmap的服务端选项:

          -f,跟一个待会要执行的nmap命令的文件

          -P  跟一个用于TLS 连接的pem 文件默认是使用随服务器提供的server.pem

           

──(root㉿root)-[~/桌面]
└─# /usr/bin/dnmap_server -f nmap.txt -P server.pem

亲测打不开,果断放弃,闲了再重新整理一下

NESSUS漏洞检测

      NESSUS安装: http://t.csdn.cn/UYDz4

  实战: 配置扫描Windows主机

        开启windows系统,IP是: 192.168.2.7

       登录: https://192.168.2.175:8834 用户名:root密码:root

 

      具体用法可以百度

 

配置扫描Web服务

       

 

以上是关于NMAP高级使用技巧和漏洞扫描发现的主要内容,如果未能解决你的问题,请参考以下文章

nmap--网络探测和安全审核工具

Nmap网络安全审计

Nmap安全扫描

端口扫描神器 - Nmap的基本使用

Nmap在实战中的高级用法

#yyds干货盘点#nmap:网络探测工具和安全/端口扫描器