绪论:关于黑客 史蒂夫·利维在其著名的《黑客电脑史》中指出的“黑客道德准则”(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(原始信报数据) .惈纇.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: \00 [15 Mask 0x1c] Unused: \0 [15 Mask 0x3] Total Length: 56 [16-17] Identifier: 4105 [18-19] Fragmentation Flags: 0 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: \00000 [46 Mask 0xfc0] Code: 1000 [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: \00 [15 Mask 0x1c] Unused: \0 [15 Mask 0x3] Total Length: 53 [16-17] Identifier: 4617 [18-19] Fragmentation Flags: 0 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: \00000 [46 Mask 0xfc0] Code: 1000 [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
Sniffer、黑客和网络管理
来源:中国协议分析网
作者:
时间:1970-01-01
Tag:
点击:
0
最新评论共有 0 位网友发表了评论
查看所有评论
发表评论
热点关注

