什么是Nmap
nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。
Nmap的作用
- Creating a network inventory (搜集网络资产)
- Checking for live hosts(检查活动主机)
- Determining operating systems(确定操作系统的类型)
- Determining running services and their version(运行的服务及其版本)
- Identifying vulnerabilities on a host (标识主机的漏洞)
- Detectingsniffers (检测是否有嗅探者)
- Determining whether a firewall is present on a network(检查网络中是否有防火墙)
用法
nmap属于kali自带工具,位置如下:
┌──(root💀kali)-[~/work/exam/nmap]
└─# which nmap
/usr/bin/nmap
Nmap- -主机发现
┌──(root💀kali)-[~/work/exam/nmap]
└─# which nmap
/usr/bin/nmap
选项 | 作用 |
---|---|
-sn | 执行ping扫描,而不对目标做端口扫描 |
-Pn | 假定主机军在线,跳过主机发现 |
-PS | 向目标主机的80端口发送SYN报文 |
-PA | 向目标主机的443端口发送ACK报文 |
-PU | 执行UDP扫描 |
PS:主机发现
- 二层(数据链路层)
ARP协议
工具:arping
条件:本地网络,当两台主机在同一个网段下,且目标主机开启了防火墙,这时候ping不通目标主机,可使用arping命令探测主机是否在线。 - 三层(网络层)
ping基于ICMP协议 - 四层(传输层)
-
TCP SYN ping -PS
一个新发起的连接 SYN=1 ACK=0,如果目标主机的80端口是关闭的,则目标主机会响应一个RST报文,如果目标主机的80端口是开放的,则目标主机会响应一个SYN/ACK报文来尝试建立连接,之后攻击机会发送一个RST报文来释放连接。
命令:nmap -sn -PS <target>
-
TCP ACK ping -PA
场景:防火墙会阻止SYN报文(新发起的连接)、ICMP请求报文,但TCP ACK ping不会被传统的防火墙阻止,但可能会被状态检测防火墙(记录数据包的连接状态)阻止,因为发送的ACK包是伪造的,默认以80端口作为主机发现,namp直接发送一个ACK的报文到目标IP,目标IP响应RST报文,说明主机存活。
命令:nmap -sn -PA <target>
-
UDP ping -PU
优势:绕过防火墙对TCP报文的过滤 发送一个空的UDP报文到40125端口,如果主机在线,会返回一个ICMP端口不可达的错误消息,如果主机不在线,返回各种ICMP的报错消息。
命令:nmap -sn -PU <target>
-
【案例】
nmap -sn 192.168.137.0/24
执行ping扫描,而不做端口扫描
┌──(root💀kali)-[~/work/exam/nmap]
└─# nmap -sn 192.168.137.0/24 130 ⨯
Starting Nmap 7.92 ( https://nmap.org ) at 2022-03-17 03:15 EDT
Nmap scan report for 192.168.137.1
Host is up (0.00047s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.137.2
Host is up (0.00015s latency).
MAC Address: 00:50:56:F2:52:44 (VMware)
Nmap scan report for 192.168.137.254
Host is up (0.00014s latency).
MAC Address: 00:50:56:F3:88:4E (VMware)
Nmap scan report for 192.168.137.128
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 1.97 seconds
借助wireshark发现在同一个网段下nmap通过ARP协议进行扫描,不同网端通过IMCP协议进行扫描
Nmap- -脚本引擎
脚本存放位置:/usr/share/nmap/scripts
作用:
- Discovery 发现,获取目标的深度信息
- External 扩展,支持一些开源情报探测(OSINT)
- Intrusive 入侵检测
- Malware 恶意软件检查,如后门(backdoor)
- safe 安全检查,检测是否被入侵
- vuln 漏洞检查
用法: -
- –script 类别
nmap --script malware <target>
- –script 类别