马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。
您需要 登录 才可以下载或查看,没有账号?立即加入
×
黑客是怎样攻击服务器的(上) 9 e5 H( ?; c% t5 r
文:Saumil Udayan Shah
3 }# ^3 g! j/ z3 Z0 p" ~+ X/ d 译:杨宴雷
$ _, l# v2 W7 I* t% v
/ B" c4 Y( G/ x: a. N/ q( Y??Web服务器将成为下一代黑客施展妖术的对象。在很大程度上,进行这种攻击只需一个' _3 {( g6 z( {; B/ J8 v( J8 _4 F
Web浏览器和一个创造性的头脑。以前,黑客的攻击对象集中在操作系统和网络协议上,但
# s6 Z5 \; m6 R/ N* z随着这些攻击目标的弱点和漏洞逐渐得到修补,要进行这类攻击已经变得非常困难。操作系7 a5 ?5 [* ^2 u9 e7 E: L Z7 R
统正在变得更加稳健,对攻击的抵抗能力日益提高。随着身份验证和加密功能渐渐被内置到
* I' q6 M0 v4 H( m4 t网络协议中,网络协议也变得更加安全。此外,防火墙也越来越智能,成为网络和系统的外
& L+ g C$ b; B; l6 y0 A部保护屏障。 ^/ V% A+ Q' |! q" c! b& \& a
7 z6 f" J; B# P0 E??另一方面,电子商务技术正在日益普及开来,其复杂性有增无减。基于Web的应用程序" o& t' O' h8 \* P! ]! ?5 H8 s
正在与基本的操作系统和后端数据库更加紧密地集成在一起。遗憾的是,人们在基于Web
; A. I" Q$ l6 C" `5 u" i5 e的基础设施安全性方面所做的工作还很不够。Web服务器和Web应用程序中的弱点被发现的
; S) a) h5 S, I9 g速度为何这么快呢?
8 g; g- y. C- k# a7 N- \* M 0 ^; E8 K, g2 W6 f
??有很多因素促成了这种Web黑客活动的快速增加。其中最主要的原因是防火墙允许所有2 J3 \( ^# ?, `( U8 H' R
的Web通信都可以进出网络,而防火墙无法防止对Web服务器程序及其组件或Web应用程序
7 r! k" v, m' e的攻击。第二个原因是,Web服务器和基于Web的应用程序有时是在"功能第一,安全其次"
0 |5 Q/ q* |0 `1 T" X* |. Y' g7 e的思想指导下开发出来的。 % X* p a: _' h' A+ a- k3 |3 c
$ S$ {; k! T% i2 a- a7 E m3 L??当您的Web服务器面临巨大威胁时,怎样保障它们的安全呢?这就需要您不断了解新信1 z% F" X4 C% _
息,新情况,每天跟踪您所用服务器的有关网站,阅读相关新闻并向它进行咨询。为了让你
1 ^1 E$ D# Y. C" a) h' h着手这方面的工作,下面介绍黑客对NT系统的四种常用攻击手段,同时介绍如何防止这类! A6 D+ \7 _+ f" B3 L
攻击。 R7 S- Y. [8 l. z) t$ I, r7 R
+ R3 s$ U% s5 _" h
Microsoft IIS ism.dll缓冲区溢出
& y5 O# f: a7 Q, i) H& c受影响的服务器:运行IIS 4.0并带有"Service Pack 3/4/5"的Windows NT服务器
1 }3 I1 d! U" ^ 0 O) j! D8 B% R8 v2 E
??Microsoft IIS缓冲区溢出这一安全弱点是Web服务器无时不有的重大缺陷之一。该弱
% l |( N! t% h9 J U2 o& n) ]点被称为IIS eEye,这个名称来自发现此问题的一个小组。在实施缓冲区溢出攻击时,黑! d% D) @8 ^: Y% O
客向目标程序或服务输入超出程序处理能力的数据,导致程序突然终止。另外,还可以通过# T' x; v4 N& @- W
设置,在执行中的程序终止运行前,用输入的内容来覆盖此程序的某些部分,这样就可以在/ \4 O3 H' Q/ O7 _' m; D; ^1 Z
服务器的安全权限环境下执行任意黑客命令。
. `0 V0 P* N9 ?: h3 u2 {. ~1 z8 J
| _% e0 ]5 h6 [6 w) h. J/ {??eEye发现,IIS用来解释HTR文件的解释程序是ism.dll,它对缓冲区溢出攻击的抵抗
! c" x( r3 H4 d* Q力十分脆弱。如果攻击者将一个以.htr结尾的超长文件名(大约3,000个字符,或更多)
/ S( j# R- g1 X, `% R传递给IIS,那么输入值将在ism.dll中造成输入缓冲区溢出,并导致IIS崩溃。如果攻击, d' \, A5 c8 ~0 @
者输入的不是一串字母而是可执行代码(通常称为"鸡蛋"或"外壳代码"),那么在IIS
3 d" Y7 o1 x: ]6 y终止之前将执行该代码。由eEye小组发现的这一攻击方法包括三个步骤: ' a+ ~4 j* E# K1 e5 j! g, b u `
: W$ M5 ^0 Y- X* J1 k8 C; [
1.创建一个用于侦听任意TCP端口上连接活动的程序。一旦接收到连接信号,该程序将执
& Z- H5 {) a2 ?/ l7 ]行一个Windows命令外壳程序(cmd.exe),并将该外壳与连接绑定在一起。这个程序是经过
/ p& P8 Y# e* I' D0 _; ^修改的Netcat。Netcat是一个流行的网络连接实用程序,其源代码可以免费获得。
' L* x; T9 z0 ~: y& N2.在IIS的ism.dll中制造缓冲区溢出,并使IIS从外部Web站点下载侦听程序(由步骤9 J$ g& I6 V& ~( P2 g# o% }/ j
1产生)。
* W; [) P# X; q3 o( f3.执行刚下载的程序(由步骤2产生),该程序将等待传入的连接并使攻击者进入Windows
9 B7 [9 j- X3 ~. d命令外壳程序中。 $ `- E5 x b- f0 M3 Y8 g8 Q K
- H, q6 q1 S9 c8 q# I3 L# U
??由于缓冲区溢出导致IIS在崩溃之前转而运行Windows命令外壳,所以该外壳程序将在
+ f7 R' f& F: i! }1 MIIS的安全权限背景下运行,而该安全权限背景等价于NT Administrator权限。这样,攻
s/ h! q4 V t- [/ o击者要做的只是与被攻击的IIS服务器的侦听端口建立连接,然后等着出现c:>提示就万事
+ \) C3 g2 h* n) y( m y大吉了。现在,攻击者拥有对整个NT服务器的管理权限,可以做任何事,比如,添加新用
; L. ^7 A5 g8 O户、修改服务器的内容、格式化驱动器,甚至将该服务器用作攻击其它系统的踏脚石。 $ c, w: e) i9 y6 J. ^7 ?
: j6 m4 U: w4 [; F2 b# [5 P- f
??运行IIS 4.0并带有"Service Pack 3/4/5"的Windows NT服务器容易受到此类攻击。) `+ ~5 G2 r3 M/ \! c! k
Microsoft已经发布了对该弱点的修补程序。Windows NT Service Pack 6也已经修补了该
5 J2 c! t) O* o$ N/ r8 l问题。 |