TCP空闲扫描原理

来源:互联网 发布:代言宝无水印版源码 编辑:程序博客网 时间:2024/06/02 11:42

TCP空闲扫描是一种隐秘的扫描技术,要知道它的原理,首先要介绍一下一般端口扫描的原理。

判断一个TCP端口是否开放,其中一种方法是向该端口发送一个 SYN(建立会话) 数据包,如果该端口是开放的,则它会返回一个 SYN/ACK(会话确认) 数据包;如果该端口是关闭的,则它返回 RST(重置) 数据包;如果端口是被过滤状态,则它什么都不返回。一般来说我们通过这种方法判断扫描的主机端口是否开放。

还需要另一个背景知识:互联网上的每个IP数据包都有一个分段身份识别号(IP ID)。许多操作系统只是简单的把该识别号递增,因此分析最后一次的IPID就可以告诉攻击者已经此主机发送了多少数据包。

现在我们想象:已知一台主机 Z ,他是空闲的,不在网络上与其他主机进行网络通信。我们直接向他发送一个 SYN/ACK 包。因为他没有向我们发送过 SYN 包,所以接受到 SYN/ACK 包之后不知道我们是什么意思,就回给我们一个 RST 包,包里会附有 IP ID,就假设是31337吧。

现在我们制作一个IP地址伪装成主机 Z 的 SYN 数据包,将它发送到要扫描的真实主机 T 的某个端口(为方便描述,我们假设想扫描 T 的 21 号端口)。注意,这个包是我们发送的,主机 Z 并不知道有人假装它发送了数据包,它的 IP ID 不会受到影响。然后我们等一会,再向主机 Z 发送一个 SYN/ACK 的数据包,Z 会返回一个 RST ,我们查看里面的 IP ID。

要分析此时得到的 IP ID 可能是多少,就要先分析我们发送了伪造的数据包后发生了什么。

可想而知,根据主机 T 的 21 号端口的状态,可能有三种情况发生:

  1. 21 端口打开
    这种情况下主机 T 收到我们的 SYN 包,由于 21 端口开放,他要返回一个 SYN/ACK。它查看 SYN 包里的来源 IP,那里写着的是 Z 的 IP 地址,于是它向主机 Z 发送了一个 SYN/ACK 包。主机 Z 接到这个包之后就傻了,它心想我没想连接你的 21 端口啊,然后 Z 发送了一个 RST 给 T, Z T 之间通讯结束。
    注意加粗的部分,Z 主动发送一个 RST 包的时候,IP ID 需要加一,这个包里的 IP ID 为 31338。所以我们接受到的那个 RST 包的 IP ID 就会是 31339。
    idle-scan-open.png
    idle-scan-open.png
  2. 21 端口关闭
    这种情况下主机 T 机收到我们的 SYN 包,由于他没开这个端口,所以准备返回一个 RST 包。和 1 中情形类似,他把这个 RST 包发给了 Z 。Z 不明所以,就没管。
    因为这个过程中 Z 没有发送任何数据包,所以我们接受收到来自 Z 的 RST 包中的 IP ID 会是31338。
    idle-scan-cloesd.png
    idle-scan-cloesd.png
  3. 21端口被过滤
    这种情况呢 T 收到 SYN 之后,会直接无视这个包。同情况2,我们接受到的来自 Z 的 RST 包中的 IP ID 会是 31338。
    idle-scan-filtered
    idle-scan-filtered
    综上所述:
21 端口状态收到的 RST 包中的 IP IDOPEN31339 (+2)CLOSED31338 (+1)FILTERED31338 (+1)

所以通过检查收到的 RST 包中的 IP ID,就可以判断我们需要探查的主机的特定端口是否开启。

这种扫描的好处就是,被扫描主机 T 并不知道我们在扫描他,T 并不知道我们的真实 IP。缺点是速度慢而且并不能判断端口到底是关闭还是被过滤。

但是这种扫描还可能反映出主机间的信任关系。

想象以下情况:老板让网络管理员在防火墙上打开一个端口,以便他可以使用家里的 IP 地址来访问公司内部的网络资源。这经常发生在高管不想或不会用 VPN (或类似产品)的情况下。

空闲扫描有时候能够映射出这种信任关系。因为空闲扫描列出的开放端口是相对于僵尸主机而言。若对上述数据库服务器进行一次常规的扫描,可能显示未开放任何端口,但是使用老板家里主机的 IP 作为僵尸主机,进行空闲扫描却显示该数据库相关的服务端口是开放的,由此可以断定他们之间存在信任关系。

若能映射出他们之间的信任关系,将对攻击者非常有用,可以优先把它当成攻击目标。如果不能注意到连带的数据库访问,那么上述讨论的僵尸主机对于攻击者而言就是一个非常普通服务器。



作者:椋鸟
链接:http://www.jianshu.com/p/b67955427926
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原创粉丝点击