渗透测试工具使用之Nmap详解

渗透测试工具使用之Nmap详解

0x01 Nmap介绍

Namp(Network Mapper) 网络映射器,是一款开源免费的网络探测安全审核工具,他被设计用来快速扫描大型网络,他有图形化界面版本Zenmap,分布式框架DNmap。
主要的功能及用途:

  1. 用于主机发现:发现网络中存活的主机
  2. 端口扫描:扫描目标主机上端口开放的情况
  3. 服务识别:识别目标主机上开放的服务以及服务的版本情况
  4. 系统检测:检测目标主机的操作系统以及版本,还有网络设备的硬件特性
  5. WAF识别:识别web服务器的防护设备WAF
  6. 漏洞识别:扫描目标主机上有无对应的漏洞

0x02 Nmap安装

Nmap下载地址:https://nmap.org/download.html, 下载,一直下一步安装即可,本次安装的是当前最新版namp 7.80。
安装完毕后回出现Nmap的图形版本Zenmap.

0x03 Namp使用

nmap帮助命令:
使用nmap --help 或者nmap都可以查看使用帮助信息:
渗透测试工具使用之Nmap详解_第1张图片
参数说明:

目标说明:在这里插入图片描述

主机发现说明:
渗透测试工具使用之Nmap详解_第2张图片
扫描技术:
在这里插入图片描述
端口相关参数说明:
渗透测试工具使用之Nmap详解_第3张图片
版本检测:
在这里插入图片描述

A)常规使用

nmap命令格式: Nmap + 扫描参数 + 目标地址(域名)网段
nmap -T 4 - A -v ip
-T 扫描时的时序(发包速度), 0-5 时序高速度快,但是容易被防火墙或IDS检测和屏蔽,-A 进攻性扫描, -v 扫描过程中显示详细形式

常规用法 命令
主机IP扫描
扫描单个地址 nmap 192.168.98.160
扫描多个地址 nmap 192.168.98.160 192.168.98.170
扫描同一网段的多个连续地址 nmap 192.168.98.160-170
扫描目标地址所在的某一个网段 nmap 192.168.98.160/24
从文件中导入目标IP,或网段进行扫描 nmap -iL C:\Users\xxx\Desktop\targets.txt
扫描排除指定目标的其余目标地址 nmap 192.168.98.160/24 --exclude 192.168.98.2
从文件中导入要排除的指定主机 nmap 192.168.98.160/24 --excludefile C:\User\xxx\Desktop\targets.txt
端口扫描
扫描目标主机的指定端口(默认全端口扫描) nmap 192.168.98.160 -p 21,22,23,80
对目标主机进行路由跟踪 nmap --traceroute 192.168.98.160
扫描目标地址所在C端主机在线情况 nmap -sP 192.168.98.160/24
目标地址的操作系统识别 nmap -O 192.168.98.160
目标系统开放端口的服务版本检测 nmap -sV 192.168.0.105
探测防火墙的状态,使用-FIN扫描 nmap -sF -T4 192.168.98.160

Nmap扫描出的端口状态:

状态 含义
open 开放的,外部可以访问
closed 关闭,目标主机未开启该端口,不能访问
filterd 被过滤的,表示端口被防火墙或其他网络设备阻止,不能访问
unfiltered 未被过滤的,但是Nmap无法确定端口所处状态,需要进一步探测
open/filtered 开放的或者被过滤的,Nmap不能识别
closed/filtered 关闭的或者被过滤的,Nmap不能识别

B) 高级用法(使用脚本)

Nmap的脚本主要分为以下几类:

脚本 功能
Auth 负责处理鉴权证书(绕过鉴权)的脚本。
Broadcast 在局域网内探查更多服务的开启情况,如DHCP/DNS/SQLServer等。
Brute 针对常见的应用提供暴力破解方式,如HTTP/SMTP等。
Default 使用-sC或-A选项扫描时默认的脚本,提供基本的脚本扫描能力。
Discovery 对网络进行更多信息的搜集,如SMB枚举、SNMP查询等。
Dos 用于进行拒绝服务攻击。
Exploit 利用已知的漏洞入侵系统。
Externa 利用第三方的数据库或资源。例如,进行Whois解析。
Fuzzer 模糊测试脚本,发送异常的包到目标机,探测出潜在漏洞。
Intrusive 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽。
Malware 探测目标机是否感染了病毒、开启后门等信息。
Safe 此类与Intrusive相反,属于安全性脚本。
Version 负责增强服务与版本扫描功能的脚本。
Vuln 负责检查目标机是否有常见漏洞。

常见脚本参数说明:
使用 --script = 脚本名

参数 说明
–sC/——script=default 使用默认的脚本进行扫描
–script= 使用某个脚本进行扫描
–script-args=key1=value1,key2=value2······ 该参数用于传递脚本里的参数,key1是参数名,该参数对应value1这个值
–script-args-file=filename 使用文件为脚本提供参数
–script-trace 如果设置该参数,则显示脚本执行过程中发送与接收的数据
–script-updatedb 在Nmap的scripts目录里有一个script.db文件,该文件保存了当前Nmap可用的脚本,类似于一个小型数据

C) Nmap实战用例

参数选项 说明
鉴权扫描,扫描目标主机支持的认证登录方式,或弱口令检测 Nmap --script=192.168.98.160
暴力破解,可以对数据库,smb,snmp等进行简单密码的暴力破解 nmap --script=brute 192.168.98.160
常见的漏洞扫描 nmap --script=vuln 192.168.98.160
常见服务识别 nmap --script=realvnc-auth-bypass 192.168.98.160
探测局域网内的更多其他服务开启情况 nmap -n -p 445 --script=broadcast 192.168.98.160
whois解析利用第三方的数据库或资源查询目标地址的信息 nmap -script external baidu.com

你可能感兴趣的:(渗透测试,WEB安全)