本类共有 867 篇文章,今日更新 0

Sniffer 常见问题集(FAQ)

[ 来源:http://www.91now.com/down/ | 作者: | 时间:2007-5-18 17:40:57 | 浏览: 人次 ]


本文是ISS公司在几年前发布的一份Sniffer FAQ。虽然里面涉及的技术可能相对陈旧了一些,但仍然可作为入门级文档。希望这份Sniffer FAQ能够帮助管理员们对网络监听及解决方法有一个较为清楚的认识。Sniffer已成为当今互联网上最常见的主机入侵手段之一。 
在绿盟网络安全月刊中,我还将陆续介绍Sniffer、Sniffer的克星——Anti-Sniffer和Anti-Sniffer的克星——Anti Anti-Sniffer。希望对这方面有兴趣的朋友如果有些什么好资料或建议,请与我联系。 

FAQ目录: 

* 什么是sniffer及其工作原理 
* 哪里可以得到sniffer 
* 如何监测主机正在窃听(sniffed) 
* 阻止sniffer 
o 主动集线器 
o 加密 
o Kerberos 
o 一次性口令技术 
o 非混杂模式网络接口设备 

------------------------------------------------------------------------------- 

什么是sniffer及其工作原理 

与电话电路不同,计算机网络是共享通讯通道的。支持每对通讯计算机独占通道的交换机/集线器仍然过于昂贵。共享意味着计算机能够接收到发送给其它计算机的信息。捕获在网络中传输的数据信息就称为sniffing(窃听)。 

以太网是现在应用最广泛的计算机连网方式。以太网协议是在同一回路向所有主机发送数据包信息。数据包头包含有目标主机的正确地址。一般情况下只有具有该地址的主机会接受这个数据包。如果一台主机能够接收所有数据包,而不理会数据包头内容,这种方式通常称为“混杂”模式。 

由于在一个普通的网络环境中,帐号和口令信息以明文方式在以太网中传输,一旦入侵者获得其中一台主机的root权限,并将其置于混杂模式以窃听网络数据,从而有可能入侵网络中的所有计算机。 

------------------------------------------------------------------- 

哪里可以得到sniffer 

Sniffer是黑客们最常用的入侵手段之一。例如Esniff.c,是一个小巧的工具,运行在SunOS平台,可捕获所有telnet、ftp、rloing会话的前300个字节内容。这个由Phrack开发的程序已成为在黑客中传播最广泛的工具之一。 

你可以在经过允许的网络中运行Esniff.c,了解它是如何有效地危及本地机器安全。 

以下是一些也被广泛用于调试网络故障的sniffer工具: 

* Etherfind on SunOs 
* Snoop on Solaris 2.x and SunOs 
* Tcpdump 
* Packetman, Interman, Etherman, Loadman 

商用sniffer: 

* Network General. 

Network General开发了多种产品。最重要的是Expert Sniffer, 
它不仅仅可以sniff,还能够通过高性能的专门系统发送/接收数 
据包,帮助诊断故障。还有一个增强产品"Distrbuted Sniffer  
System"可以将UNIX工作站作为sniffer控制台,而将sniffer  
agents(代理)分布到远程主机上。 

* Microsoft’s Net Monitor 

对于某些商业站点,可能同时需要运行多种协议——NetBEUI、 
IPX/SPX、TCP/IP、802.3和SNA等。这时很难找到一种sniffer帮助 
解决网络问题,因为许多sniffer往往将某些正确的协议数据包当 
成了错误数据包。Microsoft的Net Monitor(以前叫Bloodhound) 
可以解决这个难题。它能够正确区分诸如Netware控制数据包、NT  
NetBios名字服务广播等独特的数据包。(etherfind只会将这些数 
据包标识为类型0000的广播数据包。)这个工具运行在MS Windows 
平台上。它甚至能够按MAC地址(或主机名)进行网络统计和会话 
信息监视。只需简单地单击某个会话即可获得tcpdump标准的输出。 
过滤器设置也是最为简单的,只要在一个对话框中单击需要监视的 
主机即可。 

-------------------------------------------------------------------- 

如何监测主机正在窃听(sniffed) 

要监测只采集数据而不对任何信息进行响应的窃听设备,需要逐个仔细检查以太网上所有物理连接。 

不可能通过远程发送数据包或ping就可以检查计算机是否正在窃听。 

一个主机上的sniffer会将网络接口置为混杂模式以接收所有数据包。对于某些UNIX系统,通过监测到混杂模式的网络接口。虽然可以在非混杂模式下运行sniffer,但这样将只能捕获本机会话。入侵者也可能通过在诸如sh、telnet、rlogin、in.telnetd等程序中捕获会话,并将用户操作记录到其它文件中。这些都可能通过监视tty和kmem等设备轻易发现。只有混杂模式下的sniffing才能捕获以太网中的所有会话,其它模式只能捕获本机会话。 

对于SunOS、NetBSD和其它BSD Unix系统,如下命令: 

"ifconfig -a" 

会显示所有网络接口信息和是否在混杂模式。DEC OSF/1和IRIX等系统需要指定设备。要找到系统中有什么网络接口,可以运行如下命令: 

# netstat -r 
Routing tables 

Internet: 
Destination Gateway Flags Refs Use Interface 
default iss.net UG 1 24949 le0 
localhost localhost UH 2 83 lo0 

然后通过如下命令检查每个网络接口: 

#ifconfig le0 
le0: flags=8863 
inet 127.0.0.1 netmask 0xffffff00 broadcast 255.0.0.1 

入侵者经常会替换ifconfig等命令来避开检查,因此一定要检查命令程序的校验值。 

在ftp.cert.org:/pub/tools/的cpm程序(SunOS平台)可以检查接口是否有混杂模式标记。 

对于Ultrix系统,使用pfstat和pfconfig命令也可能监测是否有sniffer运行。 

pfconfig指定谁有权限运行sniffer。 
pfstat显示网络接口是否处于混杂模式。 

这些命令只在sniffer与内核存在链接时有效。而在缺省情况,sniffer是没有与内核链接的。大多数的Unix系统,例如Irix、Solaris、SCO等,都没有任何标记来指示是否处于混杂模式,因此入侵者能够窃听整个网络而却无法监测到它。 

通常一个sniffer的记录文件会很快增大并填满文件空间。在一个大型网络中,sniffer明显加重机器负荷。这些警告信息往往能够帮助管理员发现sniffer。建议使用lsof程序搜索访问数据包设备(如SunOS的/dev/nit)的程序和记录文件。 

阻止sniffer 

主动式集线器只向目标地址主机发送数据包,从而使混杂模式sniffer失效。它仅适用于10Base-T以太网。(注:这种现在已在计算机市场消失。) 

只有两家厂商曾生产过主动式集线器: 

* 3Com 
* HP 

随着交换机的成本和价格的大幅度降低,交换机已成为非常有效的使sniffer失效的设备。目前最常见的交换机在第三层(网络层)根据数据包目标地址进行转发,而不太采取集线器的广播方式,从而使sniffer失去了用武之地。 

------------------------------------------------------------------ 

加密 

目前有许多软件包可用于加密连接,从而使入侵者即使捕获到数据,但无法将数据解密而失去窃听的意义。 

以下是以前常用的一些软件包 

* deslogin 
coast.cs.purdue.edu:/pub/tools/unix/deslogin . 

* swIPe 
ftp.csua.berkeley.edu:/pub/cypherpunks/swIPe/ 

* Netlock 

----------------------------------------------------------------- 

Kerberos 

Kerberos是另一个加密网络中帐号信息的软件包。它的缺点是所有帐号信息都存放在一台主机中,如果该主机被入侵,则会危及整个网络安全。另外配置它也不是一件简单的事情。Kerberos包括流加密rlogind和流加密telnetd等,它可以防止入侵者捕获用户在登录完成后所进行的操作。 

Kerberos FAQ可从ftp站点rtfm.mit.edu中得到: 
/pub/usenet/comp.protocols/kerberos/Kerberos_Users__Frequently_Asked_Questions_1.11 

------------------------------------------------------------------ 

一次性口令技术 

S/key和其它一次性口令技术一样,使窃听帐号信息失去意义。S/key的原理是远程主机已得到一个口令(这个口令不会在不安全的网络中传输),当用户连接时会获得一个“挑战”(challenge)信息,用户将这个信息和口令经过某个算法运算,产生正确的“响应”(response)信息(如果通讯双方口令正确的话)。这种验证方式无需在网络中传输口令,而且相同的“挑战/响应”也不会出现两次。S/key可从以下网址得到:ftp://thumper.bellcore.com/pub/nmh/skey 

还有一种一次性口令技术是ID卡系统。每个授权用户都有一个产生用于访问各自帐号的数字号码的ID卡。如果没有这个ID卡,不可能猜出这个数字号码。 

以下是提供这类解决方案的公司资料: 

Secure Net Key (SNK) 

Digital Pathways, Inc. 
201 Ravendale Dr. Mountainview, Ca. 
97703-5216 USA 

Phone: 415-964-0707 Fax: (415) 961-7487 

Secure ID 

Security Dynamics, 
One Alewife Center 
Cambridge, MA 02140-2312 
USA Phone: 617-547-7820 
Fax: (617) 354-8836 
Secure ID uses time slots as authenication rather than challenge/response. 

ArKey and OneTime Pass 

Management Analytics 
PO Box 1480 
Hudson, OH 44236 
Email: fc@all.net 
Tel:US+216-686-0090 Fax: US+216-686-0092 

WatchWord and WatchWord II 

Racal-Guardata 
480 Spring Park Place 
Herndon, VA 22070 
703-471-0892 
1-800-521-6261 ext 217 

CRYPTOCard 

Arnold Consulting, Inc. 
2530 Targhee Street, Madison, Wisconsin 
53711-5491 U.S.A. 
Phone : 608-278-7700 Fax: 608-278-7701 
Email: Stephen.L.Arnold@Arnold.Com 
CRYPTOCard is a modern, SecureID-sized, SNK-compatible device. 

SafeWord 

Enigma Logic, Inc. 
2151 Salvio #301 
Concord, CA 94520 
510-827-5707 Fax: (510)827-2593 
For information about Enigma ftp to: ftp.netcom.com in directory 
/pub/sa/safeword 

Secure Computing Corporation: 

2675 Long Lake Road 
Roseville, MN 55113 
Tel: (612) 628-2700 
Fax: (612) 628-2701 
debernar@sctc.com 

---------------------------------------------------------------- 

非混杂模式网络接口设备 

以前,大多数IBM DOS兼容机器的网卡都不支持混杂模式,所以无法进行sniffing。但DOS已退出计算机网络舞台,对于现在计算机市场中的网络接口设备,请向供应商查询是否为非混杂模式设备(即不支持混杂模式)。 

广告位