文/龙鹏
目前很多管理系统的登录密码在网络中采用了明文方式传送,存在易被窃听的缺点。文中对目前交换式以太网环境下的网络窃听技术进行了较为详细的讨论,分析了这些技术对网络安全特别是对密码安全的冲击,最后以UNIX 平台管理系统为例进行攻击演示,最后给出了相应的对策。
摘 要
数据帧的广播和网卡的监听模式对其它端口间的数据流进行侦听。但是,交换式以太网是为解决带宽和网络使用效率问题而出现的,在网络安全方面并未采取更严格的控制手段,仍然留下了一些漏洞可利用。目前,在交换式以太网条件下进行嗅探的方法主要有如下几种。
2.1 ARP改向的“中间人”嗅探方法利用ARP 协议的漏洞,采用ARP 欺骗技术,改变了AB 主机的所发出的数据帧内部目的地址(MAC 地址),使原本由A 发往B 的数据包改成由A 发往X 再由X 发往B,这样,“中间人”X 嗅探主机既有效地隐藏了自己,同时又嗅探了数据。这种方法具体又分为两种。
(1)主机X 伪装成主机B 向主机A 发出ARP 请求包,将其中发送节点的信息修改为B 的IP 地址,X 的MAC 地址,则A 修改自己的ARP 表中主机B 的地址对为<IPB—MACX>;同理将主机B 所维护的ARP 表中主机A 对应的地址对修改为<IPA —MACX>,从而完成ARP 改向,X 成为主机A 和主机B之间 的“中间人”。
(2) 主机X 直接向主机A 发出ARP 响应包,修改数据包中 发送节点的地址为B 的IP地址,X 的MAC 地址,促使主机A 修改自己的ARP 表;同理修改主机B 的ARP 表,完成ARP 改向的设置,X 成为A、B 之间的“中间人”。
2.2 修改MAC地址方法
在多数情况下,改变网卡的MAC 地址是可行的,这也可以利用为在交换环境下网络嗅探手段。常用的改变MAC 地址的方法有:在windows 中对网卡进行设置、修改注册表(Windows)、利用ifconfig 命令 (Unix/Linux) 直接进行设置等。嗅探者只需把所在主机的网卡MAC 地址配置成与目标主机相同,就可以以目标主机的身份发送数据包。交换机收到嗅探者发出的这些数据包后,其" 自学习" 功能将自动修改内部的端口/MAC 地址对应表中的相关条目,之后,源主机发送给目的主机的数据包将会被错误地发送到嗅探主机所在的端口。
.3 攻击交换机内存方法
为在各端口间建立按需建立所需的点对点直连,交换机需要开辟一定的内存空间来存放端口/MAC 地址对应表。交换机工作时正是通过查表来决定将数据包发往哪个端口。交换机内存放该表的内存空间的大小是有限的,在耗尽了这块内存后,由于无法正常进行数据包的交换,有些交换机会为了能够保证网络能够继续工作而退回到类似集线器的工作状态。
2.4 交换机端口镜像
端口镜像(Port Mirroring) 是交换机内部所具有的一项辅助功能,主要是为了网络管理的方便,用于动态监控用户的通信信息。
3 UNIX系统登录密码的窃听实现网络窃听对网络的危害是不容忽视的,通过对数据包的截获和分析,网络窃听程序几乎可以得到所有的敏感信息。窃取其它用户的电子邮件内容、偷听通信软件的对话、截取各种应用层的明文口令等等。
3.1 窃听UNIX系统root帐号与口令
UNIX 系统中root 帐号为最高用户权限。ILAS 系统是基于UNIX 操作系统的B/S 结构的管理系统。窃听root 用户口令,将可以直接读取服务器内所有数据和文件,将可以肆意删除破坏服务器的内容,对图书馆的网络安全和系统安全都形成了威胁。表1 中截取的数据包的头部显示了登录者使用的电脑的IP 地址:192.168.48.88,服务器的IP 地址:192.168.48.11,服务类型:FTP,连接端口是21。其中报文中数据由于没有加密,而是直接在网络上传送,很容易破译为如下表2 所示字符:从帧数据破译得到USER 为root, PASS为99\yAnyAn。ILAS 系统的服务器端是基于SCO UNIX 系统的。root 是UNIX 的系统管理员,拥有最高权限。root 口令的破译是非常危险的。许多ILAS 系统管理员为了图方便,常常用root 用户进行远程登录,进行查看进程,自动数据备份等操作,没有认识到有可能被侦听和破译。
3.2 窃听系统管理员的用户帐号与口令一般而言,系统管理员具有最高系统管理权限,能管理所有的ILAS 用户的工作和设备权限以及处理所有数据的权限。下面按照网络中ILAS 口令数据包的捕获、分析和破译的步骤来具体说明如何对图书馆管理系统ILAS 的登录密码进行网络嗅探。
Switch#config
Switch(config)# no monitor session 1
Switch(config)# monitor session 1 source
interface fastEthernet 1/1 both
Swi t ch( conf ig)# moni tor s e s s ion 1
destination interface fastEthernet 1/2
Switch(config)# write
Switch(config)# exit
上述配置命令设置了:同时监控输入和输出帧;设置端口1 的帧影射到端口2。ILAS服务器连在1 号端口,侦听主机连在2 号端口。选择早上八点左右的登录高峰期,运行嗅探程序,设置参数——目标地址为ILAS 服务器的IP,端口为27088, 协议为TCP。开始对网络中所有发送给ILAS 服务器数据包进行侦听,得到大量的数据包。
下面来剖析某管理信息系统的登录数据帧,主要分析数据帧的结构。如表三所示的登录帧由40 个头部字节和46 个报文字节共86 个构成。40 字节的头部长度是不变的,而报文长度根据密码的大小和目录的不同而有不同。头部信息中可知:包是从客户端(192.168.48.68)发送给服务器(192.168.48.11)的,TCP 连接是通过27088号端口进行的,27088 正是ILAS 的独特端口。生存时间为128,说明发送方的操作系统是WINDOWS 系统,UNIX 系统的TTL 一般值为255。报文主要由传输控制字符和数据字符组成。文始STX(02H)、空NUL(00H)、引号(22H)等报文控制字符的主要作用就是为确保报文的正确发送、接收。报文的数据部分从第21 个字符0x03 开始。包含帐号、口令、登录日志存放目录等相关信息。
4 网络窃听程序的防范措施
针对不同的窃听手法,我们要采用各种措施对网络窃听进行被动和主动的防范,加强POP3、FTP、HTTP、SMTP 等主机的网络安全。
(1) 在共享式以太网中,数据包极易被侦听,其中包含的用户帐号、密码等重要信息也很容易被嗅探,改集线器为交换机,避免数据包广播,从而减少数据包被无关人员获取的可能性,有效地防止利用共享式网络进行网络嗅探。
(2) 在交换式以太网中,分割网段是有效地减少被嗅探的可能性。有条件地尽量采用第三层交换机,可以有效防范ARP 改向的网络嗅探。
(3) 加强对交换机硬件的管理,特别是暴露在外的交换机柜要上锁,同时交换机的密码不能为空,同时设置登录错误最高尝试次数,以防止交换机密码被非法登录者暴力破解——编制网络程序自动进行成千上万次地连续登录、尝试密码。