天空是连着的,如果我们也能各自发光的话,无论距离有多远,都能看到彼此努力的身影。 收藏本站
登陆 / 注册 搜索

阅读: 7.7K   回复: 4

[# 网络基础] 防黑必备基础

[复制链接]
小执念 古黑浩劫论坛大牛 2015-11-21 07:32 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员 五周年纪念
 万维网( WWW )3 f, ^( b' |$ `8 V7 y
; B5 K6 H- c+ y
  WWW 即 World Wide Web,中文一般称为万维网(或全球网),平常说的 Web.互联网其实与此是同一含义。创建WWW是为了解决lnternet 上的信息传递问题。在WWW创建以前,几乎所有的信息发布都是通过 E-mail、 FTP、 Archie 等实现的。E-mail 的使用让不同的团体和个人之间的信息交换变得很广泛;FTP( 文件传输协议)用来从一台计算机到另一台计算机进行文件传输; Archie 用来查找Internet 上的各种文件,由于Internet 上的信息散乱地分布在各处,因此除非知道所需信息的位置,否则无法对信息进行搜索。1 F9 E- Q: i/ A7 z5 y

8 S6 N) Z  t* ^/ O8 |" L
防黑必备基础 BTgrodpyc.jpg

9 m8 D0 X7 m9 m1 Q! k' F# P0 _2 q  ?  @" c
  由于这样或那样的限制必须开发出一种全新的独立于各种平台的方法以便于在lnternet 上传递信息。正是在这种需求下瑞士日内瓦的欧洲粒子物理实验室CERN 开发出超文本标记语言(HTML)HTML 是从一种称为标准化标记语言(SGML)的文档格式语言演化而来的。
* y3 s3 x0 Y0 o
4 B1 b3 p' p: z0 J, K  Q; N$ F  M  q, z! i: i1 z
  HTML 设计为易于学习、使用和在Internet 上传递信息的一种文档表示语言,HTML 比SGML更简单易学。为了在Internet 创上传递HTML 文档,要使用基于TCP/IP 的协议。这种协议后来成为超文本传输协议 (HTTP)。WWW是随HTTP 和HTML 一起出现的,Web 通过使用强有力的媒介传递信息克服了许多早期信息传递的限制,Web 服务器利用HTTP 一传递HTML 文件,Web 浏览器群使用HTTP 检索HTML 文件,从web 务器一旦检索到信息,Web 浏览器就会以静态和交互(如文本、图像)的形式显示各种对象。
% s. s) c3 p8 B5 n/ w, U. r
. S8 g& }3 P. n7 c3 X( D, [' q. R6 K( v, q0 @
  随着文本、图像、影像、声音和交互式应用程序的统一,WWW已经成为信息交换的一种很有效的方式。正是由于WWW的出现,我们才可以浏览各种信息来源,井且通过各种超级链接从一种信息来源转到另一种信息来源。超级链接是指向Web 页面的统一资源定位器(URL)的对象。当用户单击一个超级链接时,该用户就会到超级链按所指向的Web 页面。  d; ~, {/ _5 q, G) ?5 m& \
 * y$ O; H& W5 E7 V8 Q$ Y
  URL 可以看作是Web 页面的地址。每个Web 页面都有一个或多个URL 与之相关。在特殊应用程序和浏览测览器的推动下,Web 很快成为Interneth 发布文本和多媒体信息的一种有效手段。 - F! D' P: Z$ r' D' x- ?
! F& i/ P- _, y: z' k' |6 b

& c, j+ m6 L, }2 d7 X) m' C$ b) T0 D+ e  WWW很大程度上是在NCSA(National Cente for Supercomputing Applications)于1993 年发布的Mosai(Web 测览器)后得到普及的。WWW之所以如此流行是因为它克服了Web 浏览器出现之前许多应用程序的缺点,这些应用程序在Internet 上用来发布信息。在过去,Internet 上几乎所有信息都是字符文本格式,这样信息不能按照多种格式表示,导致了浏览和搜索方面的困难。而WWW上的信息可以有多种格式,易于浏览和理解。例如,在讨论复杂问题时,可以使用图表、影像剪辑甚至互动式应用程序,而不仅仅是字符文本,这样会便于解释论题,使人一目了然。WWW集成了所有的现觉辅助效果来表示信息。" z/ ]! |2 V# ^, }- k

$ c/ h( r) o' M0 H  Q& k1 y) B  由于 WWW是基于客户机/ 服务器模式,因此它是与平台无关的,通常.服务器对于浏览Web 站点的用户是透明的,这是WWW之所以成功的另一个原因。CERN 所定义的Internet 标准和协议不是私有标准,因此任何人都有权使用与Internet 标准和规范一致的自己的Web 服务器和Web 浏览器。这种自由和开放性使得一些机构(如NCSA,Netscape 和Microsoft)能够扩充现有的Internet 标准(如HTML),满足WWW用户更广泛的需要。正是这些先驱机构的努力,才使得WWW一直成为Internet 的首选信息发布工具,为Internet 的使用者提供更多的选择和控制权。
5 y, w, i8 O$ D" g+ ]1 ^
$ C0 Y" |) ~2 V: I% r* u" r3 c
( b  {+ [4 B* o& C5 `5 e& T: A1 {9 E. i- V
9 G  o, ^- e% p" K  与其他信息发布工具相比,WWW由于所需的费用很低,并且覆盖面广,因而具有很大的吸引力。另外使用各种搜索机制Web 站点分类目录数据库注册一个Web 站点,可以使客户在需要时得到所需的信息。1 t; ~2 t# ~# I8 D& O( V

4 ^) @, ~7 B  N   TCP/IP 协议% X( y5 j3 ^! s9 J- M' q+ v

& b/ V# W; ^6 x0 j5 f6 S+ n6 G  TCP/IP 有透彻的了解,这是任何一个有能力的入侵者所必备的素质。只有深刻理解TCP/IP 协议,才会知道Internet 是怎样运转的、而事实上TCP/IP 协议的应用领域已不仅仅限于Internet,比如说可以利用TCP/IP 建立Intranet。TCP/IP 协议是由美国国防部开发的一组通信协议,允许不同的计算机共享一个网络上的信息。当把两个相同的PC 联网已不再是一个技术性挑战时,TCP/IP 提供了解决下面这个棘手问题的办法:那就是如何将一台PentiumPC 连接到一台 DEC 小型机或 Sillcon GraPhics 工作站上去。事实上,TCP/IP 协议是使Internet 各部分紧密结合的粘合剂。下面我们分别介绍TIP 与IP 的意义。0 K( ^% X* D: A, y! Q
( f+ }8 _- B+ T) @& i" r
& D  P. M7 [( Z  ^; I1 |
  TCP1 _( A4 u. V, ~* g' ~% W0 Y8 r9 s
, f1 g2 \" h% w6 u9 z$ r7 M
  TCP 也就是英文Transfer Control Protocol 的缩写,意为“传输控制协议。TCP 是可靠的、基本的传输协议,这用于提供可靠的、全双工的虚拟线路连接。连接是在发送和连接的节点端口之间实施的。TCP 的数据流是8 位一组的,它可在TCP 主机之间提供多个虚拟线路的连% Y* K6 l  W" T9 v+ a+ R2 {
接。0 J' H: p/ I9 {$ H( N7 @
$ S. m- F9 W# I- j4 C2 h) n' M
  IP8 F4 d% D+ U% `# K+ T# ~; \
/ S3 F, @+ |6 J
  IP 是英文Internet Protocol 的缩写,意即“互联网协议。"IP 协议是一个网络层协议,它在许多数据链路层协议上提供无连接数据服务。但是IP 协议同其他网络层协议一样,不负责数据仓的传送,它尽最大的努力传送数据。而上层协议可以在IP 协议的基础上负责数据仓的传送服务。IP 提供了一系列有趣的服务,成为设计其它协议的基础。IP 提出独立于下层的网络逻辑地址(即IP 地址)来表示。它利用地址决议协议(ARP)把这一逻辑地址同一个节点的物理节点地址联系起来。1 y5 t; Q6 _  J0 U8 @' R( w: N
: L; q0 V9 z0 R; u; h0 Q  w) x

$ f8 K1 T% w8 \. Z& b3 |  TCP/IP 可以提供比其他协议更大的便利,其中之一就上面所提到的,可以在各种不同的硬件和操作系统上工作,因而利用TCP/IP 可以迅速方便地创建一个子网络,这类网络中可以有Mac 机、IBM 兼容机、sun 工作站、MIPS 机等。这些机器可以用共同的协议与同伴进行通信,正是由于这个原因,传输控制协议(TCP)和互联网协议(IP)的应用越来越广泛,TCIP/IP 现在已经成了连接不同系统的共同标准。在网络普及的美国,TCP/IP 处于公共领域,并已美国国防部要求在安全部门及其所周的承包商、研究单位和大学中使用,几乎所有的计算机系统销售商都提供TIP/IP。互联网技术屏蔽了底层网络硬件细节,使得不同类型的网络之间可以互相通信。但TCP/IP 协议组组本身存在着一些安全性问题。( W: L3 T4 P# e7 E7 l- ^

# r$ n) L& O& J1 }! M4 _$ H
7 |0 x! K1 h1 u: C- k9 J4 z  由于大量重要的应用程序都以TCP 作为它们的传输层协议,因此TCP 的安全性问题会给网络带来严重的后果。目前还没有十分简便的方法防止伪造IP 地址的人侵行为,但我们可以采取以下措施来尽可能地保护系统免受这类攻击。首先,我们可以配置路由器和网关,使它们能够拒绝网络外部与本网内具有相同IP 地址的连接请求,而且,当包的IP 地址不在本阿内时,路由器和网关不应该把本网主机的包发送出去。其次,在包发送到网络上之前,我们可以对它进行加密。
# {8 R/ N7 ~% s0 i- F6 R/ x5 z6 m4 c  n0 }+ B. C! f" `# h

1 `' u% d/ f9 M" n6 t1 l0 i  虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。为了防止从SYN-RCVD 到CLDSE-WAIT 状态的伪转移,需要改变操作系统中TCP 操作的部分相关代码,使得当TCP 机处于SYN-RCVD 状态时,忽略任何对等主机发来的FIN 包。只有当建立连接后,才可以使连接建立定时器无效。也就是说,在同步开放连接建立过程中,当主机收到一个ACK 时,定时器应置为无效,使状态转移到ESTABLISHED。只有CLOSED 等少数几种状态与定时器无关。入侵主机可能会迫使TCP 机转移到这些状态,因为该状态不受任何定时器制约,如果入侵者不发送适当的包,生机可能会被阻塞在这个状态。
1 w% m" I! a# B' I
1 P) L& t! C  _% c* ~: m8 b# r1 i# @! n  Q
  超文本传输协议( HTTP)7 A2 m! E  V- N: X
  u1 {0 s0 q: A" {7 Y2 o
  HTTP 的的英文全称是Hypertext Transfer Protocol,中文译为"超文本传输协议”HTTP 是当前运行最多的协议,它本身是安全的,但它提供的相关服务影响了它的安全性。# s' C  E5 A# p, D5 r* a+ \
2 X4 l+ {' Y( u" m7 R1 b# C

6 e2 z# p7 q. c) k/ o  HTTP 是应用级的协议。主要用于分布式协作的超媒体信息系统。HTTP 协议是通用的、无状态的,其系统建设与传输的数据无关。HTTP 也是面向对象的协议,可用于各种任务,包括(并不局限于)域名服务、分布式对象管理、请求方法的扩展和命令等等。
9 v, Z1 `; G) ^7 |' U; v. i/ }) L9 M
+ D  l# U1 M) U4 P1 p
  Web 帐户这种快速访问、汗放以及无状态的特性,使得控制和保护变得非常困难。在 Internet 上,HTTP 通信往往发生在TCP/IP 连接之上,其缺省端口为80,也可用其他端口。这并不会妨碍HTTP 在其他协议之上的实现,事实上,HTTP 协议规范并没有限制其底层实现。# g' @8 T) D2 Q% {3 P1 j" D
7 y8 M& t) L; i+ k" {, C* ?

: h. i+ k5 ]% |) S# ?8 y2 h: V! {  当浏览器收到其不理解的数据类型时,会依靠其地附加应用程序来将其转换成可以理解的格式。这些应用程序一般叫观察器,它们的安全性非常重要因为HTTP 协议并不能阻止这类观察器执行危险命令。
2 ?9 f+ E" G5 M8 k7 n5 z) R- }8 ?) {$ B  K5 U5 g
/ g$ R: ?/ ^# t( p3 R  Y5 S. b' G
  对于代理服务和网关应特别小心,转发HTTP 不能理解其格式的请求时更要谨慎。HTTP的版本决定协议的功能,代理和网关不应发送其版本比自己版本还高的信息。如果收到高版本请求,网关或代理均应将其版本降下来,以错误信息响应,或是转到另一处理过程中去。
9 u& G0 G' g8 t( L! S9 I, \5 R
* g- h# ]) \! r" ^3 {/ y; x
% k) T; C) s) J0 M- k, w7 W" B$ o8 ]  一些主要的 HTTP 客户程序,如 Purveyor 和 Netscape Navigator 支持SOCKS 及透明代理等各种代理机制。另外,无论将服务器放干网络的里面还是外面,都应考虑防火墙;HTTP 的开放性具有很大的风险,况且还要担心观察器和小的应用程序。/ ]" b, I4 l- K2 u
5 f! P9 F0 S+ K

$ y3 z6 B7 \) @, l  在选择防火墙时,要考虑HTTP 代理服务的功能,这对于保护浏览器是很有用的。一些防火墙和工具,比如TISFWTK 就提供了完全的HTTP 客户代理。2 e! g; A/ z) \% J6 x" u
4 ^3 E6 f1 O% l# y! h- x7 ^6 x
* ]. L' {, I( o4 e  I
  简单邮件传输协议(SMTP)+ Z! H3 J/ D" q. \5 X

) e8 l5 E+ M$ a& Z, j  SMTP 即Simple Message Transfer Protocol,中文译为‘简单邮件传输协议”,SMTP 是TCP/IP 协议族定义的机器问交换邮件的标准,SMTP 只是关注底层邮件传递系统如何将报文从一个机器传到另一个机器,它没有定义邮件如何存储或以多快速度传送。; P$ Q4 C/ C' k% p0 E
( h, V  ?% ~/ Z
4 W: P' p: g6 {+ K/ K, v
  SMTP 客户机和服务器间的通信由可读的ASCll 文本组成。SMTP 定义了命令格式,使人们容易看到客户机与服务器间的交互情况。最初,客户机建立一条到服务器的可靠数据流连接,并等待服务器发送一个“220 READY FOR MAIL”报文。收到220 报文后,客户机发送一) S! {( f& I! t4 p3 o
个HELLO 命:,服务器通过标识自己做响应。一旦建立通信,发送者可传送一个或多个邮件报文、终止连接,或请求服务器交换发送者和接收者的身份以使报文能反向流动。接收者必须确认每个报文,也可异常终止整个连接或当前的报文传送。1 x$ R0 ^2 M. s* a9 V

& z% j- X3 \, U( Y$ B6 [+ a+ _3 f. m/ n- F/ \
  邮件事务由 MAIL 命令开始,它给出发送者标识待和一个包括接收差错报告地址的FROM字段。接收者准备其接收新邮件报文的数据结构,并通过发送响应250 回答MAIL 命令表示正常。完全的响应由文本250 组成。与使用其他应用协议一样,程序R 读缩写命令和每行开头的3 个数字,其余文本用于调试邮件软件。
$ ^, z" P$ j! f
; Q+ f: d6 L, ]4 j7 S6 y! ^* v' L  `$ d- |& _
  成功执行 MAIL 命令后,发送者发出标识邮件报文接收者的一系列RCpp 命令。接收者必须确认每个RCPT 命令,这可以通过发送250 或发送差错报文550 来完成。确认所有的RCPT命令后,发送者发出一个DATA 命令。一个DATA 命令告诉接收者发送者已经传送了一个完
% P4 q5 t1 E, v! h4 r整的邮件报文。接收者用报文354 响应,并指明用于终止邮件报文的字符序列。终止序列由5个字符组成:回车、换行、点、回车和换行。
3 R2 z! U* q. _, E
- H, J1 @9 a0 A1 n6 l3 z9 A
% r# S5 |. t' J+ |& ?* `  一旦客户机可发出TURN 命令将连接反向,然后接收音发响应250,并假定已控制了连接。随着任务反过来原服务器端将发回任何等待的邮件报文。控制交互的任一端可选择终止会话,只要发出一个QUIT 命令即可。另一端用命令221 响应意味着同意终止连接。
& @* i" i- H! |1 N5 J) r" X( r  e; a
. W, g9 k/ _) w' F8 M6 }5 r6 e& ~: r  x# g6 u
# a0 v4 G6 V' i
  如果一个用户移动了,服务器可能知道用户新的邮箱地址。SMTh 支持服务器通知客户机新的地址,以便客户机以后使用它。当通知客户机新的地址时,服务器可能选择转发这个引发报文的邮件,或可能请求客户机负责转发。7 {% z6 ~9 v6 Z/ k$ }8 A

3 r9 j/ S/ u2 e+ B/ a2 J- \0 X
; K! y$ S1 _& Q& x2 l5 C   文件传输协议(FTP)+ `2 r0 R# o& Q0 q/ S  R) v

9 S$ A0 M4 r) W% o  FTP 的英文全称是File Transfer Protocol,中文指‘文件传输协议’。是为进行文件共享而设计的因特网标准协议。FTP 服务允许客户将文件从一个机器复制到另一个机器,它类似于NFS的方式.不过用于远程网络,客户端一般也需验证。
5 D# [# E. g! h+ _# M3 k7 `/ Q
3 {' t7 X6 @; [- _" \6 m6 i: P
1 S; u6 P+ h2 F  当提供自己的FTP 服务器的时候,可使用非匿名服务器进行口令验证,但这只能供少数一些人使用(如一个小部门的人进行文件共享)。通常的情况下使用匿名FTP,使没有得到全部授权访问FTP 服务器的远程用户,可以传输能够共享的文件。如果运行FTP 服务器,用户就可能在未经允许登录的情况下,取得存放在系统中一个分离的公共区域中的文件,并可能取得系统中的任何东西。站点上的匿名FTP 区可能存有机构的文件档案、软件、图片以及其他类型的信息,这些信息是人们需要从用户那里得到的,或用户希望与他们共享的。; X- y7 \  X$ T$ n! z& e. B

0 y/ H; ~, [+ x4 f8 c
0 {( s0 e% E8 ^& q4 U% j  使用匿名 FTP,用户可以用‘匿名"拥户名登录FTP 服务器。通常情况下,要求用户提供完整的E-mall 地址做为响应。然而在大多数站点上,这个要求不是强制性的,只要它看起来像E-mail 地址(如:它是否包含@符号),它不对口分做任何方式的校验。: |: ?0 N) `' q+ R/ s+ o. l; d

$ v1 {( P' b$ L9 A+ z
" e) g6 }9 Z/ _" \! x' r3 ?  要确保匿名 FTP 服务器只能存取允许存取的信息,不允许外人存取本机的其他资料,如私人资料等。在 FTP 服务器处理匿名用户命令之前,许多FTP 服务器执行Chroot 命令进入匿名FTP区。然而,为了支持匿名FTP 利用户FTP.FTP 服务器要访问所有文件,这就是说FTP 服务器并不总是在chroot 环境中运行。
& {7 c* t% A% O6 L4 o2 _. x) A' |6 a6 A# g' q
5 S( `  C7 I3 Q3 s" z
  为了解决这个问题,可以通过修改inetl 的配置来代替直接启动FTP 服务器,它执行hroot(用类似于chrootuid 的程序)然后再启动FTP 服务器。一般情况下FTP 只限于在匿名用户下访问,匿名用户有其正常的访问权,在启动FTP 服务器前执行chroot 意味着匿名用户也受到
" a" S6 G+ L' Q# e6 B1 ~限制。如果FTP 服务器上没有匿名用户,这就无关紧要了。* Q* B2 Q6 A4 h) f7 L
/ t, Y4 Y4 V" ?9 c
  建立匿名 FTP 系统的具体技术依赖于操作系统使用的特定FTP 管理程序(守护程序)。匿名用户获取到不应见到的文件,通常是由于内部客户将文件放在匿名FTP 区。1 }# _* y) V1 O
" n6 d' W4 r# P
  Z+ y3 U- R, t3 w/ J1 Z$ L1 Y
  如果不希望外界阅读自己的文件,最好不给匿名的FTP 提供文件。如果可能,就采用其他传输方式。否则,可使用改进的FTP 服务器,如:wuarchive 服务器,它提供半匿名访问,这就要求匿名用户用一个附加口令来访问某些路径,也可以把文件放在没有阅读权,只有执行权的路径下。这样做是让人们知道传输文件的名字,但不能让他们看到文件内容。
1 G' q5 [; a- M
" j% x, K" e, l( C, a; s% i/ c
4 b9 p3 J2 ^" Q' S  无论用什么方法一定要让能往匿名FTP 路径下存放文件的任何人都知道:不要把机密文件放在外人可读的路径下。实现它的简单方法是:阻止用户用匿名FTP 路径写文件并要求他们请系统管理员来提供某个文件。: {9 ?8 O0 a. \# `, N
8 z$ n: ~# H' U8 E) b' S7 C9 e

  M: p! V! M' ^' g7 |' Y  FTP 有安全漏洞是人所共知的而且现在的FTP 正变得非常复杂和难以理解,功能也不断增强。比如,FTP 系统的一个主要安全漏洞是它可以波黑客骗取某个用户的权限,而黑客实际上是以公共帐户方式登录的。
3 k5 d$ u! Q- u: T6 |: Q( P4 g# {2 G, z' a/ C0 y4 |

& Z5 k( Q# d8 Y- j  FTP 服务器的目录权限是很重要的,照客一旦侵入,其第一件事就是查看目录是否可写。如果可以。他便会把包含其名字和当前机器的.rhosts 文件放到该目录下由于该目录通常是FTP用户(FTPD)的主目录于是一个可以进入系统的远程登录就大功告成了。
* x7 G  j; a8 b; M  M9 W( w9 Q
$ z/ U" n4 b% X# }5 X9 L
" r- H5 y8 ?' q) e; Y; p3 v  对于 FTP 的安全防范,应该注意以下两点:
$ k+ @) a0 ~& i0 D% v2 K; t  s$ R$ g4 ^7 E
  1、FTP 服务器运行是否正确
. k: v, r: @( t/ V& t+ |0 S& u  应当定期检查FTP 服务器运行是否正确,如果是Windows NT 系统,可以在本机上使用IP回环(looplack)地址来检验:ftp 127.0.0.1+ S! `' I! {9 F  {
  本机检验与通过Windows NT 和大部分Unix 客户进行检验没什么区别,可以决定FTP 服务器的目录、访问许可等是否正确。
4 g1 p$ K7 m* u0 d9 `/ X7 W) s6 `/ e
7 o! X$ H$ O7 d) _
( ~6 [: K' _; G2 a' T3 N  2、FTP 服务器配置是否正确( M: V& I+ u* G4 Z; c
  根据 CIAC 的建议,在配置FTP 服务器时应考虑下面的原则:/ e, e( C; i' X" y
( `% Z% B! K  B' t6 S- T0 z
  (1)匿名FTP 服务器中的文件和目录不应属于“ftp”,否则匿名用户就可以通过Internet远程修改、替换和删除它们。
5 z2 ]9 K; \, c( r; c
3 F) E, S0 d5 K  (2)不要将、/etc/passwd”文件的任何加密口分放到匿名FTP 区“~ftp/etc/passwd中,因为里客可能取回这些加密口令并试图去破解。也不能对匿名用户设置任何可写文件的权限。即使有时候远程用户认为有这样的目录会觉得比较方便,但同时也可能被黑客用来保在非法文件,包括一些加密材料。
/ M9 F; h# [9 i/ J; J, |6 I" W- y
. Y# x6 u  ]# N   远程登录标准Telnet
- I% }2 z4 N: U/ ~5 [. J0 y  ?
: J& W) |( {! n  Telnet 是一种因特网远程终端访问标准。它真实地模仿远程终端,但是不具有图形功能,它仅提供基于字符界面的访问。Telnet 允许为任何站点上的合法用户提供远程访问权,且不需要做特殊约定。Telnet 并不是一种非常安全的服务,虽然登录时它要采用户认证。由于Telnet发送的信息都未加密,所以信息容易被网络监听。仅当远程机及其与本地站点之间的网络通信安全时,Telnet 才是安全的。这就意味着在互联网上Telnet 是不安全的。
+ Z: i! T! T' e/ [4 e
: `7 N) X* U5 \( w
9 \) V, Y* B) ?; _0 y  现在有一种安全的登录客户程序,然而这种程序应用得井不多,主要是因为应用这种程序,在服务器端要有相应的服务器程序。除了Telnet,还有几种程序能用于远程终端访问和执行程序,如rlogin。rsh 和on。在受托的环境里使用这些程序,允许用户远程登录而无需重新输人口令。
5 g2 W! I: \3 C. {$ S' r
, h3 B8 f- g$ B2 T7 i( z& \( Y0 ?; x
  他们登录的主机相信用户所用的主机已对其用户做过认证。但是使用这几个r 命令是特别不安全的,容易受到IP 欺骗和名字欺骗以及其他欺骗技术的攻击。托管生机模式不适合在因特同上使用,事实上,因为地址信任非常地不安全,所以不要相信自己说来自哪个主机的数据包。
* G! b" v. o$ k1 Q2 A/ f3 B2 m. ?9 T

, ]( ]/ y* o, u: a: f  在没有防火墙保护的网络内使用rlogin 和rsh 是可以的,这取决于企业内部安全措施。然而,on 依靠客户机程序进行安全检查,每个人都可以假冒客户机而回避检查。因此,on 是很不安全的,即使在没有防火墙的局域网内使用(它能让任何一个用户以其他用户的名誉运行任何一个命令)也是如此,最好是废除rexd 服务,使on 失效。
1 Q. @; R! Q7 ^. ?# @. l7 F, s+ W3 i& x& {1 D! ?
   域名服务(DNS)& \0 w4 T( ?* I# p3 y- T8 P& ]

  c* t4 B; O9 L3 Y4 N1 E: |  域名服务是指在人们使用的主机《与机器使用的数字IP 地址之间进行转换。在互联网早期阶段,网上的每个站点都保留一个主机列表,其中列有相关的每个机器的名字和IP 地址。随着联网的主机成百万地增加,每个站点都保留一份主机列表就不现实了,也很少有站点能够那样做。一方面是如果那样做,主机列表会非常大,另一方面是当其他机器改变名字和对应的地址时,主机列表不能及时修改,这两方面的原因都导致主机到表不易修改。
- v! f' o! ]8 _5 u- t# d% j, C% i4 `) w0 e* i# e3 E
8 z" t# b& [* E6 e2 X
  取而代之的是使用域名服务DNS。DNS 允许每个站点保留自己的主机信息,也能查询其他站点的信息。DNS 本质上不是一个用户级回务,但它是SMTP、FTP 和Telnet 的基础,每个其他的服务都用到它,因为用户愿意使用域名而不是那些难记的数字。许多匿名FTP 服务器还要进行名字和地址的双重验证,否则不允许从客户机登录。4 g! q) \6 K3 h8 G

" i# X8 m, L( a; i. l* z5 `  z9 s  }$ W) p0 A% n* A% S
  一般来说,每一个企业网都必须使用和提供名字服务,以便加入互联网。然而,提供DNS服务的主要风险是可能泄露内部机器信息。在DNS 的数据库文件中往往会包含一些主机信息的记录,这些信息如果不加以保护是很容易被外界知道的,也很容易给攻击者提供一些有用信  k3 |' s: R& j
息,如机器所用的操作系统等。
/ R# z& }3 P: ~. q4 g4 `% F% q, [+ q& d& A  P6 y
  内部使用 DNS 和依赖主机名进行认证,使人们无力抵抗那些建立了伪DNS 服务器的入侵者,这可以通过几种方法组合来解决,包括:0 t) {3 R" c; x" L* c# x
使用 IP 地址(而不是主机名)来认证所需的更安全的服务(防止名字欺骗技术)。
* A2 n8 E8 ?. p- W6 H& {0 E0 D- j+ h5 C# j) h7 [

# p) l8 z- \/ b0 z; d  什么是远程攻击 : \3 n& n0 z( o- ]5 O$ g

+ Q  G5 Y  m+ V) d9 c  简单的说,远程攻击就是指攻击远程计算机。“远程计算机”的定义如下: 3 m5 D4 x# v9 Q. |) X5 O0 a
8 j( Y0 Z) y" g* q7 {& q0 }. ~% D& J
  “一台远程计算机是指这样一台机器:它不是你正在其上工作的平台,而是能利用某类协议通过 Internet 网或任何其他网络介质被使用的计算机”。 ! V7 l9 r* J& Y" P, u3 s

% }/ D2 e5 Z; i" K1 @1 b1 l# l. J* G% O+ S2 P
  而准确一点儿说,一个远程攻击的攻击对象是攻击者还无法控制的计算机;也可以说,远程攻击是一种专门攻击除攻击者自己计算机以外的计算机,这台计算机可能是在近在咫尺的同一工作间或是同一楼房中,也有可能是在千里之遥的大洋彼岸。 
/ \; m/ `  ^) A+ z
0 ]6 V" J% \7 G2 |* |1 `
4 B; }4 ~# Y9 G* F/ D/ Q4 M" E   如何进行远程攻击
+ I+ R( M" g3 |! b4 f& H, I5 c7 d8 R3 Y" {/ H
  通常的远程攻击可以分为以下几个步骤进行:
% v2 J- \, y2 b+ n+ l0 J
! z6 ?8 R( C6 N4 {3 k  l、收集目标信息
# {) B  e6 b+ I8 t7 e+ ?4 q; {& p: F. @0 @6 ~/ x  y$ P
  首先,进行远程攻击并不需要和攻击目标进行密切地接触。入侵者的第一个任务(在识别出目标机及其所在的网络的类型后)是决定他要对付谁。此类信息的获得毋须干扰目标的正常工作(假设目标没有安装防火墙,因为大部分的网络都没有安装防火墙,长期以来一直如此)。此类的某些信息可通过下面的技术获得:
& u) d( Y" a. i8 T# w$ R) d
  t6 a5 l( d+ c2 S4 V5 ~. @- f5 X  * 运行一个查询命令 host。通过此命令,入侵者可获得保存在目标域服务器中的所有信息。其查询结果所含信息量的多少主要依靠于网络的大小和结构。旁 WHOIS 查询。此查询的方法可识别出技术管理人员,这类信息也被认为是无用的,其实不然,因为通常技术管理人员需要参与目标网的日常管理工作,所以这些人的电子邮件地址会有些价值(而且同时使用 host和 WHOIS 查询有助于你判断目标是一个实实在在的系统还是一个页结点,或是由另一个服务形成的虚拟的域等等。
# T' S! y+ a$ e# I" Q
1 s1 m- r! v# ]3 u$ i5 D' n% d# h7 e* D* w6 I( G1 V5 \; K5 p4 o  I
  * 运行一些 Usenet 和 WEB 查询。在入侵者和目标进行实际接触之前,他还有许多查询工作要做。其中之一就是查询某位技术管理人员的名字信息(使用强制的、区分大小写的、完全匹配用的条件查询)。通过查询入侵者可了解这些系统管理员和技术管理员是否经常上Usenet。同样,也可在所有可用的安全邮件列表的可查询集合中查询他们的地址。有许多网络服务可用于收集目标的信息,如 finger、howmount 和 rpcinfo 都是好的起点。但不要停滞于此,你还能利用 DNS、Whios、Sendmail(smtp)、ftp、uucp 和其他的可用的各种服务。; Z, }" P9 q& S- U

7 p2 s- h  o: w1 w" G. E; s0 |. Q7 k6 o- R; [
  收集系统管理员的相关信息是最为重要的。系统管理员的职责是维护站点的安全,当他们遇到各种问题时,许多管理员会迫不及待地将这些问题发到 Usenet 或邮件列表上以寻求答案。只要肯花一些时间来寻找此系统管理员的地址(和其他的一些信息)你便能彻底地了解他的网络、他的安全概念以及他的个性。因为发出这种邮件的系统管理员总会指明他们的组织结构、网络的拓补结构和他们面临的问题。因为不直接使用根帐号,所以系统管理员的 ID 可为任何字符串。8 v! I! t& x: c) v5 j7 O

3 T/ n7 R4 Z4 k% \1 t
" m4 ?3 a! X* ~. L% W, J  让我们假设你知道这个 ID:walrus。进一步假设通过 host 查询命令你得到了 150 台计算机的有关信息其中包括每台计算机的名字。例如他们可以是 mail.victim.net、news.victim.net、shell.victim.net、cgi.victim.net 等等(尽管在实践中,它们可能会有'主题’名,从而使外人不知道某台机器负担何种工作)。入侵者应该在每台机器上试一试管理员的地址,事实上除了在网络的每台计算机上尝试管理员的地址外,入侵者还会在每台计算机上尝试所有的具有普遍性的东西。也许可以发现 walrus 喜欢用的计算机,所有信件都是从这台计算机发出的。+ `3 L& m# h) X

% o" @: ?2 N) y6 ]* ?& Q* B9 E4 O- n
6 L& }. h! d$ b( _6 I  请注意如果目标是一个服务提供者(或者允许用户对它进行合法访问的系统)那么通过观察系统管理员从哪里进入系统能获得此管理员的更多信息。一般从外部联合使用 finger 和 rusers 命令即可获得这些信息。换句话说,你要一直留意外部网(除目标网以外的网在这些网络上那个系统管理有一些帐号),如果他最近的一次登录是在 Netcom,跟踪他在 Netcom 帐号一天左右,看看会发生什么。
( y. a0 C6 A8 {  2、关于 finger 查询8 j7 x6 G, C9 \' Y: G; J

; N! t; f# ~& G* Y% y  finger 很可能暴露你的行为,为了避免 finger 查询产生标记,绝大多数入侵者使用 finger gateways(finger 网关)。 finger 网关是一些 WEB 主页,通常包含了一个简单的输入框(field),此框指向在远地服务器硬盘上的一个 CGI 程序,此远程服务器执行 finger 查询。通过 finger 网关的使用,入侵者能隐藏其源地址。
# M0 P6 j9 u7 q/ s1 o
. k; J( G0 q* N6 [1 V5 w  3、关于操作系统- w) k  d7 ~( h( q( p6 r5 k1 R7 t' ~3 l

4 h3 E  |$ B4 a0 k* n0 u  也许你已经使用了各种方法来识别在目标网络上使用的操作系统的类型的版本。无论如何,一旦判断出目标网络上的操作系统和结构是什么样的,下一步的研究工作就可以进行了。
3 C0 _! f2 U; \, y* G7 ~; b/ ~- A* [/ }. T1 U4 _: s% V) [  q
' P  i, l2 t7 |! i+ \" K% W% m
  首先作一张表,列出每个操作系统和机器的类型(这张表对于你进一步进行研究有极大的帮助),然后对每个平台进朽研究井找出它们中的漏洞。5 |' ?+ P4 K+ G8 F
$ o& j" Z2 R  G

1 Z3 \  w: E' ?4 ~7 A. J  4、进行测试" J" [  q- \; }, k8 p, E9 `  m" i/ _; s

0 h% m1 Y5 I1 F- `  实际上只有那些对入侵极热衷的入侵者才会做攻击过程中的测试部分。大部分的入侵者井不想尝试这种行为,因为这需要一定的费用。在此步骤中,首先要建立一个和目标一样的环境。一旦将此环境建立起来后,你就可对它进行一系列的攻击。在此过程中,有两件事需要注
2 m3 i; p- j  x! t4 X4 ]意:
' O! |- b4 l* A, I+ l  (l)从攻击方来看这些攻击行为着上去像什么,. y# A+ D2 R) r  }
  (2)从被攻击方来看这些攻击行为看上去像什么。- `  ~6 E8 p1 E: Z" @0 O% [! W

: u9 E9 j  V& F6 x$ T8 a: `  通过检查攻击方的日志文件入侵者能大致了解对一个几乎没有保护措施的目标进行攻击时攻击行为着上去像什么(目标没有保护措施是指目标机上没有运行传统的守护程序)。这能给入侵者提供一些提示;如果真正的攻击行为和实验结果不一致,那么一定存在着某些原因。一台相同配置的机器(或者,应说成一合配置明显一致的机器)在相同的攻击下应产生相同的反应。+ D& ^8 {: \4 |; ~6 p" b2 S% Q

8 {0 U3 n& a/ L. ?
3 A& P6 _' E; B6 q* |2 A! _3 M  如果结果并非如此,那说明管理目标机的人暗中已有了应急计划。在这种情况下,入侵者应谨慎行动。 通过检查被攻击方的日志,入侵者可了解攻击过程中留下的“痕迹”看上去像什么。这对入侵者来说很重要。在一个异构系统中,存在着不同的日志过程。入侵至少应该知道这些日志过程是什么,换句话说,他需要了解保存入侵“痕迹”的每个文件(在相同配置的计算机上人这些信息是至关重要的,并具有指导作用:它能告诉人侵者删除哪些文件来毁灭其入侵的证据。找到这些文件的推一方法就是在自己控制的环境中进行测试并检查日志。3 n) ]; ~  N& ]7 W

/ X5 j$ J! z4 j' k) o. G. b  5、各种相关工具的准备, o6 a- H4 R) T" x% L9 e: _
% E6 b7 f6 G3 s4 A  m, \. E
  紧接着应该收集各种实际使用的工具这些工具最有可能是一些扫描工具,入侵者至少应该判断出目标网上的所有设备。基于对操作系统的分析你需要对你的工具进行评估以判断有哪些漏洞和区域它们没有覆盖到。在只用一个工具而不用另一个工具就可覆盖某特定设备的情况下,最好还是同时使用这两个工具。这些工具的联合使用是否方便主要依赖于这些工具是否能简易地作为外部模块附加到一个扫描工具上如 SATAN 或 SAFESuite。7 u, `* P" J4 n+ }1 M

( p3 c$ I) ]  {# N- i0 f
8 \- v) I9 g! ~: H  在此进行测试变得极为有价值,因为在多数情况下附加一个外部模块非让它正常地工作井不那么简单。为了得到这些工具工作的确切结果,最好先在某台机器上进行实验(这台机器甚至可与目标机不同)。这是因为,我们想知道是否会由于加上两个或多个单独设计的模块而使扫描工具的工作突然被中断或失败。) p9 D+ Z* v( Q  M8 w6 b' v/ f
' ]5 b5 F7 t& E# P, b
8 P0 ]4 r4 C2 r8 g
  记住,实际的扫描攻击过程只能一气呵成,如果中间被打断,那你不会有第二次机会。于是,根据你想在目标机上得到的东西,你可挑选一些合适的工具,在某些情况下,这是一件轻松的事。例如,也许你已经知道在目标系统上的某人正通过网络运行着一些 X 窗口系统的应用软件在这种情况下,如果你搜索 Xhost 的漏洞,一定能有所收获。记住使用扫描工具是一种激烈的解决方案。它等于是在大白天拿着棍冲到某户人家,去试着撬所有的门和窗。只要此系统的管理员适度地涉猎过一些安全技术,那你的行为在地面前会暴露无遗。
" q( X3 B) _  I; X
) g2 Z9 d' R9 x, y3 u7 C" I, s/ p  6、攻击策略的制定: D2 B# K2 \  o1 H" y) j% k: [
9 T) B2 w# k1 B( V  x. \+ a
  在 Internet 漫游过程中攻击这台或那台服务器的日子基本上已经过去。多年前,只要系统没有遭到破坏,突破系统安全的行为便被看作是一种轻微的越界行为。如今,形势则大不相同。今天,数据的价值成了谈论的焦点。因此作为现代入侵者,没有任何理由就实施入侵是很
# [6 H( q/ q6 @( I  T" z; ]( x- d不明智的。+ Y/ u, s' z4 e& p, w& |
8 Y$ Q: A) s+ j3 l2 O1 c7 B
  反过来,只有制定了一个特定计划再开始进行入侵才是明智之举。攻击策略主要依赖于入侵者所想要达到的目的。需要说明的是扫描时间花得越长,也就是说越多的机器被涉及在内,那么扫描的动作就越有可能被发现;同时有越多的扫描数据需要筛选,因此,扫描的攻击的时间越短越好。一旦通过收集到的数据判断出网络的某部分和整个网络是通过路由器、交换机、桥或其他设备分隔的,那么就应该把它排除在被扫描的对象之外。毕竟攻破这些系统而获得的收益可能微乎其微。8 @8 l6 a0 e) {( W# F* f
: ?3 I, _% x9 t: J1 a: ~0 B& q% V

6 V& m( R( G6 `  假定入侵者获得了此网段上的某系统的根权限,那他能得到什么呢?他可以轻松地穿过路由器、桥或交换机吗?恐怕不能!因此,监听只能提供此网段上其他计算机的相关信息,欺骗方法也只能对此网段内的机器有效。因为你所想要的是一个主系统上(或者是一个可用的最大网段的根权限,所以对一个更小、更安全的网络进行扫描不可能获得很大的好处。无论如何,一旦你确定了扫描的参数,就可以开始行动了。: B* D4 J6 k: Y' F* G" ], D7 P

% F1 H9 E! ^  A. E( T
! k: i  R& Q8 Z$ F$ k# d" J. F/ K  7、扫描结束后0 h7 i& v6 }4 h1 w2 h7 C; I
8 L  e9 }' I9 K
  当你完成扫描后,你便可以开始分析这些数据了。首先你应考虑通过此方法得到的信息是否可靠(可靠度在某种程度上可通过在类似的环境中进行的扫描实验得到。)然后再进行分析,扫描获得的数据不同则分析过程也不同。在 SATAN 中的文档中有一些关于漏洞的简短说$ u8 S% ]: c- X6 b" `' b
明,并且真接而富有指导性。如果找到了某个漏洞,你就应该重新参考那些通过搜索洞和其他可用资源而建立起来的数据库信息。主要的一点是,没有任何方法能使一个新手在一夜之间变成一位有经验的系统管理员或入侵者,这是残酷的事实。在你真正理解了攻击的本质和什么应从攻击中剔除之前,你可能要花上数个星期来研究源码、漏洞、某特定操作系统和其他信息,这些是不可逾越的。
8 R- h# j* I; t2 I* H1 f& C, p4 V5 P. C+ j: Z, Q: c

( i% t0 Q$ A3 P% x& [  在攻击中经验是无法替代的,耐心也是无法替代的。如果你缺乏上述任何一个特点,那就忘记进攻吧。这是此处的重要一点。无论是像 KevinMitnik(入侵者)这种人还是像 Weitse Venema(里客)这种人,他们几乎没有区别。他们是计算机安全领域内的著名入土(在某些情况下,甚至远远超过)。
$ K" e0 J) m9 ?) U. S7 R6 t( o4 l% s* K' x1 o# a

' ~, ?0 ?* w4 z7 i  然而他门的成果化论是好是坏)都来自于艰苦的工作、学习、天赋、思想、想象和自我钻研。因此,防火墙无法挽救一个不能熟练使用它的系统管理员;同样,SATAN 也无法帮助一个刚出道的入侵者攻破远程目标的保护。远程攻击变得越来越普遍,扫描工具的运用已被更多的普通用户所常握。类似的。可查询的安全漏洞索引的大量增加,也极大地促进了人们识别可能的安全问题的能力。虽然这里列出了远程攻击的一般步骤,但是如果作仅是一位初学者的话,不要指望能够据此进行远程攻击,一个经过很好计划和可怕的远程攻击。需要实施者对 TCP/IP 以及系统等方面的知识有着极深刻的了解。
上一篇
下一篇
帖子热度 7719 ℃

清风徐来 「龙战于野」 2016-7-25 12:05 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

好长的帖子               
1 I& k7 g- W& J+ `3 V* t) Y...
雾月 「出类拔萃」 2018-5-5 17:08 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

佩服佩服!#j325:
耀眼的阳光 「出类拔萃」 2018-5-10 15:38 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

支持你哈............
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表