|
|
楼主 |
发表于 2008-12-19 15:11:58
|
显示全部楼层
Sniffer、黑客和网络管理 :
Sniffer、黑客和网络管理
绪论:关于黑客
史蒂夫·利维在其著名的《黑客电脑史》中指出的“黑客道德准则”(theHackerEthic)包括:通往电脑的路不止一条;所有的信息都应当是免费的;打破电脑集权;在电脑上创造艺术和美;计算机将使生活更美好。
黑客文化包含了自由不羁的精神,也包含了反传统、反权威、反集权的精神。
广义的、公众认为的“黑客”就是闯入计算机系统的人。这种观念令有才能的、真正的“黑客”感到难过。《Maximum Security》一书中对黑客和入侵者定义如下:
■ “黑客”指对于任何计算机操作系统的奥秘都有强烈兴趣的人。“黑客”大都是程序员,他们具有操作系统和编程语言方面的高级知识,知道系统中的漏洞及其原因所在;他们不断追求更深的知识,并公开他们的发现,与其他人分享;并且从来没有破坏数据的企图。
■ “入侵者”是指怀着不良的企图,闯入甚至破坏远程机器系统完整性的人。“入侵者”利用获得的非法访问权,破坏重要数据,拒绝合法用户服务请求,或为了自己的目的制造麻烦。“入侵者”很容易识别,因为他们的行为是恶意的。
这里黑客的概念源于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(原始信报数据)
.?h.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
.?h.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
.?h.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?Z..].P. 94 64 04 df 00 50 00 76 80 5a 99 0c 5d 15 50 18 [32-47]
"87...POST /js/V 22 38 37 a7 00 00 50 4f 53 54 20 2f 6a 73 2f 56 [48-63]
erifyLogin HTTP/ 65 72 69 66 79 4c 6f 67 69 6e 20 48 54 54 50 2f [64-79]
1.1..Accept: ima 31 2e 31 0d 0a 41 63 63 65 70 74 3a 20 69 6d 61 [80-95]
ge/gif, image/x- 67 65 2f 67 69 66 2c 20 69 6d 61 67 65 2f 78 2d [96-111]
xbitmap, image/j 78 62 69 74 6d 61 70 2c 20 69 6d 61 67 65 2f 6a [112-127]
peg, image/pjpeg 70 65 67 2c 20 69 6d 61 67 65 2f 70 6a 70 65 67 [128-143]
, application/ms 2c 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6d 73 [144-159]
word, applicatio 77 6f 72 64 2c 20 61 70 70 6c 69 63 61 74 69 6f [160-175]
n/vnd.ms-powerpo 6e 2f 76 6e 64 2e 6d 73 2d 70 6f 77 65 72 70 6f [176-191]
int, application 69 6e 74 2c 20 61 70 70 6c 69 63 61 74 69 6f 6e [192-207]
/vnd.ms-excel, * 2f 76 6e 64 2e 6d 73 2d 65 78 63 65 6c 2c 20 2a [208-223]
/*..Referer: htt 2f 2a 0d 0a 52 65 66 65 72 65 72 3a 20 68 74 74 [224-239]
p://www.renren.c 70 3a 2f 2f 77 77 77 2e 72 65 6e 72 65 6e 2e 63 [240-255]
om/js/FrontPage. 6f 6d 2f 6a 73 2f 46 72 6f 6e 74 50 61 67 65 0d [256-271]
.Accept-Language 0a 41 63 63 65 70 74 2d 4c 61 6e 67 75 61 67 65 [272-287]
: zh-cn..Content 3a 20 7a 68 2d 63 6e 0d 0a 43 6f 6e 74 65 6e 74 [288-303]
-Type: applicati 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 [304-319]
on/x-www-form-ur 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 [320-335]
lencoded..Accept 6c 65 6e 63 6f 64 65 64 0d 0a 41 63 63 65 70 74 [336-351]
-Encoding: gzip, 2d 45 6e 63 6f 64 69 6e 67 3a 20 67 7a 69 70 2c [352-367]
deflate..User-A 20 64 65 66 6c 61 74 65 0d 0a 55 73 65 72 2d 41 [368-383]
gent: Mozilla/4. 67 65 6e 74 3a 20 4d 6f 7a 69 6c 6c 61 2f 34 2e [384-399]
0 (compatible; M 30 20 28 63 6f 6d 70 61 74 69 62 6c 65 3b 20 4d [400-415]
SIE 4.01; Window 53 49 45 20 34 2e 30 31 3b 20 57 69 6e 64 6f 77 [416-431]
s 95)..Host: www 73 20 39 35 29 0d 0a 48 6f 73 74 3a 20 77 77 77 [432-447]
.renren.com..Con 2e 72 65 6e 72 65 6e 2e 63 6f 6d 0d 0a 43 6f 6e [448-463]
tent-Length: 43. 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 34 33 0d [464-479]
.Connection: Kee 0a 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65 65 [480-495]
p-Alive..Cookie: 70 2d 41 6c 69 76 65 0d 0a 43 6f 6f 6b 69 65 3a [496-511]
lang=cn; COUNTR 20 6c 61 6e 67 3d 63 6e 3b 20 43 4f 55 4e 54 52 [512-527]
Y=21; timeDiff=2 59 3d 32 31 3b 20 74 69 6d 65 44 69 66 66 3d 32 [528-543]
7/12/1999_17:56: 37 2f 31 32 2f 31 39 39 39 5f 31 37 3a 35 36 3a [544-559]
15.476; SESSION= 31 35 2e 34 37 36 3b 20 53 45 53 53 49 4f 4e 3d [560-575]
9920220612.17233 39 39 32 30 32 32 30 36 31 32 2e 31 37 32 33 33 [576-591]
6181; AdJump=nul 36 31 38 31 3b 20 41 64 4a 75 6d 70 3d 6e 75 6c [592-607]
l; engagekey=/re 6c 3b 20 65 6e 67 61 67 65 6b 65 79 3d 2f 72 65 [608-623]
gion#1/gender#1/ 67 69 6f 6e 23 31 2f 67 65 6e 64 65 72 23 31 2f [624-639]
age#21/sign#/mar 61 67 65 23 32 31 2f 73 69 67 6e 23 2f 6d 61 72 [640-655]
ital#1/country#/ 69 74 61 6c 23 31 2f 63 6f 75 6e 74 72 79 23 2f [656-671]
ethnicity#2/educ 65 74 68 6e 69 63 69 74 79 23 32 2f 65 64 75 63 [672-687]
ation#5/industry 61 74 69 6f 6e 23 35 2f 69 6e 64 75 73 74 72 79 [688-703]
#9/interests#; J 23 39 2f 69 6e 74 65 72 65 73 74 73 23 3b 20 4a [704-719]
ServSessionId=3f 53 65 72 76 53 65 73 73 69 6f 6e 49 64 3d 33 66 [720-735]
ee9af4c3957f28.6 65 65 39 61 66 34 63 33 39 35 37 66 32 38 2e 36 [736-751]
30.946465712033; 33 30 2e 39 34 36 34 36 35 37 31 32 30 33 33 3b [752-767]
AccipiterId=000 20 41 63 63 69 70 69 74 65 72 49 64 3d 30 30 30 [768-783]
93423*DEF....log 39 33 34 32 33 2a 44 45 46 0d 0a 0d 0a 6c 6f 67 [784-799]
inid=iaqqxaisc&p 69 6e 69 64 3d 69 61 71 71 78 6a 69 73 63 26 70 [800-815]
assword=vra7raa& 61 73 73 77 6f 72 64 3d 76 72 61 37 72 61 61 26 [816-831]
x=41&y=9f.X! 78 3d 34 31 26 79 3d 39 66 c8 58 21
下面是解码后的结果。
Flags: 0x00
Status: 0x00
Packet Length:844
Timestamp: 19:28:09.400000 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: 826 [16-17]
Identifier: 61706 [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: 0x5fdc [24-25]
Source IP Address: 162.105.40.49 [26-29]
Dest. IP Address: 167.216.148.100 [30-33]
No Internet Datagram Options
TCP - Transport Control Protocol
Source Port: 1247 [34-35]
Destination Port: 80 World Wide Web HTTP [36-37]
Sequence Number: 7766106 [38-41]
Ack Number: 2567724309 [42-45]
Offset: 5 [46 Mask 0xf0]
Reserved: %000000 [46 Mask 0xfc0]
Code: %011000 [47 Mask 0x3f]
Ack is valid
Push Request
Window: 8760 [48-49]
Checksum: 0x37a7 [50-51]
Urgent Pointer: 0 [52-53]
No TCP Options
HTTP - HyperText Transfer Protocol
POST /js/VerifyL 50 4f 53 54 20 2f 6a 73 2f 56 65 72 69 66 79 4c [54-69]
ogin HTTP/1.1.. 6f 67 69 6e 20 48 54 54 50 2f 31 2e 31 0d 0a [70-84]
Accept: image/gi 41 63 63 65 70 74 3a 20 69 6d 61 67 65 2f 67 69 [85-100]
f, image/x-xbitm 66 2c 20 69 6d 61 67 65 2f 78 2d 78 62 69 74 6d [101-116]
ap, image/jpeg, 61 70 2c 20 69 6d 61 67 65 2f 6a 70 65 67 2c 20 [117-132]
image/pjpeg, app 69 6d 61 67 65 2f 70 6a 70 65 67 2c 20 61 70 70 [133-148]
lication/msword, 6c 69 63 61 74 69 6f 6e 2f 6d 73 77 6f 72 64 2c [149-164]
application/vnd 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 [165-180]
.ms-powerpoint, 2e 6d 73 2d 70 6f 77 65 72 70 6f 69 6e 74 2c 20 [181-196]
application/vnd. 61 70 70 6c 69 63 61 74 69 6f 6e 2f 76 6e 64 2e [197-212]
ms-excel, */*.. 6d 73 2d 65 78 63 65 6c 2c 20 2a 2f 2a 0d 0a [213-227]
Referer: http:// 52 65 66 65 72 65 72 3a 20 68 74 74 70 3a 2f 2f [228-243]
www.renren.com/j 77 77 77 2e 72 65 6e 72 65 6e 2e 63 6f 6d 2f 6a [244-259]
s/FrontPage.. 73 2f 46 72 6f 6e 74 50 61 67 65 0d 0a [260-272]
Accept-Language: 41 63 63 65 70 74 2d 4c 61 6e 67 75 61 67 65 3a [273-288]
zh-cn.. 20 7a 68 2d 63 6e 0d 0a [289-296]
Content-Type: ap 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 [297-312]
plication/x-www- 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d [313-328]
form-urlencoded. 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 0d [329-344]
. 0a [345]
Accept-Encoding: 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e 67 3a [346-361]
gzip, deflate.. 20 67 7a 69 70 2c 20 64 65 66 6c 61 74 65 0d 0a [362-377]
User-Agent: Mozi 55 73 65 72 2d 41 67 65 6e 74 3a 20 4d 6f 7a 69 [378-393]
lla/4.0 (compati 6c 6c 61 2f 34 2e 30 20 28 63 6f 6d 70 61 74 69 [394-409]
ble; MSIE 4.01; 62 6c 65 3b 20 4d 53 49 45 20 34 2e 30 31 3b 20 [410-425]
Windows 95).. 57 69 6e 64 6f 77 73 20 39 35 29 0d 0a [426-438]
Host: www.renren 48 6f 73 74 3a 20 77 77 77 2e 72 65 6e 72 65 6e [439-454]
.com.. 2e 63 6f 6d 0d 0a [455-460]
Content-Length: 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 [461-476]
43.. 34 33 0d 0a [477-480]
Connection: Keep 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 4b 65 65 70 [481-496]
-Alive.. 2d 41 6c 69 76 65 0d 0a [497-504]
Cookie: lang=cn; 43 6f 6f 6b 69 65 3a 20 6c 61 6e 67 3d 63 6e 3b [505-520]
COUNTRY=21; tim 20 43 4f 55 4e 54 52 59 3d 32 31 3b 20 74 69 6d [521-536]
eDiff=27/12/1999 65 44 69 66 66 3d 32 37 2f 31 32 2f 31 39 39 39 [537-552]
_17:56:15.476; S 5f 31 37 3a 35 36 3a 31 35 2e 34 37 36 3b 20 53 [553-568]
ESSION=992022061 45 53 53 49 4f 4e 3d 39 39 32 30 32 32 30 36 31 [569-584]
2.172336181; AdJ 32 2e 31 37 32 33 33 36 31 38 31 3b 20 41 64 4a [585-600]
ump=null; engage 75 6d 70 3d 6e 75 6c 6c 3b 20 65 6e 67 61 67 65 [601-616]
key=/region#1/ge 6b 65 79 3d 2f 72 65 67 69 6f 6e 23 31 2f 67 65 [617-632]
nder#1/age#21/si 6e 64 65 72 23 31 2f 61 67 65 23 32 31 2f 73 69 [633-648]
gn#/marital#1/co 67 6e 23 2f 6d 61 72 69 74 61 6c 23 31 2f 63 6f [649-664]
untry#/ethnicity 75 6e 74 72 79 23 2f 65 74 68 6e 69 63 69 74 79 [665-680]
#2/education#5/i 23 32 2f 65 64 75 63 61 74 69 6f 6e 23 35 2f 69 [681-696]
ndustry#9/intere 6e 64 75 73 74 72 79 23 39 2f 69 6e 74 65 72 65 [697-712]
sts#; JServSessi 73 74 73 23 3b 20 4a 53 65 72 76 53 65 73 73 69 [713-728]
onId=3fee9af4c39 6f 6e 49 64 3d 33 66 65 65 39 61 66 34 63 33 39 [729-744]
57f28.630.946465 35 37 66 32 38 2e 36 33 30 2e 39 34 36 34 36 35 [745-760]
712033; Accipite 37 31 32 30 33 33 3b 20 41 63 63 69 70 69 74 65 [761-776]
rId=00093423*DEF 72 49 64 3d 30 30 30 39 33 34 32 33 2a 44 45 46 [777-792]
.... 0d 0a 0d 0a [793-796]
loginid=iaqqxais 6c 6f 67 69 6e 69 64 3d 69 61 71 71 78 6a 69 73 [797-812]
c&password=vra7r 63 26 70 61 73 73 77 6f 72 64 3d 76 72 61 37 72 [813-828]
aa&x=41&y=9 61 61 26 78 3d 34 31 26 79 3d 39 [829-839]
Frame Check Sequence: 0x66c85821
真不幸,刚好包含了帐号eaqqxaisc和密码vra7raa!
再仔细看看,哇!cookie的信息也是全都一览无遗。推广开去,所有的HTTP页面信息、Email信息等等,没有一点障碍得全被窃取。
一般的说,Sniffer可以截获的不仅仅是用户的ID和口令。它可以截获敏感的经济数据(如信用卡号)、秘密的信息(E-mail)和专有信息。基于入侵者可利用的资源,一个Sniffer可能截获网络上所有的信息。
从Sniffer上可以得到所的的信息,只要你有足够的存储空间。为了解决这个问题,入侵者一般只截获每个包的前200-300字节。用户名和口令一般在这部分。当然,如果有足够的存储介质,会得到更多有趣的内容。
三. 挫败Sniffer
sniffer是一种被动的攻击,不产生任何东西,基本上不留下什么痕迹。所以,在网络上是难以发现sniffer的。
以下一些工作对于对付sniffer会有些用处。
首先,检查网络线路,确定不会有硬件接入的sniffer。
其次,检查每一台机器的每一个通信端口。在sniffer存在时,被窃听机器的端口被改为许诺模式(promiscuous mode),可以通过这一点检测自己是否被窃听(源自参考文献3,笔者未曾实验)。在SunOS中,可以通过ifconfig –a来检测。
第三,对敏感数据加密。对敏感数据的加密是安全的必要条件。其安全级别取决于加密算法的强度和密钥的强度。
第四,使用安全的拓朴结构。Sniffer无法穿过交换机、路由器、网桥。网络分段越细,则安全程度越大。
四. Sniffer用于网络管理
Sniffer是被设计来诊断网络的联接情况的。ISS(Internet Security System)的总裁,大二退学自己开了ISS公司,现已成美国信息安全的首席顾问,comp.security的FAQ都由ISS发表。但是ISS的安全工具却全是sniff类型的。
现在有许多商用的sniffer,例如大大有名的netXray,其功能描述如下:
Monitoring Network Statistics
NetXRay provides both real time viewing and long term traffic analysis in graphical format. It can monitor multiple network statistics variables concurrently. This allows you to predict future network needs and plan for them accordingly. Alarms are generated whenever preset threshold parameters are exceeded, informing you about network exception conditions that may require immediate attention.
NetXRay monitors and displays a network segment’s packet rate, utilization and error rate in real time. Statistical counters for all network detail parameters are maintained in memory, and may be exported to Excel format for tabulation or charting.
The host table maintains each network node’s traffic statistics in real time. It keeps MAC, IP network, IP application, IPX network, and IPX transport layer information in separate tables, all of which may be viewed in table, bar or pie chart formats. The host table can be sorted by any statistical variable of your choice, in either ascending or descending order.
The matrix table maintains network node pair conversation traffic statistics in real time. It keeps MAC, IP network, IP application, IPX network, and IPX transport layer information in separate tables, all of which may be viewed in traffic map, table, bar or pie chart formats. The matrix table can be sorted by any statistical variable of your choice, in either ascending or descending order.
The traffic map provides the user a birds-eye view of the network traffic patterns in real time. It gives a complete graphical presentation of the traffic pattern between network nodes.
NetXray就通过硬件地址和ip地址的双向解析可以用来检测ip盗用。同样,消息的重放可以通过引起信报错乱,从而进行一些惩罚,但这一手段同样可以进行其他hack活动。
如何防御Sniffer攻击 :
1.怎样发现 Sniffer
Sniffer最大的危险性就是它很难被发现,在单机情况下发现一个Sniffer还是比较容易的,可以通过查看计算机上当前正在运行的所有程序来实现,当然这不一定可靠。
在UNIX系统下可以使用下面的命令:ps-aux。这个命令列出当前的所有进程、启动这些进程的用户、它们占用CPU的时间以及占用多少内存等等。
在Windoos系统下,可以按下Ctrl+Alt+Del键,查看任务列表。不过,编程技巧高的Sniffer即使正在运行,也不会出现在这里。
另一个方法就是在系统中搜索,查找可怀疑的文件。但人侵者用的可能是他们自己写的程序,所以这给发现Sniffer造成相当大的困难。还有许多工具能用来查看你的系统会不会处于混杂模式,从而发现是否有一个Sniffer正在运行。 但在网络情况下要检测出哪一台主机正在运行Sniffer是非常困难的,因为Sniffer是一种被动攻击软件,它并不对任何主机发出数据包,而只是静静地运行着,等待着要捕获的数据包经过。
2.抵御 Sniffer
虽然发现一个Sniffer是非常困难的,但是我们仍然有办法抵御Sniffer的嗅探攻击。既然Sniffer要捕获我们的机密信息,那我们干脆就让它捕获,但事先要对这些信息进行加密,黑客即使捕捉到了我们的机密信息,也无法解密,这样,Sniffer就失去了作用。
黑客主要用Sniffer来捕获Telnet、FTP、POP3等数据包,因为这些协议以明文在网上传输,我们可以使用一种叫做SSH的安全协议来替代Telnet等容易被Sniffer攻击的协议。
SSH又叫Secure Shell,它是一个在应用程序中提供安全通信的协议,建立在客户/服务器模型上。SSH服务器分配的端口是22,连接是通过使用一种来自RSA的算法建立的。在授权完成后,接下来的通信数据用IDEA技术来加密。这种加密方法通常是比较强的,适合于任何非秘密和非经典的通信。
SSH后来发展成为F-SSH,提供了高层次的、军方级别的对通信过程的加密。它为通过TCP/IP的网络通信提供了通用的最强的加密。如果某个站点使用F—SSH,用户名和口令就不再重要了。目前,还没有人突破过这种加密方法。即使是Sniffer,收集到的信息将不再有价值。有兴趣的读者可以参看与SSH相关的书籍。
另一种抵御Sniffer攻击的方法是使用安全的拓扑结构。因为Sniffer只对以太网、令牌环网等网络起作用,所以尽量使用交换设备的网络可以从最大程度上防止被Sniffer窃听到不属于自己的数据包。还有一个原则用于防止Snther的被动攻击 一个网络段必须有足够的理由才能信任另一网络段。网络段应该从考虑具体的数据之间的信任关系上来设计,而不是从硬件需要上设计。一个网络段仅由能互相信任的计算机组成。通常它们在同一个房间里,或在同一个办公室里,应该固定在建筑的某一部分。注意每台机器是通过硬连接线接到集线器(Hub)的,集线器再接到交换机上。由于网络分段了,数据包只能在这个网段上被捕获,其余的网段将不可能被监听。
所有的问题都归结到信任上面。计算机为了和其他计算机进行通信,它就必须信任那台计算机。系统管理员的工作就是决定一个方法,使得计算机之间的信任关系很小。这样,就建立了一种框架,告诉你什么时候放置了一个Sniffer,它放在哪里,是谁放的等等。
如果局域网要和Internet相连,仅仅使用防火墙是不够的。人侵者已经能从一个防火墙后面扫描,并探测正在运行的服务。应该关心的是一旦人侵者进人系统,他能得到些什么。你必须考虑一条这样的路径,即信任关系有多长。举个例子,假设你的Web服务器对计算机A是信任的,那么有多少计算机是A信任的呢?又有多少计算机是受这些计算机信任的呢?一句话,就是确定最小信任关系的那台计算机。在信任关系中,这台计算机之前的任何一台计算机都可能对你的计算机进行攻击并成功。你的任务就是保证一旦出现Sniffer,它只对最小范围有效。
Sniffr往往是在攻击者侵人系统后使用的,用来收集有用的信息。因此,防止系统被突破很关键。系统安全管理员要定期的对所管理的网络进行安全测试,防止安全隐患。同时要控制拥有相当权限的用户的数量,因为许多攻击往往来自网络内部。
3.防止 Sniffer的工具 Antisnff
Antisniff是由著名黑客组织(现在是安全公司了)L0pht开发的工具,用于检测本地网络是否有机器处于混杂模式(即监听模式)。
一台处于混杂模式的机器意味着它很可能已被入侵并被安装了Sniffer。对于网络管理员来说,了解哪台机器正处于混杂模式以作进一步的调查研究是非常重要的。
Antisniff 1.X版运行在以太网的WindOWS NT系统中,并提供了简单易用的用户图形界面。该工具以多种方式测试远程系统是否正在捕捉和分析那些并不是发送给它的数据包。这些测试方法与其操作系统本身无关。
Antisniff运行在本地以太网的一个网段上。如果在非交换式的C类网络中运行,Antisniff能监听整个网络;如果网络交换机按照工作组来隔离,则每个工作组中都需要运行一个Antisniff。原因是某些特殊的测试使用了无效的以太网地址,另外某些测试需要进行混杂模式下的统计(如响应时间、包丢失率等)。
Antisniff的用法非常简便,在工具的图形界面中选择需要进行检查的机器,并且指定检查频率。对于除网络响应时间检查外的测试,每一台机器会返回一个确定的正值或负值。返回的正值表示该机器正处于混杂模式,这就有可能已经被安装了Sniffer。
对于网络响应时间测试的返回值,建议根据第一次返回的数值计算标准值,然后再对在flood和非flood两次测试时返回的结果有较大变化的机器进行检查。一旦这些机器退出混杂模式返回到正常操作模式下,Antisniff的下一次测试将会记录到混杂模式和非混杂模式的差值(正值)。
应该周期性地运行Antisniff,具体周期值根据不同的站点、不同的网络负荷、测试的机器数量和网站策略等而有所不同。 |
|