NMAP扫描器的使用

NMAP

一 概述

nmap是一个网络探测和安全扫描工具,系统管理者和个人可以使用这个软件扫描大型的网络,获取 哪台主机正在运行以及提供什么服务等信息。

nmap可用于

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

  • 检测主机上开放的端口(端口发现)。

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

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

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

总结:NMAP用于渗透测试中的信息收集

二 NMAP扫描案例

1 主机探测

image-20240104150351399

2 扫描主机开放的端口

在nmap后面直接跟主机IP (默认扫描1000个常用端口)

nmap 192.172.10.25

3 扫描指定端口

nmap 192.172.10.25 -p 80
nmap 192.172.10.25 -p 80,3306
nmap 192.172.10.25 -p 1-65535

4 指定扫描方式

TCP扫描 -sT
nmap -sT 192.172.10.23

image-20240104154003411

SYN半连接扫描 -sS
nmap -sS 192.172.10.23

image-20240104154028256

image-20240104175615298

隐秘扫描

只适用于Linux

nmap -sF 192.172.10.23  # scan FIN
nmap -sN 192.172.10.23  # scan None协议
nmap -sX 192.172.10.23  # xmax tree包 FIN URG PSH三个协议

image-20240104154240359

服务识别扫描
nmap -sV 192.172.10.23 

image-20240104155430368

本质上-sV使用的就是telnet,来获取的指纹信息。

操作系统版本扫描
nmap  192.172.10.23 -O

image-20240104155913557

三 NMAP端口状态解析

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

open: 开发的端口
closed :关闭的端口,对于nmap也是可访问的,它接收 nmap探测报文并作出响应。但没有应用程序在其上监听。
filtered : 被防火墙过滤的端口,由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则或者主机上的软件防火墙。
unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。只有用于映射防火墙规则集的ACK扫描才会把端口分类到这个状态。
open | filtered :无法确定端口是开放还是被过滤,开放的端口不响应就是- 个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP, IP协议,FIN, Null等扫描会引起。
closed | filtered: (关闭或者被过滤的)无法确定端口是关闭的还是被过滤的。

四 常用内置脚本

可以使用内置脚本进行功能扩展,命令语法为: nmap --script=brute 192.168.80.149

auth: 负责处理鉴权证书(绕开鉴权)的脚本  
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务  
brute: 提供暴力破解方式,针对常见的应用如http/snmp等  
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力  
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等  
dos: 用于进行拒绝服务攻击  
exploit: 利用已知的漏洞入侵系统  
external: 利用第三方的数据库或资源,例如进行whois解析  
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 
intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽  
malware: 探测目标机是否感染了病毒、开启了后门等信息  
safe: 此类与intrusive相反,属于安全性脚本  
version: 负责增强服务与版本扫描(Version Detection)功能的脚本  
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067

所有扫描脚本,可以查看Kali下的目录:/usr/share/nmap/scripts,具体各个脚本的用法及参数,参考:NSEDoc Reference Portal — Nmap Scripting Engine documentation

脚本实战

auth 负责处理鉴权证书(绕开鉴权)的脚本

┌──(root㉿kali)-[~]
└─# nmap --script=auth  192.172.10.25 -p22
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-04 16:48 CST
Nmap scan report for 192.172.10.25
Host is up (0.00044s latency).

PORT   STATE SERVICE
22/tcp open  ssh
| ssh-publickey-acceptance: 
|_  Accepted Public Keys: No public keys accepted
| ssh-auth-methods: 
|   Supported authentication methods: 
|     publickey
|     gssapi-keyex
|     gssapi-with-mic
|_    password
MAC Address: 00:0C:29:11:1D:82 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 8.37 seconds

brute爆破

指定爆破脚本或爆破文件

nmap --script ssh-brute  192.172.10.25 -p22

指定字典爆破

map -p3306 --script=brute --script-args 'userdb=./usertest.txt,passdb=./password-3000.txt' 192.168.112.188

vuln扫描常见漏洞

nmap --script=vuln  192.172.10.25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值