Sniffer、黑客和网络管理

发表于:2007-05-26来源:作者:点击数: 标签:
史蒂夫·利维在其著名的《黑客电脑史》中指出的“黑客道德准则”(theHackerEthic)包括:通往电脑的路不止一条;所有的信息都应当是免费的;打破电脑集权;在电脑上创造艺术和美;计算机将使生活更美好。 黑客文化包含了自由不羁的精神,也包含了反传统、反

史蒂夫·利维在其著名的《黑客电脑史》中指出的“黑客道德准则”(theHackerEthic)包括:通往电脑的路不止一条;所有的信息都应当是免费的;打破电脑集权;在电脑上创造艺术和美;计算机将使生活更美好。

黑客文化包含了自由不羁的精神,也包含了反传统、反权威、反集权的精神。

广义的、公众认为的“黑客”就是闯入计算机系统的人。这种观念令有才能的、真正的“黑客”感到难过。《Maximum Security》一书中对黑客和入侵者定义如下:

■ “黑客”指对于任何计算机操作系统的奥秘都有强烈兴趣的人。“黑客”大都是程序员,他们具有操作系统和编程语言方面的高级知识,知道系统中的漏洞及其原因所在;他们不断追求更深的知识,并公开他们的发现,与其他人分享;并且从来没有破坏数据的企图。

■ “入侵者”是指怀着不良的企图,闯入甚至破坏远程机器系统完整性的人。“入侵者”利用获得的非法访问权,破坏匾??荩?芫?戏ㄓ没Х?袂肭螅?蛭?俗约旱哪康闹圃炻榉场!叭肭终摺焙苋菀资侗穑?蛭??堑男形?嵌褚獾摹?nbsp;

这里黑客的概念源于50、60年代麻省理工学院的实验室里的计算机迷们。他们精力充沛,热衷于解决难题、独立思考并且奉公守法。

技术本身是没有错的,错误产生于人。网络安全性的分析可以被真正的黑客用于加强安全性、加强网络的自由度,也可以被入侵者用于窥探他人隐私、任意篡改数据、进行网上诈骗活动。

这里,我们讨论网络嗅探器(sniffer)在广义黑客领域的应用和网络管理中的应用。

一. 嗅探器(Sniffer)攻击原理

Sniffer既可以是硬件,也可以是软件,它用来接收在网络上传输的信息。网络可以是运行在各种协议之下的。包括Ethernet、TCP/IP、ZPX等等(也可以是其中几种协议的联合)。放置Sniffer的目的是使网络接口(在这个例子中是以太网适配器)处于杂收模式(promiscuous mode),从而可从截获网络上的内容。

嗅探器与一般的键盘捕获程序(Key Capture)不同。键盘捕获程序捕获在终端上输入的键值,而嗅探器则捕获真实的网络报文。嗅探器通过将其置身于网络接口来达到这个目的——将以太网卡设置成杂收模式。

⒈关于以太网(Ethernet)

Ethernet是由Xerox的Palo Aito研究中心(有时也称为PARC)发明的。下面简介一下信息在网络(这里为以太网)上的传输形式。

数据在网络上是以很小的称为帧(Ftame)的单位传输的帧由好几部分组成,不同的部分执行不同的功能。(例如,以太网的前12个字节存放的是源和目的的地址,这些位告诉网络:数据的来源和去处。以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。

帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进行存储。就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。

每一个在LAN上的工作站都有其硬件地址。这些地址唯一地表示着网络上的机器(这一点于Internet地址系统比较相似)。当用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。

在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。如果某在工作站的网络接口处于杂收模式,那么它就可以捕获网络上所有的报文和帧。

Sniffer就是这样的硬件或软件,能够“听”到(而不是忽略)在网上传输的所有的信息。在这种意义上,每一个机器,每一个路由器都是一个Sniffer(或者至少可以说它们可以成为一个Sniffer)。这些信息就被储存在介质上,以备日后检查时用。

Sniffer可以是(而且通常是)软件和硬件的联合体,软件可以是普通的网络分析器带有比较强的debug功能,或者就是一个真正的Sniffer。

Sniffer必须是位于准备进行Sniffer工作的网络上的,它可以放在网络段中的任何地方。

Sniffer成为一种很大的危险,因为:

■ 它们可以捕获口令;

■ 它们可以截获机密的或专有的信息;

■ 它们可以被用来攻击相邻的网络或者用来获取更高级别的访问权限。

二. 用Sniffer获取信息

下面是利用Windows平台上的sniffer工具EtherPeek进行的信报监听结果。让我们分析一下这些数据(为避免不必要的麻烦,其中数据经修改完成)。

1. 匿名Ftp信报分析

Flags: 0x00

Status: 0x00

Packet Length:74

Timestamp: 19:11:21.743000 01/18/2000

Raw Packet Data(原始信报数据)


.惈纇.RT*.洲..E. 00 90 ab c0 68 00 52 54 ab 15 d6 de 08 00 45 00 [0-15]

.8..@. .)R?(1.. 00 38 10 09 40 00 20 06 29 52 a2 69 28 31 ca c8 [16-31]

*..*...f锚..*?P. 8c 02 04 b3 00 15 00 66 c3 aa 00 04 f0 3f 50 18 [32-47]

".+T..USER anony 22 0a 2b 54 00 00 55 53 45 52 20 61 6e 6f 6e 79 [48-63]

mous...... 6d 6f 75 73 0d 0a 00 00 00 00

也许这还不够清清楚楚明明白白,下面是该程序作的解码:


Flags: 0x00


Status: 0x00


Packet Length:74


Timestamp: 19:11:21.743000 01/18/2000


Ethernet Header


Destination: 00:90:ab:c0:68:00 [0-5]

Source: 52:54:ab:15:d6:de [6-11]

Protocol Type:08-00 IP [12-13]

IP Header - Internet Protocol Datagram

Version: 4 [14 Mask 0xf0]

Header Length: 5 [14 Mask 0xf]

Precedence: 0 [15 Mask 0xe0]

Type of Service: %000 [15 Mask 0x1c]

Unused: %00 [15 Mask 0x3]

Total Length: 56 [16-17]

Identifier: 4105 [18-19]

Fragmentation Flags: %010 Do Not Fragment [20 Mask 0xe0]

Fragment Offset: 0 [20-22 Mask 0x1fffff]

Time To Live: 32

IP Type: 0x06 TCP [23]

Header Checksum: 0x2952 [24-25]

Source IP Address: 162.105.40.49 [26-29]

Dest. IP Address: 202.200.140.2 [30-33]

No Internet Datagram Options

TCP - Transport Control Protocol

Source Port: 1203 [34-35]

Destination Port: 21 FTP Control - File Transfer Protocol [36-37]

Sequence Number: 6734762 [38-41]

Ack Number: 323647 [42-45]

Offset: 5 [46 Mask 0xf0]

Reserved: %000000 [46 Mask 0xfc0]

Code: %011000 [47 Mask 0x3f]

Ack is valid

Push Request

Window: 8714 [48-49]

Checksum: 0x2b54 [50-51]

Urgent Pointer: 0 [52-53]

No TCP Options

FTP Control - File Transfer Protocol

FTP Command: 0x55534552 (USER) User Name [54-57]

User Name:

20 [58]

Extra bytes (Padding):

anonymous.. 61 6e 6f 6e 79 6d 6f 75 73 0d 0a [59-69]

Frame Check Sequence: 0x00000000

哦,这是在传输用户名。用户名Name为anonymous。

下面还有源地址、目的地址相同的信报。


Flags: 0x00


Status: 0x00


Packet Length:71


Timestamp: 19:11:32.149000 01/18/2000


Raw Packet Data


.惈纇.RT*.洲..E. 00 90 ab c0 68 00 52 54 ab 15 d6 de 08 00 45 00 [0-15]

.5..@. . U?(1.. 00 35 12 09 40 00 20 06 27 55 a2 69 28 31 ca c8 [16-31]

*..*...f煤..*.P. 8c 02 04 b3 00 15 00 66 c3 ba 00 04 f0 87 50 18 [32-47]

!漏?..pass guest 21 c2 7c 00 00 00 70 61 73 73 20 67 75 65 73 74 [48-63]

@...... 40 0d 0a 00 00 00 00

这是作什么呢?


Flags: 0x00


Status: 0x00


Packet Length:71


Timestamp: 19:11:32.149000 01/18/2000


Ethernet Header


Destination: 00:90:ab:c0:68:00 [0-5]

Source: 52:54:ab:15:d6:de [6-11]

Protocol Type:08-00 IP [12-13]

IP Header - Internet Protocol Datagram

Version: 4 [14 Mask 0xf0]

Header Length: 5 [14 Mask 0xf]

Precedence: 0 [15 Mask 0xe0]

Type of Service: %000 [15 Mask 0x1c]

Unused: %00 [15 Mask 0x3]

Total Length: 53 [16-17]

Identifier: 4617 [18-19]

Fragmentation Flags: %010 Do Not Fragment [20 Mask 0xe0]

Fragment Offset: 0 [20-22 Mask 0x1fffff]

Time To Live: 32

IP Type: 0x06 TCP [23]

Header Checksum: 0x2755 [24-25]

Source IP Address: 162.105.40.49 [26-29]

Dest. IP Address: 202.200.140.2 [30-33]

No Internet Datagram Options

TCP - Transport Control Protocol

Source Port: 1203 [34-35]

Destination Port: 21 FTP Control - File Transfer Protocol [36-37]

Sequence Number: 6734778 [38-41]

Ack Number: 323719 [42-45]

Offset: 5 [46 Mask 0xf0]

Reserved: %000000 [46 Mask 0xfc0]

Code: %011000 [47 Mask 0x3f]

Ack is valid

Push Request

Window: 8642 [48-49]

Checksum: 0x7c00 [50-51]

Urgent Pointer: 0 [52-53]

No TCP Options

FTP Control - File Transfer Protocol

FTP Command: 0x70617373 (pass) Password [54-57]

Password:

20 [58]

Extra bytes (Padding):

guest@.. 67 75 65 73 74 40 0d 0a [59-66]

Frame Check Sequence: 0x00000000

哦,这里传输的就是密码啊!

试想,如果这里不是匿名登录,而是telnet、rlogin或pop3等的用户名与密码,那么……

2. Http信报分析

下面是捕获的一个HTTP信报。


Flags: 0x00


Status: 0x00


Packet Length:844


Timestamp: 19:28:09.400000 01/18/2000


Raw Packet Data


.惈纇.RT*.洲..E. 00 90 ab c0 68 00 52 54 ab 15 d6 de 08 00 45 00 [0-15]

.:..@. ._堍i(1.. 03 3a f1 0a 40 00 20 06 5f dc a2 69 28 31 a7 d8 [16-31]

.d.*.P.v

原文转自:http://www.ltesting.net