长亭百川云 - 文章详情

内网隐蔽扫描,Nmap高级用法

游不动的小鱼丶

69

2024-07-09

前言

Nmap(Network Mapper)是一款开源免费的网络发现和安全审计工具,主要用于扫描目标主机的开放端口、操作系统类型、启用的服务等信息。以下是Nmap的一些常见使用介绍

Nmap的常见使用介绍

  1. 「主机发现」:Nmap可以通过发送不同类型的探测包(如ICMP echo请求、TCP SYN包等)来检测目标主机是否在线。常用命令如-sn
    (Ping扫描,只进行主机发现,不进行端口扫描)和-PE/PP/PM
    (使用ICMP echo、timestamp、netmask请求包发现主机)。

  2. 「端口扫描」:Nmap支持多种端口扫描技术,包括TCP SYN扫描(-sS
    )、TCP connect扫描(-sT
    )、UDP扫描(-sU
    )等。用户可以根据需要选择适当的扫描方式,以探测目标主机上开放的端口。

  3. 「版本探测」:Nmap能够探测目标主机上运行的服务及其版本信息。通过发送特定的探测包并分析响应,Nmap可以识别出服务的类型和版本。使用-sV
    选项可以启用版本探测功能。

  4. 「操作系统探测」:Nmap还能够尝试识别目标主机的操作系统类型。通过收集目标主机的响应数据包中的指纹信息,并与已知的操作系统指纹库进行比对,Nmap可以推断出目标主机的操作系统。使用-O
    选项可以启用操作系统探测功能。

  5. 「NSE脚本引擎」:Nmap的强大之处在于其内置的NSE(Nmap Scripting Engine)脚本引擎。用户可以通过编写或运行NSE脚本来扩展Nmap的功能,实现更复杂的网络探测和安全审计任务。

  6. 「结果输出」:Nmap支持将扫描结果输出到不同的格式,包括文本、XML、Grepable等。用户可以根据需要使用相应的输出选项(如-oN
    、-oX
    等)来保存扫描结果。

使用教程

一、基本教程(附图文)

1、指定端口

扫描主机的**「开放端口」**,在nmap后面直接跟主机IP(默认扫描1000个端口)

image-20240708154236299

扫描**「指定端口」**,使用 -p
参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口

image-20240708154612266

nmap 192.168.31.180 -p 80  
nmap 192.168.31.180 -p 1-80  
nmap 192.168.31.180 -p 80,3389,22,21  
nmap 192.168.31.180 -p 1-65535  
nmap 192.168.31.180 -p-  # -p- 等价于 -p 1-65535

image-20240708154655513

2、主机探测

扫描网段中有哪些主机在线,使用 -sP
参数,不扫描端口,只扫描「存活主机」。

本质上是Ping扫描,能Ping通有回包,就判定主机在线。

nmap -sP 192.168.209.0/24

image-20240708155116858

3、服务识别

扫描端口时,默认显示端口对应的服务,但不显示服务版本。

想要识别具体的「服务版本」,可以使用 -sV
参数。

nmap 192.168.209.1 -p 80-1000 -sV

image-20240708155311798

4、系统识别

想要识别「操作系统版本」,可以使用 -O
参数。

nmap 192.168.209.1 -O

image-20240708155445432

Tips:Nmap扫描出的系统版本并不是完全正确的,仅供参考。

当识别不出具体版本时,Nmap会以概率的形式列举出可能的操作系统,如上图所示。

5、导出扫描结果

Nmap的扫描结果可以保存到文件中,比如文本格式、XML格式。

1)将扫描结果导出为「文本格式」,结果原样保存。

nmap 192.168.209.1 -p 80-1000 -oN result.txt

image-20240708155708758

2)将扫描结果导出为「xml格式」,结果的保存格式会发生变化。

nmap 192.168.209.1 -p 80-1000 -oX result.xml

image-20240708155859661

二、高级用法

扫描绕过安全设备欺骗

发送参杂着假ip的数据包检测

nmap -D 111.111.111.111 192.168.209.1

1、碎片扫描

通过将数据包分割成更小的部分发送,使得防火墙更难识别这些数据包属于一个扫描流量。

nmap -f <目标IP地址>  # 使用随机偏移量的碎片扫描    
nmap -mtu 8 <目标IP地址>  # 指定MTU大小为8的碎片扫描

2、诱饵扫描

在扫描数据包中添加多个诱饵IP地址,使目标防火墙难以判断真正的扫描源,从而增加扫描的隐蔽性。

nmap -D RND:10 <目标IP地址>  # 随机使用10个诱饵IP地址    
nmap -D decoy1,decoy2,decoy3 <目标IP地址>  # 指定具体的诱饵IP地址

3、空闲扫描

利用一台空闲主机(zombie host)作为跳板,通过向空闲主机发送经过特殊构造的数据包,间接地探测目标主机的端口状态,而无需直接向目标主机发送数据包。

nmap -P0 -sI zombie <目标IP地址>  # 使用名为zombie的空闲主机进行扫描

注意:这里的“「zombie」”应替换为实际的空闲主机地址(简称**「僵尸机」**)。

4、随机数据长度

在发送的数据包中填充随机长度的数据,以绕过一些基于数据包长度过滤的防火墙规则。

nmap --data-length 25 <目标IP地址>  # 在每个数据包中填充25字节的随机数据

5、欺骗扫描

通过伪造源IP地址或MAC地址,使防火墙难以追踪真实的扫描源。

nmap --sT -PN --spoof-mac aa:bb:cc:dd:ee:ff <目标IP地址>  # 伪造源MAC地址进行TCP连接扫描    
nmap --badsum <目标IP地址>  # 发送带有错误校验和的数据包,可能绕过某些简单的防火墙规则  
nmap -cloak-source <spoofed_ip1>,<spoofed_ip2> <target_ip> # 伪造ip地址进行扫描

6、SYN扫描

虽然SYN扫描本身并不直接绕过防火墙,但它是一种非常隐蔽的扫描方式,因为它只发送SYN包而不完成整个TCP握手过程,从而减少了被防火墙检测到的可能性。

nmap -sS <目标IP地址>  # 使用SYN扫描方式

7、使用特定端口或绕过常用端口

一些防火墙规则基于端口过滤,可以尝试使用特定的源端口来绕过。例如,很多防火墙允许HTTP端口(80)和HTTPS端口(443)通过。

nmap --source-port 80 <目标IP地址>  # 使用HTTP端口作为源端口进行扫描

8、ARP Ping扫描(-PR)

nmap -sn -PR <target_network>  
# 或者  
nmap -PR <target_network>

Tips:ARP 扫描仅适用于局域网环境,因为它依赖于 ARP 协议,该协议用于在局域网内解析 IP 地址到 MAC 地址。

ARP 扫描可能无法发现配置了 ARP 过滤或 ARP 欺骗防护措施的主机。

总结

Nmap作为一款开源免费的网络发现和安全审计工具,功能强大且多样。

它不仅能够进行主机发现和端口扫描,识别目标主机上的服务及其版本信息,还能尝试探测操作系统的类型。通过内置的NSE脚本引擎,Nmap的功能得到了进一步扩展,可以实现更复杂的网络探测任务。

此外,Nmap支持将扫描结果输出到不同格式的文件中,便于用户保存和分析。高级用法中,Nmap提供了多种扫描策略,如碎片扫描、诱饵扫描和空闲扫描等,以帮助用户绕过安全设备的检测,增加扫描的隐蔽性和灵活性。

自学网络安全,互相交流的同时还能交朋友,和博主一起来交流学习吧

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2