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高级使用技巧和漏洞扫描发现的主要内容,如果未能解决你的问题,请参考以下文章