如何在网络安全中进行隐蔽的 Nmap 扫描以避免被检测到

NmapNmapBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在网络安全领域,进行有效的网络侦察对于了解组织的安全态势至关重要。Nmap是一个强大的开源网络扫描工具,在这个过程中可能是一项宝贵的资产。然而,为了避免被检测到并保持出其不意的效果,采用隐蔽扫描技术至关重要。本教程将指导你完成执行隐蔽Nmap扫描的步骤,并在不引起任何警报的情况下有效地进行网络安全评估。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/firewall_evasion("Firewall Evasion Techniques") nmap/NmapGroup -.-> nmap/stealth_scanning("Stealth and Covert Scanning") subgraph Lab Skills nmap/host_discovery -.-> lab-415611{{"如何在网络安全中进行隐蔽的 Nmap 扫描以避免被检测到"}} nmap/target_specification -.-> lab-415611{{"如何在网络安全中进行隐蔽的 Nmap 扫描以避免被检测到"}} nmap/syn_scan -.-> lab-415611{{"如何在网络安全中进行隐蔽的 Nmap 扫描以避免被检测到"}} nmap/firewall_evasion -.-> lab-415611{{"如何在网络安全中进行隐蔽的 Nmap 扫描以避免被检测到"}} nmap/stealth_scanning -.-> lab-415611{{"如何在网络安全中进行隐蔽的 Nmap 扫描以避免被检测到"}} end

Nmap 与网络扫描简介

什么是 Nmap?

Nmap(网络映射器)是一个功能强大且用途广泛的开源工具,用于网络发现和安全审计。网络管理员、安全专业人员和道德黑客广泛使用它来收集有关网络主机、服务和漏洞的信息。

网络扫描基础

网络扫描是识别网络上活动设备、开放端口和正在运行的服务的过程。Nmap 提供了各种扫描技术来实现这一目标,包括:

  1. TCP 连接扫描:执行完整的 TCP 三次握手以确定端口是否开放。
  2. SYN 扫描:发送 SYN 数据包并等待 SYN-ACK 响应以确定端口是否开放。
  3. UDP 扫描:发送 UDP 数据包以确定端口是否开放并监听 UDP 流量。
  4. 空闲/僵尸扫描:使用空闲或“僵尸”主机执行扫描,使其更隐蔽。

Nmap 扫描模式

Nmap 提供了几种扫描模式以适应不同的用例:

  1. 基本扫描:对最常见的 1000 个端口执行 TCP 连接扫描。
  2. 强力扫描:扫描所有 65535 个 TCP 端口并执行版本检测。
  3. 隐蔽扫描:使用 SYN 扫描等技术避免被防火墙和入侵检测系统/入侵防御系统检测到。
  4. 全面扫描:结合各种扫描技术以收集尽可能多的信息。
## 示例:基本 Nmap 扫描
nmap -sC -sV -oA basic_scan 192.168.1.1/24

上述命令对 192.168.1.0/24 网络执行基本的 TCP 连接扫描,包括版本检测(-sV)和默认的 Nmap 脚本(-sC),并将输出保存到“basic_scan”文件中。

用于隐蔽性的 Nmap 隐蔽扫描技术

慢速扫描

Nmap 提供了各种选项来减慢扫描过程并避免被安全系统检测到:

  1. 计时选项:使用-T<0 - 5>选项设置计时模板,其中 0 最慢,5 最快。
  2. 延迟选项:使用-sS --max-rate <每秒数据包数>-sS --max-parallelism <线程数>选项控制扫描速率。
## 示例:慢速 TCP SYN 扫描
nmap -sS -T2 --max-rate 10 -p- 192.168.1.1

分片数据包

Nmap 可以将数据包拆分成更小的片段,以绕过可能配置为检测大数据包的防火墙和入侵检测系统/入侵防御系统:

  1. IP 分片:使用-f--fragment选项将数据包拆分成更小的片段。
  2. MTU 降低:使用--mtu <大小>选项设置用于数据包分片的自定义最大传输单元 (MTU) 大小。
## 示例:分片 TCP SYN 扫描
nmap -sS -f -p- 192.168.1.1

空闲/僵尸扫描

Nmap 的空闲/僵尸扫描技术使用“空闲”或“僵尸”主机执行扫描,使其看起来好像扫描来自空闲主机:

  1. 识别合适的僵尸主机:找到一个可能较少受到监控的主机,例如旧的或未使用的系统。
  2. 通过僵尸主机扫描:使用-sI <僵尸主机:源端口>选项通过僵尸主机执行扫描。
## 示例:空闲/僵尸扫描
nmap -sI 僵尸主机:1234 192.168.1.1

诱饵扫描

Nmap 可以从多个源 IP 地址发起扫描,使其看起来好像扫描来自不同的主机:

  1. 使用诱饵主机:使用-D RND:10选项在扫描中包含 10 个随机诱饵主机。
  2. 欺骗源 IP:使用-S <源 IP>选项欺骗源 IP 地址。
## 示例:诱饵扫描
nmap -D RND:10 -S 192.168.1.100 192.168.1.1

在网络安全评估中避免被检测到

了解威胁态势

在网络安全评估中,了解威胁态势以及攻击者用于逃避检测的技术至关重要。这包括:

  1. 监控与日志记录:了解目标组织的安全系统,如防火墙、入侵检测系统/入侵防御系统以及安全信息与事件管理系统(SIEM)是如何监控和记录网络活动的。
  2. 威胁情报:随时了解威胁行为者使用的最新攻击趋势、技术以及妥协指标(IoC)。

实施隐蔽技术

利用前面讨论的Nmap扫描技术,你可以在网络安全评估期间实施各种策略来避免被检测到:

  1. 慢速且隐蔽的扫描:使用计时和延迟选项来减慢扫描过程,并降低触发安全警报的风险。
  2. 分片数据包:将数据包拆分成更小的片段,以绕过可能配置为检测大数据包的安全系统。
  3. 空闲/僵尸扫描:使用“空闲”或“僵尸”主机执行扫描,使其看起来好像扫描来自一个不太可疑的源。
  4. 诱饵扫描:从多个源IP地址发起扫描,使其看起来好像扫描来自不同的主机。
## 示例:全面隐蔽扫描
nmap -sS -T2 --max-rate 10 -f -D RND:10 -S 192.168.1.100 192.168.1.1

上述命令结合了多种隐蔽技术,包括慢速TCP SYN扫描、数据包分片和诱饵扫描,以在网络安全评估期间将被检测到的可能性降至最低。

道德考量

在执行隐蔽的Nmap扫描时,必须考虑道德和法律影响。在进行任何网络扫描活动之前,始终要获得必要的许可和批准,并确保你的行为在评估范围内,且符合组织的政策和适用法律。

总结

本网络安全教程为你提供了进行隐蔽Nmap扫描以及在网络安全评估期间避免被检测到的知识和技术。通过利用先进的扫描方法并理解隐蔽性的重要性,你可以在保持低调的同时收集有价值的网络情报。请记住,在网络安全领域,能够进行未被察觉的侦察是确保组织安全和韧性的一项强大资产。