hacker之眼Nmap的原理及用法绕过防火墙扫描的简单方法TCP ACK Ping
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hacker之眼Nmap的原理及用法绕过防火墙扫描的简单方法TCP ACK Ping相关的知识,希望对你有一定的参考价值。
TCP ACK Ping与TCP SYN Ping非常相似,你可能会猜到的区别是,设置了TCP ACK标志位而不是SYN标志位。这种ACK数据包宣称是通过已建立的TCP连接确认数据,但不存在这样的连接。因此,远程主机应始终使用RST数据包进行响应,并在此过程中暴露它们的存在。
选项-PA使用与SYN探针相同的默认端口(80端口),并且还可以采用相同格式的目标端口列表。如果非特权用户尝试此操作,或者指定了IPv6目标,则使用我们前面讨论的connect解决方法。 此解决方法是不完善的,因为connect实际上正在发送SYN数据包而不是ACK。
同时使用SYN和ACK Ping探针的原因是为了提高绕过防火墙的机会。许多管理员都会配置路由器和简单的防火墙策略来阻止传入的SYN数据包,除了那些发往公共服务(如公司网站或邮件服务器)的数据包。这样可以防止公司内部的服务器与外部建立非授权的连接, 同时允许正常用户与服务器建立正常连接建。这种无状态的方法在防火墙/路由器上占用的资源很少,并且受到硬件和软件过滤器的广泛支持。 作为此方法普遍存在的一个例子,Linux Netfilter/iptables防火墙软件提供了--syn便捷选项。
当遇到诸如此类的防火墙规则配置到位时,SYN Ping探针(-PS)在发送到关闭的目标端口时可能会被阻止。在这种情况下,ACK探针通过完全遵循这些规则而表现出色。
另一种常见类型的防火墙使用丢弃意外数据包的有状态规则。 此功能最初主要在高端防火墙上发现,尽管多年来它已经变得越来越普遍。 Linux Netfilter/iplables系统通过—state选项支持此功能,该选项可以根据连接状态对数据包进行分类。
小知识-状态检测防火墙中的“状态”
INVALID:意味着数据包与已知连接无关;
ESTABLISHED:意味着数据包与一个连接有关联,该连接在防火墙两端都有数据包;
NEW:意味着数据包开始建立一个新连接,或者与之相关的连接并不是在防火墙两端都有数据包;
RELATED:意味着数据包开始建立一个新连接,但是它与已存在的连接相关,例如:FTP数据传输或是ICMP报错。
小知识完
ACK探针不太可能对采用这种方法的防火墙起作用,因为这样的意外数据包将被归类为INVALID状态并可能被丢弃。下面的例子显示了针对Microsoft尝试ACK Ping。他们的状态检测防火墙丢弃了数据包,导致Nmap错误地断定主机已关闭。SYN探针在这种情况下有更好的工作机会。这提出了一个问题,就是当目标网络的防火墙规则未知时该用哪种扫描技术? 正确的答案通常是都用, Nmap可以并行地向许多端口发送SYN和ACK探针,以及同时执行其他主机发现技术。
例3: 用ACK探针扫描Microsoft
#nmap -sn -PA www.miscrosoft.com
以上是关于hacker之眼Nmap的原理及用法绕过防火墙扫描的简单方法TCP ACK Ping的主要内容,如果未能解决你的问题,请参考以下文章
hacker之眼Nmap的原理及用法(十五)TCP探针和端口选择
hacker之眼Nmap的原理及用法(十六)设计理想的探针组合
hacker之眼Nmap的原理及用法新的主题-Nmap中的主机发现控制选项
hacker之眼Nmap的原理及用法非常常用的控制选项(-PN)