2.2. 网络概念初探

未匹配的标注

网络概念

连接到网络的计算机大致可以分为两和类型:服务器和容户机。服务器是通常用于提供资源的那些系统,但与工作站不同,它们并未针对人类的直接使用进行优化。服务器可以提供诸如打印和传真、软件托管、文件存储和共享、消息传递、数据存储和检索、网络资源的完整访问控制等服务。另一种类型的系统(工作站或称为客户机)传统上也称为桌面机,并且通常有一个人类用户;利用它们与网络进行交互。传统上,我们认为工作站是台由主机、键盘、显示器、鼠标组成的台式机,或是一台具有集成的键盘、显示屏和触摸板的笔记本电脑,但随着平板电脑和其他移动计算平台的兴起,这一定义也发生了变化。

网络可按规模分为四个级别:

个人局域网(PAN)

这是一种相对很小的网络,覆盖范围通常不超过30英尺。一般而言,这种类型的网络是通过使用蓝牙无线技术创建的。

局域网(LAN)

这种级别的网络覆盖范围是一层楼或是一栋建筑物或办公室中的房间。它通常以快速以太网链路为特征。

城域网(MAN)

这种系统的设计用于覆盖一个城市规模的小区域。虽然此类方案需要花费一段建设时间才能正常工作,但一旦建立并配置完成就十分有效。

广域网(WAN)

最后,广域网是网络布局中的巨无霸,它依赖各种特殊技术,如微波、X光系统,甚至是手机。因为这种类型的网络建设需要大量资金和技术支持,所以它通常仅在大型组织和企业中存在。

在任何评估任务的环境中,都会包含一种或多种上述网络类型,如果没有其他类型,通常至少会有一个LAN。

OSI模型

开放系统互连(Open System Interconnection,OSI)模型对渗透测试工作很有价值。虽然OSI模型似乎相当陈旧而笨拙,但它是一种“必要之恶”,因此不包含该模型概述的网络或网络设备介绍都是不完整的。

OSI模型最初是在20世纪70年代作为一个所有的网络技术都将围绕其构建的统一模型设计的。早期的各种技术公司和标准委员会等网络业界参与者意识到:如果没有一套通用的规则和标准,未来的网络环境将会一团混乱。多年来OSI模型己有所改进,但其原始目的仍然基本没有改变。因此,其后的几代网络技术互操作性愈来愈好,也愈来愈成功。
虽然该模型现在看来似乎过于复杂,但是在后续关于攻击、防御和基础设施的讨论中确实有价值,因此应重点关注。该模型是一个通用框架,可以围绕其进行网络协议、软件和系统的设计。可以认为 OSI模型是一套一般性的指导原则,是一个可提高系统兼容性和逻辑流量的通用指南。从外行人角度来看,这意味着已经建立了一套所有人都同意遵循的共同的规则,而作为一名渗透测试者,这有助于你更好地了解网络运行机理。

在学习各层的功能时,请记住,在概念上这里按照数据的流向进行介绍。换言之,每层都连接到下一层。在后续的更高级数据分析中,将证明该概念具有参考价值。

OSI模型的各层级如下:

第1层/物理层

物理层由物理介质和构建网络基础设施的设备组成。它与实际的布线和连接(如连接器类型)有关。请注意,该层还包括光和射线,这将涉及诸如光纤和微波传输设备等介质。设备中则还包括集线器、调制解调器和中继器。

第2层/数据链路层

数据链路层用于确保传输数据准确无误。在这一层,数据包含在帧中。此层中包括了介质访问控制和链路建立等功能。此层包含基本协议,如本书重点关注的以太网802.3协议和Wi-Fi 的802.11协议。

第3层/网络层

网络层根据协议定义中的不同因素决定数据包的传输路径。该层中包括用于数据包路由的IP寻址机制。

第4层/传输层
传输层的关注对象正如其名,它确保数据的传输或发送成功。此层的功能包括错误检查操作以及保持数据消息的传输顺序等。

第5层/会话层

会话层识别不同网络实体之间己建立的系统会话。例如,当远程访问系统时,将创建一个计算机和远程系统之间的会话。会话层监视和控制这样的连接,从而允许建立多个独立连接,并可链接到多种不同资源。

第6层/表示层
表示层为下一个接收层提供其可以理解的数据的翻译。数据流量以接收者可以使用的格式“表示”,并可通过诸如SSL之类的协议进行加密。

第7层/应用层

应用层的功能是作为一个用户平台,系统内的用户和软件进程可以在其上运行并访问网络资源。日常使用的应用程序和软件套件都位于该层。

TCP/IP协议族

传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol, TCP/P)是一套网络协议族,使用其可在两合或多台主机间交换信息。该协议族最初开发用于美国国防部下属的国防数据网络(Deronse Data Network),而现在它己在全球被采用为网络标准。

虽然OSI模型没有直接孕育出TCP/IP协议,但有一个标准在设计人员脑海中的确为指导协议开发做了很大贡献。在将TCP/IP协议族与OSI模型进行比较时,很容易发现TCP/IP协议族的组件可映射到OSI模型的一个或多个层次。

传输连接协议(Transmission Connect Protocol, TCP)和用户数据报协议(User Datagram protocol, UDP)是该协议族的两个核心组件。基于其工作方式,TCP通常被视为一种面向连接的协议。在TCP/IP中,规则规定将从一个位置发送到另一个位置的信息分割成称为数据包(packet)的片段。这些数据包不仅包含一段原始传输数据,还包含一个数据包头和包尾,用于充当地址标签和信息描述符。TCP建立连接,然后验证每条消息(数据包),以确保数据包以正确的顺序到达其目标位置。为了实现这一目的,TCP使用了称为三次握手的机制。

三次握手是TCP用于两节点之问连接初始化的过程。它以一个SYN报文开始。SYN报文通过告知接收端(当然是通过TCP)另一个系统希望得到它的注意来启动握手过程,以传输信息。而后接收端系统利用SYN-ACK响应报文回复发送端系统。SYN-ACK响应报文是对原始SYN报文的接收的确认。在初始发送方接收到SYN-ACK后,会用ACK数据报文进行响应,以确认它己经接收到SYN-ACK并准备好通过TCP进行通信。

除了三次握手之外,TCP还为发送的每个数据包提供了序列号。这些序列号告诉接收端以何种顺产重新组合数据包以获得原始传输数据。现在无须过度关注序列号,后文中将对它们进行详细讲解。

与TCP不同,UDP几乎没有为确保信息到达目的地及其正确性提供保护措施。UDP协议基本上假设如果需要错误检查或确认,应该使用TCP协议,或者由应用程序自行处理错误检查和通信格式问题。

UDP被视为一种无状态(或无连接)协议。无状态意味者协议将每个信息请求视为该请求自身的独立事务。虽然这样做似乎 是资源密集型的,实际情况则恰恰相反,因为系统不再需要跟踪正在进行的会话,消耗的内存空间较少。

该协议族中的另一协议是互联网协议(Internet Protocol, IP)。IP协议负责数据包的格式化和寻址。IP协议和更高层的协议共同工作,例如上文所述负责在两点之间建立连接的TCP协议。

IP协议与邮局非常相像,它可以使用发件人和收件人的地址来寻址包裹(即这里的数据包)。由于将该信息印在数据包上,因此它可以由传输端发送到接收端,而无须由数据包考虑其间的链路。

TCP/IP位于第7层
  在OSI模型中,TCP/IP位于第7层(应用层)。软件应用程序使用应用层访问网络资源和服务。可将第7层想象为家中的电源插座。如果家电需要电力,只需要将其插入描座即可获得电源;如果不需要,则无须插入。软件应用程序与之类似。如果需要访问网络,它会“插入”第7层。如果不需要,则无须关心此问题。很多地方涉及第7层。
  一些服务运行在该层,当应用软什需要访问网络时可以使用这些服务。这些服务就是应用程序。例子之一是Web浏览器,如Google的Chrome。如果用户打开浏览器并访问网站,他们将使用位于此层的超文本传输协议 (Hypertext Transfer Protocol, HTTP)服务。如果使用电子邮件应用或其他软件包,即使协议不同,过程也同样如此。
  数十种不同的应用层协议支持此层的各种功能。其中最流行的一些包括HTTP、FTP、 SMTP、DHCP、NFS、Telnet、SNMP、POP3、NNTP和IRC等协议。

IP地址

IP地址是TCP/IP的一部分,它是分配给连接到IP网络的设备(也称为主机)的唯一数字地址。连接到网络的每台设备(例如合式计算机、 笔记本电脑、服务器、扫描仪、打印机、调制解调器、路由器、智能手机和平板电脑)均会被分配一个IP地址,并且通过IP网络传输的每个IP数据包均包含一个源IP地址和一个目的IP地址。一些IP地址的例子如下:
192.168.1.1
10.15.1.15
169.254.20.16
上述每一个地址都被认为是有效的IP地址,在各自的使用环境中均合法。IP协议有两个版本:IPv4和IPv6。我们主要关注IPv4,但这并不意味着读者无须学习Iv6。如果要从事在安全方面关注较少的IP职业,就需要在某个时候学习新的IP协议版本。

IP地址的格式

IP地址不只是看起来那样——这就是说,它们以所谓的点分十进制(dotted decimal)格式编写。该格式由小数点分隔的四组数字组成,如210.168.69.2。该地址表示主机在给定网络上的位置,其中部分地址表示网络,部分地址表示主机。

IP寻址系统(IPV4)使用一个32位数字,该数字被划分为网络和主机(客户端、服务器等)两段。主机部分可以进一步划分为子网。

下面介绍网络和主机的关系。首先,想象一个不使用 “网络-主机” 形式的地址:把它们想象成街道和门牌地址。单独知道街道或门牌地址本身并没有什么用——例如,“441号” 或“Mclnnis大道” 本身是无意义的。但是,“McInnis大道441号”则是一个特定的位置。IP地址也是同样的道理。

对于本书而言,在此将分析A、B、C三类网络。基于不同数字段的划分,IP地址可以是A类、B类或C类。使用最广泛的是C类。目前有超过两百万个C类地址正在使用,这些地址通常是批量分配给Internet服务提供商(ISP)。最少的是A类网络,它们是为政府机构和大型公司保留的。IP地址类别如图所示。

网络概念初探(未完成)

1. 公网和内网地址

并非所有IP地址都“生而平等”。公网IP地址是任意一个具备Internet 上唯一性的地址,而内网IP地址只需要在任意一个独立的网络中唯一即可。使用内网IP,可以向网络A中的计算机分配与网络B或是千千万万个其他网络中的计算机相同的IP地址。

2. 静态和动态IP

通常会为网络基础设施设备(如服务器、路由器和防火墙)分配永久的静态IP地址。客户机也可由网络管理员分配静态IP地址,但通常是由使用动态主机配置协议(DHCP)的软件为其自动分配临时动态IP地址。电缆/DSL调制解调器通常使用动态IP地址,每当调制解调器重启时,就会为其分配新的IP地址。

3. IP子网划分

接下来介绍划分子网。到目前为止,通过OSI七层模型和IP地址的简介,我们己经建立了相关基本概念。让我们深入网络层,学习I地址分配和子网划分。此处的目标是刷新你的记忆,让大脑思考回到网络设计及其底层的细微差别。为什么要划分子网?因为如果可以划分子网,即可锁定一个目标,从而知晓如何使用最有效的方式追寻该目标。在网络上漫无目的地逡巡不仅浪费时间和精力,也会增加曝光的可能性,而这并非滲透测试者所欲。

子网划分是将网络地址空间逻辑分解为逐级变小的子网的过程。在将地址空间分解成较小的子网时,要根据网络的需求确定网络和主机使用的位数。现在网络位数和主机位数由子网掩码操纵,如果具有子网掩码及其处理地址空间的相关用途的基础知识,就可以了解到为何仅靠知道几个IP地址,就可以提供有关一个组织网络如何布局的深入线索。例如,知道一个内部IP地址就可以让黑客了解公司的地址分配方案。

4.TCP/P端口

另一个需要讨论的问题是端口。端口允许计算机发送数据,同时按类别识别该数据。这意味着使用的每个常用端口都与某个特定协议或特定应用程序相对应。例如,通过21端口发送数据是向接收系统表明,其接收的该流量是FTP诸求,因为来自对应的端口。此外,由于识别了流量来源端口,来自最初所查询系统的响应最终可被正确处理。这同样适用于网络流量和邮件流量等。

为了帮助更好地理解端口以及端口与IP地址的关系,现在换个思考角度。IP地址和端口是共同使用的,两者通常以如下形式并用:

192.168.1.10:80

在本例中,冒号之前的部分是指某台特定的计算机,其后则是端口。二者组合在一起形成所谓的“套接字”。可将I地址想象为银行或ISP的电话号码,而端口则与电话分机相同。其公司可以有一个总机号码,其员工有一些分机,这就是端口的工作方式。一个系统可以有一个IP地址,其上关联了大量的端口。

这些端口及其相关协议利应用程序的知识对于扫描系统的特定漏洞非常重要。相关端口列表如下:

知名端口 他们是日常操作中最常见的端口,端口号范围为0~1023。读者应该已经熟悉这个范围中初始段的大部分端口号。应了解的端口列表如图所示。

网络概念初探(未完成)

注册端口 此类端口的端口号范围为1024~49150。注册端口是己由在用户当前权限之外运行的其他应用程序标识为可用的端口。例如端口1512,该端口用于支持WINS流量。下表中列出了有价值的注册端口。

网络概念初探(未完成)

动态端口 此类端口的范围为49152~65535。它们是可用于由应用程序发起的任何TCP或UDP请求的 “空闲”端口,它们用于支持尚末在注册端口范围内正式注册的应用程序流量。

网络设备

网络内部包含各种提供附加功能的设备或装置,例如控制流量等。本节将讨论现代网络中可能存在的常见网络设备。在此只是对这些设备做一个基本概述,在后续章节中将进一步细化说明。

1. 路由器

路由器的主要功能是根据网络地址将数据包转发到适当的位置。由于路由器在网络层转发流量,因此将其视为第3层设备。在讨论路由器时,也要讨论IP等协议,也就是讨论IP寻址机制。

路由器也用作不同类型网络间的网关。例如,两个网络(假设为两个不同的I段)需要通过路由器连接。或者可能的另一种情况是,互连的各个网络上使用的协议无法被另一个网络解析——例如IPv4与IPv6互连的情况。路由器为此类鸿沟架设桥梁,使得不同网络上的不同协议得以进行通信。

大多数现代路由器实现了所谓的网络地址转换(Network Address Translation, NAT)这是一种使多个内部网络客户端能够使用单个公网卫地址访问Internet的技术。路由器至少需要两个接口:一个用于Internet, 另一个用于内部网络。外部连接(或称公网侧)从ISP租用公网IP地址。路由器的内部连接到本地内部网,其中包含所有内部管理的资源。当内部客户端请求外部资源时,路由器接收该流量并将其发送到公共IP的公共端。此过程保护内部客户端的IP地址,并通过同一个公共IP转发所有出站请求。

2. 交换机

交换机根据目标计算机或设备的硬件/物理地址处理和传送数据。硬件地址也称为介质访问控制(vedia Access Control, MAC)地址,是在网卡(Vetwork Interface Card, NIC)制造时写入其中的永久性标识符。

MAC地址共48位,分为6对十六进制值,例如:
cO-cb-38-ad-2b-c4

MAC的前半部分指明网卡制造商,称为组织唯一标识(Organizationally Uniqueldentifer, OUI)因此在上面的例子中,c0-cb-38用于标识供应商,ad-26-c4用于标识设备或NIC本身。

现在我们不再继续纠缠这些细节。交换机被视为第2层设备,因为它们在第3层路由器功能的下一级运行。网络层包含所有I寻址操作;第2层严格地仅 处理MAC地址。第3层处理数据包,而第2层处理LAN的帧。

回到前面的主题,让我们讨论广播域和冲突域,因为在对网络进行调查时该概念会直接影响到你的一些操作。简而言之,广播域是一种环境,在该环境中通过线路发送的流量将广播到连接到沒网络的所有主机或节点。例如,ARP请求。

冲突域是其中流量可能与其他流量相冲突的网段。在冲突城中,发送的数据将不会广播到所有附加的节点,但可能与其他流量发生碰撞。

3. 代理服务器

你可能己经体验过代理服务器业务一你的工作场所的浏览器可 能必须直接指向一台代理服务器,才能访问外部资源(如网站)。实施这种解決方案有多种原因。应用代理服务器的好处之一是可以保护内部客户端系统。代理服务器作为内部网络客户端系统与Internet之间的中介,成为与外界联系的窗口。这样可以防止客户端系统直接与外部来源通信,从而降低了风险。另外,作为中间人,代理服务器具备保护其客户端的能力;换言之,代理可以按内容过滤流量。这意味着代理在应用层(第7层)运行。代理可以过滤流量请求并在一个相当详细的级别上验证合法流量,这对于较低级别的防火墙有很大的帮助。这样,当用户尝武浏览一个被阻止的站点时,如果代理中设置了阻止该请求的过滤器,请求将被彻底拒绝。代理还可通过缓存经常访问的站点和资源加快浏览速度。缓存站点可以直接提供给本地客户请求,这远快于从实际Web资源读取数据的速度。

4. 防火墙

下面继续介绍防火墙类设备,它们主要可分为两大类:

包过滤 包过滤防火墙基本上通过检查数据包头信息确定流量是否合法。它们使用基于头部的信息(例如IP地址和端口的判定规则)确定是允许还是拒绝数据包进入。

有状态包过滤 有状态防火墙根据发起流量的连接的 “状态”确定流量的合法性。例如,如果在客户端机器和Web服务器之间建立了一个合法连接,则有状态防火墙将参考该连接的状态表,以验证来自该连接的流量是否己经审查且合法。

5./IPS和IDS

对于任何渗透测试而言,入侵防御系统(Intrusion Prevention System, IPs)和入侵检测系统(Intrusion Detection System, IDS)都是重点关注对象,因为测试中会经常遇到它们。作为一名渗透测试者,需要考虑可能的所有设备。IPS和IDS是设置于网络中用于捕获网络访问活动的设备。首先让我们熟悉IPS和IDS的基础知识;如果知道其工作机理,也就能学习如何规避其防御。

IDS的工作目标是“检测”任何可疑网络活动,而不是对其进行响应。本质上IDS是被动的。用通俗的语言来说,这意味着有可疑的网络活动时,该设备将以通知管理员发生了问题的方式进行被动响应。尽管是被动的,使用此类设备的好处是它能够在不会对整个网络的运行产生负面影响的前提下,有效地捕捉可能的恶意网络活动。而其明显的缺点是,其能够做出的唯一响应是发出一条通知消息。另一方面,IPS则是主动和预防性的。IPS不仅可以感知网络上的潜在恶意活动,还可以采取措施防止进一步的损害,阻止进一步的攻击。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~