Gweek Posthub Gweek Posthub
首页 关于
首页 关于
Gweek
Gweek
Fake it till you make it
抖音 Github X

扫码关注

二维码

扫描二维码

分类

  • 技术分享 20
  • 生活点滴 3
  • 云计算 21
  • 网络 0

标签云

windows server nmap kvm docker vps openstack

归档

  • 2025年12月

Nmap特殊用法

Gweek 2025年12月05日 云计算 0 条评论

排除扫描目标的命令

使用Nmap的有关参数可在扫描工作开始前指定一个、多个目标或随机产生的若干IP地址或主机名,同时使用--exclude可以排除一些你不想扫描的目标。
示例:nmap 192.168.1.0/24 --exclude 192.168.1.10 排除 192.168.1.10 主机。

高级用法

Nmap 提供了多种高级扫描技巧,用于绕过防火墙和入侵检测系统(IDS),使得扫描过程更加隐蔽。

1. 分片(Fragmentation)

  • 概念:防火墙和IDS通常检查数据包的完整性,分片技术通过将一个大的数据包拆分成多个小数据包发送,使得防火墙和IDS可能无法识别完整的数据包,从而绕过检测。
  • 原理:Nmap会将TCP数据包分割成多个更小的包,发送时每个小包都带有自己的IP头,这样检测系统可能无法看到整个扫描数据包的内容,从而无法对其进行完整的检查。
  • 命令示例:

    • 使用 -f 参数启用数据包分片:

      nmap -f 192.168.1.1

      该命令将扫描目标主机 192.168.1.1 并启用分片。通过此技术,Nmap会将发送的数据包拆分成更小的包,以绕过防火墙或IDS的检测。

  • 应用场景:适用于防火墙或IDS对大数据包进行检查时,可以通过分片规避检测,尤其是当目标网络中的防火墙或IDS不对小包进行深度检查时。

2. 诱饵扫描(Decoy Scan)

  • 概念:诱饵扫描通过向目标发送来自多个IP地址的数据包,使得目标系统误认为是多个不同主机在进行扫描。通过混淆扫描源IP,减少被检测到的概率。
  • 原理:Nmap允许用户在扫描时同时使用多个IP地址作为诱饵。目标主机会收到来自这些诱饵地址的数据包,混淆了真正的攻击者的IP,防止IDS或防火墙检测到扫描的来源。
  • 命令示例:

    • 使用 -D 参数来指定诱饵主机:

      nmap -D 192.168.1.5,192.168.1.6,ME 192.168.1.1

      该命令表示Nmap在扫描目标 192.168.1.1 时,除了使用源IP外,还使用 192.168.1.5 和 192.168.1.6 作为诱饵(ME 表示使用自己的真实IP作为诱饵)。

  • 应用场景:适用于防止目标系统通过IDS或防火墙发现扫描源IP。通过诱饵扫描,可以有效混淆扫描源,避免被定位为攻击者。

3. 源地址伪装(IP Spoofing)

  • 概念:源地址伪装通过将数据包的源IP地址伪装成其他主机的IP地址,使得目标主机认为是其他主机在进行连接,从而隐藏扫描者的真实身份。
  • 原理:源地址伪装通过修改IP头部的源地址字段来伪装扫描源。通常情况下,目标主机会将响应发送到伪装的源地址,但是该伪装IP并不实际接收数据包,因此该技术通常与其他技巧(如回显扫描或代理服务器)结合使用。
  • 命令示例:

    • 使用 -S 参数进行源地址伪装:

      nmap -S 192.168.1.100 192.168.1.1

      该命令使得Nmap将源IP伪装为 192.168.1.100,扫描目标 192.168.1.1。目标主机会认为 192.168.1.100 是扫描源,而不会检测到实际的扫描者IP。

  • 应用场景:适用于隐藏扫描者的IP地址,避免暴露真实身份,尤其是在进行渗透测试或攻击性扫描时需要避免被目标追踪。

4. 结合使用

  • 例子:如果你想同时使用多个技巧,如分片、诱饵扫描和源地址伪装,你可以将它们结合使用以最大化隐蔽性。

    nmap -f -D 192.168.1.5,192.168.1.6,ME -S 192.168.1.100 192.168.1.1

    该命令会:

    • 使用分片技术将数据包拆分,
    • 使用 192.168.1.5 和 192.168.1.6 作为诱饵,混淆扫描源,
    • 将源IP伪装为 192.168.1.100 来隐藏真实的扫描者IP。

特殊用法

一、配置iptables防火墙

在Linux系统中,iptables 是一个强大的防火墙工具,它可以控制网络流量的进出。我们将配置一个基本的 iptables 防火墙,限制特定的入站和出站流量,然后用 Nmap 来测试如何绕过防火墙。

1. 配置iptables防火墙

首先,我们需要配置一个基本的防火墙规则,来阻止来自外部的未授权连接。假设目标主机的IP是 192.168.1.10。

步骤 1:查看当前的iptables规则

在终端输入以下命令查看现有的防火墙规则:

sudo iptables -L
步骤 2:清除现有的规则

清除所有现有规则,以便开始新的配置:

sudo iptables -F
步骤 3:设置默认策略

将默认策略设置为拒绝所有流量。INPUT链用于控制进入本机的流量,OUTPUT链用于控制离开本机的流量。

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
sudo iptables -P FORWARD DROP
步骤 4:允许本地流量

允许本地流量(localhost)流动,以避免对本机的自我连接进行限制:

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
步骤 5:允许ICMP流量(ping)

允许通过ICMP协议的ping请求,这样可以测试主机是否存活:

sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
步骤 6:允许SSH连接

如果你需要通过SSH连接到目标主机,允许SSH流量:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
步骤 7:查看当前的iptables规则

再次检查防火墙规则,确保配置已生效:

sudo iptables -L

此时,iptables 防火墙将仅允许来自本地主机的流量以及ping请求和SSH连接。


二、Nmap绕过iptables的技巧

我们将利用 Nmap 的高级扫描技术绕过 iptables 防火墙。主要使用的技巧包括 分片、诱饵扫描 和 源地址伪装。

1. 分片(Fragmentation)

概念:iptables 可能只会对较大的数据包进行过滤,如果我们使用分片技术,将一个大的数据包拆分成多个小包发送,防火墙可能无法检测到这些小包的整体内容。

实验步骤:
  1. 启用分片扫描:使用 -f 参数启用分片扫描,发送多个小数据包以绕过防火墙。

    sudo nmap -f 192.168.1.10
  2. 观察结果:通过查看 iptables 的日志,防火墙是否能够检测到这些分片的数据包。如果防火墙没有识别到这些小包的完整内容,扫描可能会成功。

2. 诱饵扫描(Decoy Scan)

概念:通过将扫描请求的源IP伪装成多个不同的IP地址,混淆防火墙或IDS系统,使其无法确定哪个IP发起了扫描。

实验步骤:
  1. 启用诱饵扫描:使用 -D 参数,在扫描时添加诱饵IP地址。ME表示使用自己的真实IP。

    sudo nmap -D 192.168.1.5,192.168.1.6,ME 192.168.1.10

    这条命令会向目标主机 192.168.1.10 发送来自 192.168.1.5 和 192.168.1.6 的扫描请求,并混淆源IP地址。

  2. 观察结果:在防火墙的日志中检查是否能够区分哪些数据包来自真实IP,哪些来自诱饵。

3. 源地址伪装(IP Spoofing)

概念:源地址伪装通过修改IP数据包的源地址字段,使目标主机认为请求来自其他主机,从而隐藏扫描者的真实IP。

实验步骤:
  1. 启用源地址伪装:使用 -S 参数指定一个伪装的源IP地址,扫描目标主机。

    sudo nmap -S 192.168.1.100 192.168.1.10

    该命令将源IP伪装为 192.168.1.100,目标主机 192.168.1.10 会将响应发送到 192.168.1.100,而不是扫描者的真实IP。

  2. 观察结果:检查 iptables 防火墙是否能够发现伪装的源IP。如果防火墙检查到伪装的IP,那么它将无法阻止扫描请求,因为它会认为请求来自其他合法的IP地址。

4. 组合多个技巧

可以将多个技巧组合起来,进一步提高绕过防火墙的成功率。

实验步骤:
  1. 组合分片、诱饵扫描和源地址伪装:

    sudo nmap -f -D 192.168.1.5,192.168.1.6,ME -S 192.168.1.100 192.168.1.10

    这条命令将同时使用分片、诱饵扫描和源地址伪装,增加防火墙和IDS的检测难度。

  2. 观察结果:检查 iptables 的日志和目标主机的响应,确认是否成功绕过防火墙和IDS。

三、实验结果对比

1. 防火墙开启时:

  • 正常扫描:如果防火墙开启且没有使用绕过技巧,iptables 会丢弃不允许的连接(如没有匹配的规则)。
  • 绕过扫描:使用分片、诱饵扫描和源地址伪装时,iptables 可能无法检测到扫描流量,扫描成功的可能性更高。

2. 防火墙关闭时:

  • 正常扫描:直接进行正常的Nmap扫描,所有扫描会成功。
  • 绕过扫描:使用绕过技巧,结果与正常扫描相同,但攻击者可以更难被追踪。
上一篇
Nmap基本用法
下一篇
Burp Suite的功能详细讲解
取消回复

添加新评论

RSS