针对第二层到第四层的攻击

来源:互联网 发布:太空地图软件 编辑:程序博客网 时间:2024/04/26 02:51

一、链路层安全:

内部用户由于直接接入二层网络,拥有更多的可控制协议(包括二层网络协议),因而利用这些协议特性所造成的安全威胁也更加多样。在OSI模型的不同层次,标准化组织开发了各种安全协议,其中涉及认证、加密等,但是针对OSI二层—数据链路层的安全协议却较少。同时网络二层的安全普遍较少引起规划人员的注意,这就造成了网络二层成为网络安全中的薄弱环节。

1MAC泛洪

1.1 攻击

MAC洪泛是针对二层交换机发起的攻击,但主要目的是实现在交换网络环境下的嗅探(Sniffing)。当MAC帧通过交换机时,交换机会检查帧中的源MAC地址,并建立该MAC地址和端口的映射表,这张映射表存储于交换机的CAM(内容可寻址存储器)中。当进行帧转发时,交换机会查看该映射表,把MAC地址已知的帧转发到相应端口,只有MAC地址未知的帧才洪泛到所有端口。通过这样的转发行为,交换机有效地避免了在HUB环境下产生的嗅探攻击。

 

MAC洪泛中,攻击者发送源地址不断变化的MAC帧(携带虚假MAC地址),导致CAM溢出,这样交换机便不能再学习新的MAC地址。同时攻击者配合使用TCN BPDUSTP协议中宣布生成树拓扑变化的BPDU),加速已有真实MAC地址条目的老化,最终使CAM中完全充斥着虚假的MAC地址条目。经过交换机的数据帧因查不到相应的MAC条目,被洪泛到所有的端口。

 

通过MAC洪泛,攻击者把难以进行嗅探的交换环境演变成为可以进行嗅探的共享环境。

1.2 防御

Cisco交换机中启用Port Security,限制每个端口可以出现的MAC地址,可以抑制MAC洪泛攻击。

2. STP安全

2.1 攻击

STPSpanning Tree Protocol,生成树协议)是二层网络中普遍运行的协议,主要目的避免网络二层环路的存在。STP以根网桥(Root Bridge)为根,通过发送BPDUBridge Protocol Data Unit,网桥协议数据单元)来构建一个无环的树形拓扑。由于STP缺乏信息的验证机制,所以虚假的STP信息会造成严重的网络安全问题。

 

如图1所示,攻击者接入两台交换机,并使用拥有更小Bridge IDTCN BPDU宣告自己为根网桥。这样生成树拓扑发生变化,以攻击者为根,所有的流量不再经过交换机之间的链路,而是经过攻击者。这样攻击者便可以发动嗅探、会话劫持、中间人(Man In The Middle)等诸如此类的攻击。

2.2 防御

Cisco交换机中的BPDU Guard特性可以很好地解决针对STP的攻击。当端口上开BPDU Guard以后,交换机不接受从此接口上收到的BPDU。通常可以在PortFast端口上开启BPDU Guard,因为PortFast端口大部分只连接主机终端,不会产生BPDU。当交换机从开启BPDU Guard特性的端口上收到BPDU时,则会关闭该端口。

 

配置命令:

 

CatOS(enable)>setspantree porfast bpduguard enable       #PortFast端口上开启BPDU Guard特性

 

 

RootGuard特性使交换机不接受该端口上的根网桥BPDU宣告,防止攻击者宣告自己为根网桥。但是,攻击者通过精心选择Bridge ID,还是可以把流量进行通信定向。所以使用BPDU Guard是防止针对STP攻击的根本方法。

 

配置命令:

 

CatOS(enable)>setspantree guard root 1/4 #1/4端口上不接受根网桥BPDU宣告

 

 

3CDP安全

3.1 攻击

攻击者发动攻击之前,往往会通过各种手段搜集攻击目标的相关信息,以便发现安全漏洞。CDPCisco Discovery Protocol,思科发现协议)是Cisco网络环境下用来在相邻设备下交换设备相关信息的协议。这些信息包括设备的能力、运行IOS版本号等。攻击者可能通过IOS版本号得知该版本安全漏洞,并针对漏洞进行攻击。

3.2 防御

CDP在了解网络状况,进性故障排除时拥有一定作用,所以建议在连接终端用户的端口上关闭CDP协议(如图2所示)。如果有需要,可以彻底地关闭网络中的CDP协议。

配置命令:

 

Switch(config-if)#nocdp enable                       #在接口上停止运行CDP

Switch(config)#nocdp running                         #在设备上关闭CDP协议

 

 

4. VTP安全

4.1 攻击

VTPVLAN Trunk Protocol,VLAN中继协议)通过处于VTP Server模式的交换机发送VTP信息,达到在交换机之间共享VLAN数据库的目的,从而减少VLAN配置工作量。如果攻击者伪造VTP信息,删除VTP域中的所有VLAN,则导致以前划入VLAN的接口关闭,产生DoS攻击。

4.2 防御

通过在VTP域中设置Password则可以有效防止VTP信息的伪造。Password可以在VTP信息加入MD5认证信息,使VTP信息伪造变得困难。

 

配置命令:

 

CatOS(enable)>setvtp domain vtpdomain mode server passwd XXX    #设置VTP域的认证Password

 

5. VLAN安全

1.攻击

VLAN把网络分割成为多个广播域,使VLAN间的访问要经过三层设备(路由器、三层交换机),通过在三层设备上放置ACL就能达到很好的访问安全性。但是通过使用特殊的方法仍然能够达到VLAN跳转,对VLAN安全产生极大的威胁。

 

VLAN跳转利用了交换机默认不安全的配置。在交换机上,端口使用DTPDynamic Trunk Protocol)协议和对端口进行端口类型协商,决定端口处于Access还是Trunk状态。如果一台主机扮演交换机角色和交换机的端口协商成为Trunk,那么该主机将能够访问到所有的VLAN

2.防御

解决基本VLAN跳转方法是关闭DTP协商,或者把接入端口置为Access状态。

 

配置命令:

 

CatOS(enable)>settrunk 1/1 off                         #关闭DTP协议

Switch(config-if)#switchportmode access                #把端口置于Access状态

 

 

6. ARP安全

1.攻击

ARPAddress ResolutionProtocol)是把IP地址映射为MAC地址的协议。因为ARP没有IP所有权的概念,即MAC地址和IP地址是分离的,意味着一个MAC地址都可能扮演任意一个MAC地址。通过ARP欺骗,可以发动多种攻击。

如图3所示,主机192.168.1.25发送伪造ARP信息,向路由器宣告192.168.1.34MAC地址为11-22-33-44-55-66,造成路由器ARP表错误,这样路由器到192.168.1.34的信息被发往不存在的MAC地址。

 

ARP重定向比ARP欺骗更近一步,不仅造成被攻击主机不能访问网络,还可以造成主机信息被嗅探。如图4所示,192.168.1.25向路由器宣告192.168.1.34MAC地址为00-0f-3d-82-bc-7e192.168.1.25MAC),这造成路由器发往192.168.1.34的信息被定向到00-0f-3d-82-bc-7e192.168.1.25),在这里信息遭到嗅探或者修改。

 

2.防御

不管是ARP欺骗还是ARP重定向,都是以伪造ARP应答为基础的。通过绑定IPMAC可以有效地避免ARP欺骗。Catalyst交换机拥有ARP检查特性(ARP ACL),过滤不符合IPMAC绑定规则的ARP应答。ARP ACLACL相似,同样为显式允许隐式拒绝。网络中主机较多时,配置ARP ACL的工作量较大。

 

配置命令:

 

CatOS(enable)>setsecurity acl ip acl-95 permit arp-inspection host 192.168.1.2500-0f-3d-82-bc-7e

#绑定IPMAC

CatOS(enable)>setsecurity acl ip acl-95 permit arp-inspection host 192.168.1.3400-0f-3d-82-bc-7f

 

 

要保持ARP欺骗的有效性,需要持续不断地发送伪造ARP应答。通过限制接口上的ARP应答数量,达到一定阈值时丢弃ARP应答或者关闭接口,可以抑制ARP欺骗。

 

CatOS(enable)#setport arp-inspection 1/1 drop-threshold 10 shutdown-threshold 20

#10ARP应答时丢弃ARP20ARP应答时关闭接口

 

 

7. DHCP安全

1.攻击

DHCPDynamic Host ConfigurationProtocol)通过DHCP服务器分配给客户机IP地址、网关等配置信息。通过在网络上引入一台未经授权的DHCP服务器,可能为客户机分配错误的IP地址,导致客户机不能访问网络。如果未授权DHCP服务器分给恶意DNS,造成客户访问到虚假的服务器;如果是恶意的网关,则导致用户信息有可能被嗅探或者修改。

 

2.防御

在交换机上配置DHCP窥探(DHCP Snooping),允许信任端口连接的主机发送DHCP应答,非信任端口则不允许DHCP应答。

 

配置命令:

 

Switch(config)#ipdhcp snooping    #开启DHCP窥探

Switch(config)#ipdhcp

snoopingvlan 2         #vlan2中开启DHCP窥探

Switch(config-if)#ipdhcp snooping trust   #定义DHCP信任端口

 

 

以上我们介绍了网络二层可能出现的安全问题及其防范方法。下面我们将来探讨两种加强网络二层安全的措施PVLANPrivate VLAN)。

 

8. PVLAN

 

PVLAN通过把处于VLAN中端口分割成为具有相同子网地址的隔离端口来增强网络的安全性。使用PVLAN隔离端口不必划分IP网段,大大节省了IP地址。由于这些特点,PVLAN广泛应用于小区宽带接入和DMZ区服务器接入。

 

PVLAN的端口分为三种:孤立端口(Isolated Port)、混杂端口(Promiscuous Port)和团体端口(Community Port)。独立端口只能和混杂端口通信,连接不和子网内主机通信的主机;混杂端口能和任何端口通信,通常连接上层设备的端口;团体端口之间可以通信,也可以和混杂端口通信,连接和一部分子网主机通信的主机。

 

配置命令:

 

CatOS(enable)>setvlan10 pvlanprimary   #设置vlan10为主vlan

CatOS(enable)>setvlan 100

pvlanisolated            #设置vlan100为孤立vlan

CatOS(enable)>setvlan 101

pvlancommunity         #设置vlan101为团体vlan

CatOS(enable)>setvlan 10 100 3/13

#捆绑从vlan100到主vlan10,并分配端口

CatOS(enable)>setvlan 10 101 3/2-12

#绑定vlan101到主vlan10,并分配端口

CatOS(enable)>setvlan 10 100 mapping 3/1    #设定3/1vlan100的混杂端口

CatOS(enable)>stevlan 10 101 mapping 3/1   #设定3/1vlan101混杂端口

 

 

发生在网络二层的安全威胁都需要攻击者直接接入网络,所以要保证网络安全,除了使用各种措施以外,对用户的安全教育和监管也必不可少。

 

二、网络层攻击

1. IP攻击

IP采用尽力而为的报文分发机制,它提供无连接的服务。攻击者可以利用IP头中的一些域进行攻击。从IP头中可以看出,IP地址很容易伪造,这是最为基本的攻击方法,IP地址伪造可以帮助攻击者避免在发起DoS攻击时被对方检测到,同时它还能够帮助攻击者破坏两个系统之间的信任关系。

 

1.1嗅探与欺骗

嗅探和欺骗是网络层攻击的基本方法。

分为两种,一种是本地欺骗,当攻击者和被攻击者处于同一子网时,会产生这种攻击,这是一种比较简单的攻击方法,攻击者能够在网络上进行嗅探,发现其中的关键信息,进而发起攻击。这些都有助于攻击者发起高层攻击,如破坏数据流、地址伪造、在报文中注入序列号等,从而使攻击者获取对通信会话的控制权。

第二种是随机欺骗,这种攻击比较复杂,攻击者与被攻击者不在同一子网中,很多成功攻击所需要的信息都无法获取,关键参数只能靠猜测,并且现代操作系统所产生的随机数中,01分布更加均匀,尽管发起这类攻击仍然有可能成功,但是其极盛时期已经过去。

1.2 IP分片攻击

该攻击利用了这样一个事实:并不是所有网络的MTU都相同。例如,以太网的MTU一般是1500个字节,而DSLMTU一般是1472个字节。因此,分片对于保证数据的成功传输十分重要。如果路由器、防火墙、IDS系统不充分地考虑分片安全问题,那么整个问题就会更加复杂。攻击者利用这种处理上的缺陷来隐藏或者躲避检测

一种方法是插入攻击(insertion attack,攻击者向IDS和目标设备发送报文,这些报文被IDS接受,但是被目标设备拒绝。规避攻击(evasion attack在向IDS和目标设备发送报文时,报文能够被目标设备接受,但是被IDS拒绝。这两种攻击的基本思想是向不同的设备发送不同的数据流。

规避攻击的例子:假设报文有两个分片,IDS处理分片的超时时间是15秒,而目标设备处理分片的超时时间是30秒。攻击者发送第一个分片,等待一段时间(15 < 等待时间 < 30秒),然后再发送第二个分片。由于IDS丢弃了第一个分片,因此,它也会丢弃第二个分片,IDS对此毫无记录,而攻击则到达了目标设备,借此,攻击者规避了IDS的检测。

攻击者可以利用的另外一种攻击方法是分片重叠,以躲避IDS和防火墙的检测,其依据是不同系统在重组分片时,对重复收到的同一分片处理方式不同,例如,Windows倾向于使用原始分片,收到的重复分片可能会被丢弃,而Cisco的路由器则倾向于使用新分片,重复收到的新分片会替代原始分片。一个简单的例子:假定报文有三个分片,攻击者首先发送第1个和第2个分片,然后再发送第2个和第3个分片,但是这次发送的第2个分片其数据与首次发送的第2个分片有所不同,这样一来,Cisco路由器和Windows所重组出的报文内容就会不同,如果一个中含有攻击内容,一个不含攻击内容,那么Cisco路由器就会和Windows主机得到不同的结果。

攻击者还可以利用分片辅助发起拒绝服务攻击Teardrop攻击就是一个例子。攻击者修改两个分片的offset值,使两个分片有所重叠,系统不知如何处理,从而导致接收系统崩溃、死锁,引发拒绝服务攻击。受这类攻击影响的系统有:windows3.Xwindows 95windows NT,以及Linux 2.0.32Linux 2.1.63

 

1.3 被动特征检测

其依据是不同的操作系统在格式化报文头和传输信息时,有一定的差异,攻击者利用这些信息不仅可以检测出操作系统,甚至还可以检测出操作系统的版本。

这种检测主要分为两种:主动特征检测和被动特征检测

主动特征检测可以追溯到20世纪90年代中期,第一个执行这类攻击的程序是Queso,它发送不符合协议规范的TCP报文,不同系统对这类报文的响应也不同,不过自2000年以来,Queso都不再更新,目前类似的工具有NmapXprobeScanrand

被动特征检测与主动特征检测类似,不过它不需要向网络中注入报文,SiphonEttercap p0f等都借助了该技术。它主要通过对以下四个域的观察获取信息:

l        TTL

l        不分片标志位

l        服务类型

l        窗口大小

 

操作系统

版本

TTL

DF

服务类型

窗口大小

HP JetDirect

Printer

59

off

0

2100-2150

Windows

2000/XP/2003

128

on

0

变长

FreeBSD

3.X

64

on

16

17520

Solaris

2

255

on

0

8760

TTL:基于两个事实:不同操作系统的初始TTL值不同,以及报文传输所经历的跳数一般在15-30之间。

DF标志和服务类型DF标志是系统检测PMTU的常用方法,很多老操作系统不支持这种方法,因此,这是一种检测OS特征的方法。由于TOS域经常不用,因此,开发者认为随便设值无关紧要,或者用于表征特殊属性。例如Nmap的创始者Fyodor指出,Linux 2.4版本的内核在返回ICMP端口不可达消息时,将TOS设为12

窗口大小:人们对窗口大小的设置有两种看法,一种认为它应当接近于MTU,一种则认为应当是MTU的倍数。如上表所示。

上面四个是最为常用的属性,当前最为流行的被动特征检测工具是p0f,它观察以下域:

l        TTL

l        不分片标志位

l        SYN报文大小

l        TCP选项,如窗口扩展或者MSS

l        TCP窗口大小

1.4 IP端口扫描

就是所谓的idle scan,它能够以较低的风险来发现开放端口和服务。其方法是利用IP头中的IPID域(在重组IP分片报文中有用),其依据是IPID域会在发出一个报文后,加1

攻击场景如上图所示。

开放端口在经过IPID探测后,其IPID会加2;非开放端口仅加1

Idlescan攻击有一些缺陷。第一,空闲主机必须真正空闲;第二,并非所有操作系统在使用IPID时,都采用递增的方法;第三,结果是否有效还需验证。

2. ICMP攻击

ICMP可以用来发现网络中的错误,进行诊断,但是也存在一些可供攻击者利用的漏洞。

2.1 隐蔽通道

所谓隐蔽通道是指采用一种非预期的方式来传输信息。IPTCPUDPICMP都可以用来发起隐蔽通道攻击。密码学实际上就可以看做是一种隐蔽通道。典型的示例是pingLinux允许用户自己在ping中添加数据,如

 

[root@localhost root]# ping –p2b2b2b415448300 192.168.123.101

 

通过抓包软件,就可以看出解析出来的值是+++ATH0,这实际上是一个modem的命令,它的ASCII表示就是2b2b2b415448300,这是针对老式调制解调器的挂断攻击,即使该字符串处于IP报文中, modem也会解析该报文,并断开连接。

Loki攻击1996年开发)使用ICMP协议进行通信。Loki将数据放在ICMP头信息后面,这样的攻击可以通过一个隐蔽的通道与远程系统进行数据交换。其他一些隐蔽通道攻击工具还包括:

l        ICMP后门:与Loki不同,ICMP后门程序将数据放于ping应答报文中,不过其副作用是所产生的ping报文非常短,系统可能并不会把其当作是真正的ICMP报文,因此,一些IDS系统可以轻易地检测到该后门工具。ICMP后门程序包括客户端和服务器程序,客户端注入到已分离后台程序的shell环境中,能够执行一些命令和简单的缓冲I/O,但是不具备终端功能,无法完成如改变目录、运行man命令的简单任务。

l        007Shell:开发于1998年,对以前的工作进行了改善。该工具分为两部分,一个可重用通道库和一个shell前台终端,同样的程序既可以当服务器也可以当客户端运行,具备shell的全部功能。该工具利用的也是ping应答报文,不过它将每个报文分成64个字节大小,使其看起来象正常的ping报文,穿过防火墙而没有任何日志记录。不过该工具没有做任何自我隐藏方面的工作,数据传输也采用明文方式,很容易被检测。

l        B0CK:该程序和007Shell一样,都是意大利人开发的,B0CK的作者vecna认为,利用ICMP的方法,会被越来越多的边界过滤器发现和记录,并且持续且主动的ping应答,很容易被人怀疑,并且源地址无法伪造,很容易被回溯,他认为,IGMP被阻塞的可能要小得多。它将来自客户端或者服务器的每行输出以4个字节为单位进行分组,这样看起来象是输入IGMP报文的源地址,不过也导致服务器不能正确应答,因此,客户端还需要向服务器发送命令,使其能够知晓真实的源地址。当然,也存在一些问题,尽管IP报文的协议域写的是IGMP,但是其实并不包含IGMP头,20个字节的IP头后面填充的是124个字节的零,因此,看起来是过时的类型0 IGMP报文(校验和错误),很容易被检测到。并且现在越来越多的过滤设备禁止源地址伪造的报文通过边界。

2.2 ICMP回显攻击

回显攻击采用ping泛洪攻击目标,使其耗尽带宽。Smurf就是一个典型的例子,Smurf伪造ping的源地址,发送广播报文,而所伪造的源地址则成为受攻击者,在开放的环境中,大部分系统都会对此地址做出应答,其结果是,受攻击者接收到大量的ping应答报文。2002年,针对核心DNS服务器发起了该类型的攻击。由于13个根DNS中,12个都使能了ping,这类拒绝服务攻击可以降低主DNS服务器的处理速度。

2.3 端口扫描

ICMP也可以用来发现特定系统所打开的端口。对于服务而言,它不会做出任何响应,但是,攻击者能够利用ICMP消息来判断端口是否关闭。例如,UDP 53DNS查询服务的端口,如果该端口打开,那么发送给该端口的报文不会得到任何响应,但是如果关闭,那么将返回一个ICMP消息(类型3,代码3),以表明该端口处于关闭状态。对于给定范围的端口而言,利用类型3代码3ICMP消息,可以判断出哪些端口打开,哪些端口关闭。

2.4 OS特征检测

ICMP消息不仅可以用于识别开放端口,也可用来识别目标系统的OS,获取这一信息十分重要,攻击者可以据此判断出攻击目标的平台特性。例如,假定已经识别了目标平台上的Microsoft IIS服务,但是,该漏洞只能从Windows XP系统上发起,而在2003 server上则无任何帮助。这是一种主动特征检测方法。

通过向目标系统发送一系列的正常、非常见、错误ICMP查询消息,根据应答可以判断出OS

 

例如,用ICMP的地址掩码请求来探测SUN操作系统,对于ICMP地址掩码请求,只有少数操作系统会产生相应的应答,这些系统包括ULTRIXOpenVMS, Windows 95/98/98 SE/ME,NT below SP 4, SUN Solaris机器。但SUN对分片ICMP地址掩码请求的应答同其他操作系统不相同,这样就可以来识别SUN主机操作系统。

详细方法参考Fyodor Ofir的相关著作。

2.5 DoS攻击和重定向

ICMP提供了一种单向不需认证的服务,因此,可以用来发起各种拒绝服务攻击。

l        一种方法是主动发送时间超时消息,以使目标主机断开连接。

l        攻击者可能发送ICMP重定向消息,网关使用重定向消息来获取更好的路径。

l        另外一种拒绝服务攻击是ping死,攻击者发送大量的非法分片报文,目标系统重组分片时,容易引发老操作系统的缓冲区溢出。Teardrop DoS攻击与ping死有所不同,但是结果相同,都是利用IP协议。Teardrop发送畸形报文,产生重叠的分片,目标机不知如何处理这类分片,从而引发系统崩溃。Ping泛洪可以发起ping广播风暴,从而导致目标系统过载,无法响应合法的数据流。

l        另外一种ICMP拒绝服务攻击是ICMPNuke攻击,向目标系统发送大量目标地址不可达的消息,从而导致目标系统终止当前连接。

 

3. 路由器和路由攻击

 

 

三、传输层安全

传输层最为重要的就是端口信息,根据端口信息,攻击者可以判断出系统所打开的服务,然后根据这些服务所存在的漏洞来发起有效攻击。

针对端口的分布式拒绝服务(DDOS)攻击越来越收到人们的重视。

1. SYN泛洪

SYN泛洪利用了系统在处理新建TCP会话过程中所存在的漏洞。当接收到一个带有SYN标志的TCP分段时,主机会分配一些缓冲区,并构造控制块以记录该连接的状态,留出必要的内存资源,同时,主机发回ACK-SYN报文,但是,攻击者不会发出ACK应答。

这将导致连接处于一种悬而未决的状态,受攻击系统则认为前一SYN-ACK报文丢失,或者是在传输中被破坏,因而重传ACK-SYN报文。如果攻击者发送大量这样的SYN报文,那么将导致受攻击系统的资源耗尽,从而无法处理新的连接请求。

2. RST攻击

在该攻击中,攻击者发送带有RST标志的报文,接收者立即拆除连接,而不会理会另外一端的情况。

3. TCP 连接劫持

也被称为中间人攻击。攻击者可以利用这种攻击在两台主机之间进行正常的验证,然后夺取该连接的控制权。有两种方法可以做到这一点:其一是在 TCP 三向握手过程中,另一个是在连接建立的过程之中。连接劫持利用 TCP 通信中的同步破坏状态进行攻击。当两台主机间的同步遭到足够破坏的时候,它们会丢弃(忽略)对方的数据包。然后攻击者就可以插入拥有正确顺序号的伪造数据包(还可能修改或在通信中增加命令)。要做到这一点,攻击者必须处于这两台主机的通信路径上,这样他就可以进行窃听,以便复制被发送的数据包。

4. 端口扫描

端口扫描就是向给定IP地址的某些端口发送TCP分段或者UDP数据报,根据应答来判断远程主机端口是否打开,当然,即使没有应答,也可以获取一定的信息。

主机上共有65535个端口,逐个扫描其实并不耗时,10Mbps的以太网上,扫描全部端口平均只需7分钟。不过扫描全部端口既无必要,也容易被检测到,因此,攻击者通常仅扫描部分端口,事实上,只扫描小于1024的端口,就足以发现常见的系统和网络服务,不过,1024以上的端口也有一些常用的服务,如web服务器或者代理的端口通常是8080,而RADIUS服务器的端口则是1812。所以,如果攻击者期望以较高的成功率来发现一些漏洞,那么就有必要扫描一些大于1024的端口。

TCP端口扫描变种

TCP端口扫描有多种方法,最简单的方法是尝试使用三步握手机制来建立一个TCP会话,不过在最后一步发送的是带有RST标志的报文。

不过也存在其他方法,下面以Nmap, Amap, and Scanrand为例来介绍。

Nmap

NMAP有几大特点:

1.内网探测采用的是ARP报文,而非ICMP报文

2.远程主机探测采用ICMP回显请求与带有ACK标志的TCP分段交替发送方式。

Nmap实现了多种端口扫描功能,比较强大。

端口扫描最为困难的一点是穿透防火墙。

Amap

扫描的另外一个问题是识别非标准端口上的服务和应用。端口扫描能够发现端口是否打开,但是,如何判断该端口上所运行的服务?Amap实现了这样的功能,它试图识别端口上所运行的应用服务。Amap可以配合Nmap来进行扫描,Amap甚至可以Nmap的输出日志为输入,来判断应用类型

Scanrand

Scanrand也是一种强大的TCP端口扫描器,不过多年已经没有更新,它随机化所探测端口的序列号,从而有助于避免检测。

 

5. 操作系统特征检测

攻击者在发现网络后,首先发现网络中的系统,然后发现其中的应用和服务,接下来则需要了解运行这些应用和服务的操作系统。有些漏洞与操作系统密切相关,因此,攻击者对操作系统了解越多,那么就越容易成功发起攻击。所以,操作系统特征识别非常重要。

基本原理

操作系统特征识别可以采用两种方式:主动方式和被动方式。

主动方式需要与目标进行交互,发送一些探测消息,操作系统在处理这类操作系统上往往会有所不同,探测者可以根据应答来猜测目标的操作系统。使用该方式的工具和产品已日渐成熟。

被动方式则不与目标交互,通过被动地检测网络流量来分析目标的操作系统。

被动方式因为比较隐蔽,对网络流量的影响较小,因此,更受欢迎。

Xprobe2

Xprobe2采用模糊匹配的方法来识别操作系统特征,有多次匹配产生时,Xprobe2就会发出警报。

利用Nmap进行操作系统特征识别

 

6. UDP 淹没攻击

UDP是一种无连接的协议,而且它不需要用任何程序建立连接来传输数据。当攻击者随机地向受害系统的端口发送 UDP 数据包的时候,就可能发生了 UDP 淹没攻击。当受害系统接收到一个 UDP 数据包的时候,它会确定目的端口正在等待中的应用程序。当它发现该端口中并不存在正在等待的应用程序,它就会产生一个目的地址无法连接的 ICMP 数据包发送给该伪造的源地址。如果向受害者计算机端口发送了足够多的 UDP 数据包的时候,整个系统就会瘫痪。

 

原创粉丝点击