type
status
date
slug
summary
tags
category
icon
password
排除扫描目标的命令
使用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
参数启用数据包分片: 该命令将扫描目标主机192.168.1.1
并启用分片。通过此技术,Nmap会将发送的数据包拆分成更小的包,以绕过防火墙或IDS的检测。
- 应用场景:适用于防火墙或IDS对大数据包进行检查时,可以通过分片规避检测,尤其是当目标网络中的防火墙或IDS不对小包进行深度检查时。
2. 诱饵扫描(Decoy Scan)
- 概念:诱饵扫描通过向目标发送来自多个IP地址的数据包,使得目标系统误认为是多个不同主机在进行扫描。通过混淆扫描源IP,减少被检测到的概率。
- 原理:Nmap允许用户在扫描时同时使用多个IP地址作为诱饵。目标主机会收到来自这些诱饵地址的数据包,混淆了真正的攻击者的IP,防止IDS或防火墙检测到扫描的来源。
- 命令示例:
- 使用
D
参数来指定诱饵主机: 该命令表示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将源IP伪装为192.168.1.100
,扫描目标192.168.1.1
。目标主机会认为192.168.1.100
是扫描源,而不会检测到实际的扫描者IP。
- 应用场景:适用于隐藏扫描者的IP地址,避免暴露真实身份,尤其是在进行渗透测试或攻击性扫描时需要避免被目标追踪。
4. 结合使用
- 例子:如果你想同时使用多个技巧,如分片、诱饵扫描和源地址伪装,你可以将它们结合使用以最大化隐蔽性。 该命令会:
- 使用分片技术将数据包拆分,
- 使用
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规则
在终端输入以下命令查看现有的防火墙规则:
步骤 2:清除现有的规则
清除所有现有规则,以便开始新的配置:
步骤 3:设置默认策略
将默认策略设置为拒绝所有流量。
INPUT
链用于控制进入本机的流量,OUTPUT
链用于控制离开本机的流量。步骤 4:允许本地流量
允许本地流量(localhost)流动,以避免对本机的自我连接进行限制:
步骤 5:允许ICMP流量(ping)
允许通过ICMP协议的ping请求,这样可以测试主机是否存活:
步骤 6:允许SSH连接
如果你需要通过SSH连接到目标主机,允许SSH流量:
步骤 7:查看当前的iptables规则
再次检查防火墙规则,确保配置已生效:
此时,
iptables
防火墙将仅允许来自本地主机的流量以及ping请求和SSH连接。二、Nmap绕过iptables的技巧
我们将利用 Nmap 的高级扫描技术绕过 iptables 防火墙。主要使用的技巧包括 分片、诱饵扫描 和 源地址伪装。
1. 分片(Fragmentation)
概念:
iptables
可能只会对较大的数据包进行过滤,如果我们使用分片技术,将一个大的数据包拆分成多个小包发送,防火墙可能无法检测到这些小包的整体内容。实验步骤:
- 启用分片扫描:使用
f
参数启用分片扫描,发送多个小数据包以绕过防火墙。
- 观察结果:通过查看
iptables
的日志,防火墙是否能够检测到这些分片的数据包。如果防火墙没有识别到这些小包的完整内容,扫描可能会成功。
2. 诱饵扫描(Decoy Scan)
概念:通过将扫描请求的源IP伪装成多个不同的IP地址,混淆防火墙或IDS系统,使其无法确定哪个IP发起了扫描。
实验步骤:
- 启用诱饵扫描:使用
D
参数,在扫描时添加诱饵IP地址。ME
表示使用自己的真实IP。
这条命令会向目标主机
192.168.1.10
发送来自 192.168.1.5
和 192.168.1.6
的扫描请求,并混淆源IP地址。- 观察结果:在防火墙的日志中检查是否能够区分哪些数据包来自真实IP,哪些来自诱饵。
3. 源地址伪装(IP Spoofing)
概念:源地址伪装通过修改IP数据包的源地址字段,使目标主机认为请求来自其他主机,从而隐藏扫描者的真实IP。
实验步骤:
- 启用源地址伪装:使用
S
参数指定一个伪装的源IP地址,扫描目标主机。
该命令将源IP伪装为
192.168.1.100
,目标主机 192.168.1.10
会将响应发送到 192.168.1.100
,而不是扫描者的真实IP。- 观察结果:检查
iptables
防火墙是否能够发现伪装的源IP。如果防火墙检查到伪装的IP,那么它将无法阻止扫描请求,因为它会认为请求来自其他合法的IP地址。
4. 组合多个技巧
可以将多个技巧组合起来,进一步提高绕过防火墙的成功率。
实验步骤:
- 组合分片、诱饵扫描和源地址伪装:
这条命令将同时使用分片、诱饵扫描和源地址伪装,增加防火墙和IDS的检测难度。
- 观察结果:检查
iptables
的日志和目标主机的响应,确认是否成功绕过防火墙和IDS。
三、实验结果对比
1. 防火墙开启时:
- 正常扫描:如果防火墙开启且没有使用绕过技巧,
iptables
会丢弃不允许的连接(如没有匹配的规则)。
- 绕过扫描:使用分片、诱饵扫描和源地址伪装时,
iptables
可能无法检测到扫描流量,扫描成功的可能性更高。
2. 防火墙关闭时:
- 正常扫描:直接进行正常的Nmap扫描,所有扫描会成功。
- 绕过扫描:使用绕过技巧,结果与正常扫描相同,但攻击者可以更难被追踪。
- Author:Gweek
- URL:https://www.myla.eu.org/article/nmapjj
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!