|
รู้จักกับ
NetWare Security
คุณสามารถเข้าสู่ระบบเน็ตแวร์ใด ๆ ก็ได้ภายในสิบนาที
มีอย่างน้อยหนึ่งร้อยวิธีในการเข้าสู่ระบบและอย่างน้อย ห้าวิธีที่เป็นไปได้ภายในสิบนาที
บทนี้จะมาดูกันถึงวิธีการเหล่านี้ เพื่อให้เข้าใจถึงช่องโหว่ทีมีอยู่ในระบบของคุณ
เพื่อให้คุณสามารถแก้ไขได้เท่านั้น ไม่มีวิธีการที่ซับซ้อนที่เสนอนี้
มีเพียงวิธีการที่เร็วมาก ๆ ในการบุกรุกเข้าสู่ระบบ ในฐานะที่คุณเป็นผู้บริหารระบบควรพยายามทดลองวิธีการเหล่านี้กับระบบคุณเอง
แล้วคุณจะพบว่ามันมีส่วนจริงมากทีเดียว ตอนต่อไปนี้จะเสนอวิธีการตั้งแต่วิธีที่ง่ายที่สุดไปจนถึงยากที่สุด
ทำให้รู้ว่าวิธีไหนเป็นวิธีแรกที่ใครบางคนที่ ต้องการบุกรุกเข้าสู่ระบบของคุณโดยมีเจตนาร้าย
เพื่อประโยชน์ในการอธิบาย
สมมติว่าเซิร์ฟเวอร์นี้ใช้
NetWare เวอร์ชัน 3.12 (สามารถปรับใช้กับเวอร์ชันใดก็ได้ และคุณสามารถใช้ชื่อ Admin
แทนชื่อ Supervisor ถ้าใช้เวอร์ชัน 4.1)
วิธีที่หนึ่ง
วิธีแรกเป็นวิธีที่ป้องกันได้ยากมาก: เดินไปที่หน้าจอซึ่งมีการ log in เข้าสู่ระบบแล้ว
ในเวลาอาหารเที่ยง เวลาหยุดพักเวลาประชุมและเวลาอื่น ๆ ตลอดทั้งวัน ผู้ใช้งานคอมพิวเตอร์เดินออกไปจากหน้าจอ
ถ้าเขาลืม log out ออกจากระบบและปิดคอมพิวเตอร์ แสดงว่ายังมีการติดต่อกับเน็ตเวิร์คและ
ใคร ๆ สามารถใช้เครื่องนี้ได้ตามต้องการ ถึงแม้ว่าผู้ใช้คนนั้นจะมีสิทธิ์ทำอะไรในเน็ตเวิร์คได้ไม่มากนัก
ถูกจำกัดในสิ่งที่สามารถทำต่อเน็ตเวิร์ค แต่ผู้บุกรุก
ยังสามารถหาข้อมูลที่มีประโยชน์ที่เกี่ยวข้องกับเน็ตเวิร์คนั้นเพื่อใช้ในเวลาต่อมา
เขาสามารถใช้คำสั่ง USERLIST เพื่อดู login name ของยูสเซอร์คนอื่น:
User Information for Server PRIMER
Connection User Name Login Time
................. ................... ......................
3 IBIGGS 8-31-1995 8:40 am
4 KBIGGS 8-31-1995 6:33 am
6 KYO_160393 8-28-1995 11:29 am
7 DD 8-31-1995 6:47 am
8 SW 8-31-1995 8:37 am
9 LW 8-31-1995 9:23 am
10 TA 8-31-1995 7:22 am
11 KYO_160203 8-29-1995 7:57 am
12 SM 8-31-1995 8:54 am
13 JL 8-31-1995 7:53 am
14 KO 8-31-1995 8:03 am
15 TT 8-31-1995 8:09 am
16 * WSTEEN 8-31-1995 8:03 am
17 AB 8-31-1995 8:13 am
18 JK 8-31-1995 7:26 am
19 SK 8-31-1995 8:39 am
20 AB 8-31-1995 8:18 am
21 JS 8-31-1995 8:45 am
22 SS 8-31-1995 8:20 am
23 MF 8-31-1995 8:07 am
Press any key to continue ... ( 'C' for continuous)
ผู้บุกรุกสามารถใช้คำสั่ง SLIST
เพื่อดูรายชื่อของเซิร์ฟเวอร์ทั้งหมดในเน็ตเวิร์ค:
Know NetWare File Servers Network Node Address Status
.............................................. ............. .......................
..........
866-IST-EXPRESS [ 705C02] [ 1]
ABACON [ 7777] [ 1]
AL1 [ 501109A] [ 1]
CDROM [8CCD3F8A] [ 1]
CHILDRENS1 [1462201E] [ 1]
COL_WSCHGRP [5015009A] [ 1]
CONSADMIN [14622011] [ 1]
CONSUMER1_EXPRESS [ 81B01] [ 1]
CONSUMER_866_INV [14622012] [ 1]
CORPACCT-EXPRESS [ 7AB97] [ 1]
CORPACCT1 [5026809A] [ 1]
CORPACCT2 [5025809B] [ 1]
CORPACCT3 [5025809C] [ 1]
CPROD [ 504301A] [ 1]
CREDIT1 [ 50149A] [ 1]
CREDIT2 [ 50149B] [ 1]
CREDIT3 [ 50149C] [ 1]
DESIGN1 [ 501400D] [ 1]
ECNORTH [ 112342] [ 1]
EXEC1 [1462121B] [ 1]
FAC1230 [1462201A] [ 1]
FINREP1 [5026809D] [ 1]
Press any key to continue ... ( 'C' for continuous)
ผู้บุกรุกดูเวอร์ชันของเน็ตแวร์ (และจำนวนผู้ใช้) ที่ใช้อยู่โดยใช้คำสั่ง
NVER:
C:\TMP>nver
NETWARE
VERSION UTILITY, VERSION 3.12
IPX
Version: 3.30
SPX Version: 3.30
LAN
Driver: 3Com 3C509 EtherLink III Adapter V1.00
IRQ A, Port 0300
Shell
V4. 10 Rev. A
DOS: MSDOS V6.20 on IBM_PC
FileServer:
PRIMER
Novell NetWare v3.11 (50 user) (8/9/91)
FileServer:
MP
Novell NetWare v3.12 (250 user) (8/12/93)
C:\TMP>
ผู้บุกรุกสามารถเข้าถึงข้อมูลเหล่านี้ได้ และเข้าถึงไฟล์บางไฟล์ (ถึงแม้จะจำกัด)
เปลี่ยนรหัสผ่านผู้ใช้และอื่น ๆ การเดินออกจาก workstation ที่ log in อยู่เหมือนกับการปิดธนาคารในตอนเย็นแต่ไม่ได้ล๊อคประตูหน้าและห้องเก็บเงิน
เป็นไปได้อย่างมากว่าจะไม่มีใครพยายามเข้าไป แต่อะไรจะเกิดขึ้นถ้ามีบางคนทำอย่างนั้น
ลองคิดถึงกรณีที่ผู้ใช้งานจากที่บ้านติดต่อเขามาโดยใช้ซอฟท์แวร์เช่น Close-Up,
PCAnywhere หรือซอฟท์แวร์อื่นก็ตาม เวลาที่พวกเขาออกจากที่ทำงาน พวกเขาเปิดโหมด
"host" ในเครื่อง workstation ไว้ เมื่อจากจะโทรศัพท์เข้าไปจึงเปิดโหมด
"remote" ในเครื่องคอมพิวเตอร์ที่บ้านแล้วจึงติดต่อกันโดยใช้โมเด็ม ยูสเซอร์พวกนี้
log out ออกจาก workstationของพวกเขาก่อนออกจากที่ทำงานหรือยัง หรือพวกเขายัง log
in อยู่เพื่อให้พวกเขาจะได้ไม่มีปัญหาเวลาติดต่อมาจากโมเด็มที่บ้านอย่างนั้นหรือ
การไม่ log out ออกจาก ระบบเหมือนกับการเดินออกจากหน้าจอ ตอนนี้ workstation นี้สามารถเข้าถึงโดยใครก็ตามที่นั่งอยู่ที่หน้าจอและใครก็ตามที่โทรศัพท์เข้ามาที่เบอร์ที่ต่อกับโมเด็ม
วิธีแก้ไข
เน็ตแวร์มีปัญหาอย่างเห็นได้ชัดที่เกี่ยวกับการไม่ log out การติดต่อที่ไม่มีการทำงานตอบโต้กันกับระบบ
ระบบปฏิบัติการอื่นบางระบบมีลักษณะเด่นนี้แต่เน็ตแวร์ไม่มีและบางทีอาจไม่มีวัน
วิธีแก้ไขหนึ่งคือทำให้ workstation มี screen saver ที่ต้องใส่รหัสผ่านเพื่อให้หน้ากลับมาใช้งานได้อีกครั้ง
เมื่อเวลาที่ผู้ใช้ออกจากหน้าจอ ให้กำหนดช่วงเวลาที่ screen saver ทำงาน เมื่อผู้ใช้กลับมาและกดปุ่ม
คีย์บอร์ดที่หน้าจอจะถามรหัสผ่านก่อนที่ screen
saver จะยอมให้พวกเขาทำงานต่อไป
วิธีที่สอง
ถ้าไม่มี workstation ที่ log in แล้วที่สามารถใช้งานได้ทันที
วิธีต่อไปคือให้ log in เข้าไปในเซิร์ฟเวอร์ หา workstation ที่ไม่มีคนใช้ ทุกคนที่ใช้เครื่องอยู่อาจสังเกตคุณได้
บอกพวกเขาว่าคุณอยู่ในแผนก MIS (Management Information System) หรือพนักงานบริษัทผู้ผลิตคอมพิวเตอร์ที่ได้รับการร้องเรียนเรื่องอาการหน้าจอติด
ๆ ดับ ๆ จะช่วยได้มากถ้าคุณรู้ login ID ในเน็ตเวิร์คนั้นแล้วจึงพยายาม login โดยใช้ชื่อนั้น
ถ้าไม่ก็ลองรีบูต เครื่องแล้วดูว่าคอมพิวเตอร์นั้นพยายามที่จะ log in เป็นใครหรือไม่
เพราะผู้ใช้ที่ขี้เกียจหลายคนจะใส่ข้อความ ดังต่อไปนี้ลงไปในไฟล์
AUTOEXEC.BAT:
LOGIN WSTEEN
วิธีนี้ทำให้ยูสเซอร์ไม่ต้องพิมพ์ WSTEEN ในแต่ละครั้งในการเปิดคอมพิวเตอร์
ถ้าคุณโชคดีจริง ๆ ยูสเซอร์ นั้นจะไม่มีรหัสผ่านและคุณเข้าสู่ระบบได้ ถ้าหน้าจอขึ้น
login prompt แทนที่จะถามรหัสผ่าน แสดงว่ายูสเซอร์ คนนั้นไม่ได้ใส่บรรทัดข้างบนลงในไฟล์
AUTOEXEC.BAT (หรือ STARTNET.BAT)
ให้กำจัด login prompt โดยกด Ctrl+C แล้วใช้คำสั่ง TYPE เพื่อดู BAT ไฟล์ทั้งหมดที่อยู่ในระบบ
ดูว่ามีบรรทัดที่ได้รับการ comment ไว้ที่บอกถึง login ID หรือไม่ ตรวจดูทั้งไฟล์
AUTOEXEC.BAT และ STARTNET.BAT เช่นเดียวกับไฟล์ อื่นที่อยู่ในไดเร็กทอรีรากของ
BAT ไฟล์ หาบรรทัดที่เริ่มต้นด้วยเครื่องหมายโคลอนหรือเครื่องหมายอื่นที่ไว้สำหรับการ
comment ถ้ายังไม่สามารถหา login ID เจอให้เปลี่ยนไปใช้วิธีที่สามแทน คุณสามารถหา
login ID ได้และ ID นี้ไม่มีรหัสผ่าน แต่ถ้ามีรหัสผ่านก็จะมี password prompt ขึ้นมา
ขั้นต่อไปจึงใส่รหัสผ่าน ยูสเซอร์มีแนวโน้มที่จะ ทำอย่างหนึ่งอย่างใดในสองอย่างนี้:
* เลือกใช้รหัสผ่านที่จำง่าย
* เลือกใช้รหัสผ่านที่จำยาก
ลองมาคาดหวังกับกรณีที่สอง ถ้ารหัสผ่านจำยากและยากต่อการเดา
อาจหมายถึงยูสเซอร์กลัวที่จะลืมรหัสผ่าน พวกเขาจะต้องเขียนไว้ที่ไหนสักแห่ง เป็นที่ที่อยู่ใกล้กับหน้าจอเพราะเกรงว่าถ้าเก็บไว้ในที่ที่หายาก
พวกเขาจะลืมอย่างแน่นอน
ลองค้นหาอะไรก็ตามที่ดูเหมือนลึกลับที่ติดอยู่บนหน้าจอ ถ้าไม่มีให้ดูที่ตัวเคสคอมพิวเตอร์ที่อยู่ใกล้จอและคีย์บอร์ด
ถ้ายังหาไม่เจอ ให้ดูที่ผนังและพื้นผิวของโต๊ะ หรือถ้าเป็นไปได้ให้ดูที่ลิ้นชักบนสุดของโต๊ะโดยไม่จำเป็นต้องรื้อของในลิ้นชัก
ถ้ารหัสผ่านอยู่ที่นั่น
มันจะอยู่ข้างบนหรือติดอยู่ข้างหนึ่งของลิ้นชักนั่นเอง ถ้าคุณยังหาไม่เจอ อาจหมายความว่ารหัสผ่านไม่ได้ยากต่อการจำ
ถ้าผู้ใช้เลือกใช้รหัสผ่านที่จำง่าย พวกเขาจะ เลือกใช้รหัสผ่านต่อไปนี้ซึ่งเป็นสิ่งที่ไม่ควรทำอย่างยิ่ง:
* ใช้ชื่อของเขาเอง (หรือนามสกุล)
* ใช้บางส่วนของชื่อสมรสหรือนามสกุลเดิมก่อนแต่งงาน
* ใช้ชื่อเล่นที่ฟังดูแล้วตลก
* ใช้คำที่กล่าวมาแล้วแต่สะกดกลับหลัง
* ใช้อักษรตัวเดียว
* ใช้รหัสผ่าน "password"
* ใช้ตัวอักษรที่เรียงตามคีย์บอร์ด เช่น "qwerty" มักใช้กันบ่อย
* ใช้ชื่อตัวละครในโทรทัศน์ที่เขาเพิ่งเอ่ยถึงในสัปดาห์นั้น
* ใช้คำที่พบในดิกชันนารีทั่วไป
รายการเหล่านี้ส่วนใหญ่ง่ายต่อการเดามากและไม่ต้องใช้ความพยายามมาก
บริษัทเล็ก ๆ หลายบริษัทมักพิมพ์รายชื่อของลูกจ้างที่มี ชื่อของลูกจ้าง
ที่อยู่ คู่สมรส และลูกของแต่ละคนเป็นประจำ ถ้ามีรายการนั้น ผม(ผู้เขียน)
รับประกันได้ว่าใครบางคนที่มีชื่ออยู่ในรายการนี้ใช้รหัสผ่านที่มีอยู่ในรายชื่อนี้
ข้อเสียหนึ่งของเน็ตแวร์คือ
ไม่ใช่แบบ case-sensitive
(แบ่งตัวอักษรภาษาอังกฤษเป็นตัวใหญ่-ตัวเล็ก) หมายความว่าตัวอักษรมีเพียง 26 ตัว
ไม่ใช่ 52 ตัว ในยูนิกซ์ เช่น ยูสเซอร์คนหนึ่งมีรหัสผ่าน "BosTon" ผู้บุกรุกพยายามเดารหัสผ่านเป็น
"boston", "Boston", "BOSTON" และอื่น ๆ โดยไม่ถูกต้องเลยก็ได้
ในเน็ตแวร์ถือว่ารหัสผ่านเหล่านี้ถูกทั้งหมดและยอมให้ผู้บุกรุกเข้าสู่ระบบ ในช่วงเวลาที่ใช้
NetWare เวอร์ชัน 2
กันนั้นมีโปรแกรมแชร์แวร์ที่หาได้ตามบูเลตินบอร์ดหลาย ๆ แห่ง ชื่อ "NETCRACK"
โปรแกรมนี้ออกแบบนี้มาเพื่อแสดงให้เห็นว่าง่ายแค่ไหนในการบุกรุกเข้าสู่ระบบเน็ตแวร์
NETCRACKจะเอาชื่อของยูสเซอร์ไปเดารหัสผ่านเป็น "A" ถ้าไม่ใช่ "A"
ก็เปลี่ยนเป็น "B" หลังจากเดารหัสผ่านโดยใช้ตัวอักษรหมดแล้วจึงเดาจาก
0 ถึง 9 ถ้ายังไม่เจอก็จะเดา "AA" แล้วจึงเดา "AB" เมื่อเดาจนถึง
"A9"
แต่ยังเข้าสู่ระบบไม่ได้ ก็จะใช้ "BA" ตามด้วย "BB" ต่อไปเรื่อย
ๆ หลังจาก "99" แล้วแต่ยังเข้าไม่ได้ก็จะใช้ "AAA" ตามด้วย
"AAB"ไปเรื่อย ๆ ยิ่งมีตัวอักษรมากเท่าไหร่ ยิ่งต้องใช้เวลามากขึ้นเท่านั้น
แต่มีข้อดีคือ ไม่ต้องทำอะไรเลยนอกจากรอโปรแกรมจะพยายามเดาไปเรื่อย ๆ จนกว่าจะหารหัสผ่านเจอและเข้าสู่ระบบได้
วิธีแก้ไข
การให้ความรู้กับยูสเซอร์เป็นทางแก้ไข ยูสเซอร์ทุกคนในระบบต้องมีรหัสผ่าน
รหัสผ่านควรยาวหกถึงแปดตัวอักขระ ประกอบด้วยตัวเลข สัญลักษณ์และตัวอักษร ถ้ามีเพียงตัวเลข
วิธีที่เป็นไปได้ในการเดามี 10 วิธี (0-9) ถ้ารวมตัวอักษร 26 ตัวเข้าไปด้วย วิธีการเดาสำหรับแต่ละตัวอักขระก็จะเพิ่มจาก
26 เป็น 36 รวมสัญลักษณ์ที่เป็นไปได้ 10 ตัว คือ ! # $ % & ' ( ) - @ เพิ่มโอกาสความเป็นไปได้เป็น
46 ผู้บุกรุกต้องพยายาม 46 วิธีสำหรับแต่ละตัว รหัสผ่านที่มี 8 ตัว ความเป็นไปได้ที่ผู้บุกรุกต้องพยายามเดามีประมาณ
46x46x46x46x46x46x46x46
หรือ 46 ยกกำลัง 8 เท่ากับ 20,047,612,231,936 ถ้าเปรียบเทียบกับการใช้เพียงตัวเลข
8 ตัว โอกาสทั้งหมดเท่ากับ 10 ยกกำลังแปดหรือ 100,000,000 ถ้าใช้เพียงตัวอักษรเพียง
3 ตัว มีโอกาสมากที่สุดเพียง 17,576 วิธีสำหรับการเดารหัสผ่านลองคิดดูว่า
คอมพิวเตอร์เร็ว ๆ จะใช้เวลาแค่ไหนในการเดารหัสผ่าน 17,576 วิธี
ต่อไปนี้เป็นรูทีนภาษาเบสิคที่ทำงาน ดังกล่าวทั้ง 17,576 วิธี
CLS
PRINT TIME$
FOR i = 65 TO 90
FOR j = 65 TO 90
FOR k = 65 TO 90
NEXT k
NEXT j
NEXT i
PRINT TIME$
65 เป็น ASCII code ของ "A" 90 เป็น ASCII code ของ "Z"
จะใช้เวลานานเท่าใดสำหรับการจัดหมู่ 17,576 วิธี ? ดูที่ค่า TIME$ สองตัวที่พิมพ์ออกมาแสดงให้เห็นว่าใช้เวลาเพียงหนึ่งนาทียี่สิบหกวินาที
ในเครื่อง 386SX ที่มีโปรแกรมอื่นรันอยู่ใน windows อื่นด้วย
ยิ่งรหัสผ่านยาวเท่าใดและมีตัวอักขระมากเท่าที่เป็นไปได้ ยิ่งยากในการ crack รหัสผ่านมากเท่านั้น
ไม่จำเป็นที่ทุก ๆรหัสผ่านต้องมีตัวเลข ตัวอักษรและสัญลักษณ์ แต่ขึ้นอยู่กับว่าทางเลือกใหนที่ทำให้จำนวนของความเป็นไปได้เพิ่มขึ้น
ควรอธิบายยูสเซอร์ถึงความสำคัญของการไม่เขียนรหัสผ่านในที่ซึ่งเห็นง่าย ถ้าจำเป็นที่จะต้องเขียนลงไป
เนื่องจากรหัสผ่านจำยาก
ให้ยูสเซอร์เขียนลงในธนบัตรและนำติดตัวไปด้วย แนะนำให้ยูสเซอร์ใช้โปรแกรมสร้างรหัสผ่านแบบสุ่ม
ซึ่งอาจเป็นโปรแกรมที่มีจำหน่าย หรือคุณอาจเขียนมันด้วย ตัวคุณเองด้วยภาษาใดก็ได้
(BASIC, C++,และอื่น ๆ )
วิธีที่สาม
ถ้าคุณไม่สามารถหา login ID ของยูสเซอร์ทั่วไปได้
คุณไม่มีทางเลือกอื่นนอกจาก log in เข้าไปโดย ID ที่มี อยู่แล้ว: GUEST หรือ SUPERVISOR
เมื่อลง NetWare 3.x เรียบร้อยแล้วจะมีการสร้าง account 2 account นี้ขึ้นมา ซึ่งมีสิทธิ์เข้าสู่ระบบได้
ตลอดเวลาและไม่มีรหัสผ่าน
หลังจากลงเน็ตแวร์เรียบร้อยแล้วผู้บริหาระบบก็จะไปกำหนดรหัสผ่านและข้อจำกัดของ
account ผู้บริหารระบบทุกคนทำเช่นนี้กับ account SUPERVISOR แต่มีน้อยคนที่จะนึกถึง
account GUEST
การละเลยนี้อาจนำไปสู่ขั้นตอนแรกของการบุกรุกเข้าสู่ระบบ พยายาม log in เข้าไปโดย
GUEST และคาดหวังว่าจะไม่มีรหัสผ่าน
ถ้ามีรหัสผ่านก็ไม่ยากต่อการเดานัก:
* คำว่า "GUEST"
* คำว่า "password"
* ชื่อบริษัท
* ส่วนหนึ่งของชื่อบริษัท
หลังจากเข้าสู่ระบบได้แล้ว คุณจะอยู่ในกลุ่ม EVERYONE
และสามารถเข้าถึงข้อมูลได้มากมาก
ข้อสังเกต: ไม่ควรประเมินความสามารถของ account GUEST ต่ำเกินไป
ยูสเซอร์สามารถใช้คำสั่ง NVER, USERLIST และ SLIST เพื่อหาข้อมูลเกี่ยวกับระบบหรือยูสเซอร์ในระบบ
สามารถใช้คำสั่ง SYSCON ดูรายชื่อยูสเซอร์ทั้งหมดและกลุ่มของพวกเขา จากอีกมุมหนึ่ง
ผู้บุกรุกสามารถดูชื่อกลุ่มยูสเซอร์ได้ทุกกลุ่ม
แล้วเลือกกลุ่มที่ทำให้เขาสามารถเข้าถึงข้อมูลที่เขากำลังหา และดูรายชื่อของสมาชิกของกลุ่มนั้น
ถ้ากลุ่มนั้นเป็นกลุ่มที่ผู้บุกรุกเป็นสมาชิกอยู่ เช่น กลุ่ม EVERYONE ผู้บุกรุกสามารถดูว่าใครเป็น
manager ของกลุ่มนั้นและดูว่ามีการกำหนดความเชื่อถือให้กับยูสเซอร์(trustee assignment)อย่างไร
ทั้งไฟล์และไดเร็กทอรี
ยูสเซอร์ GUEST สามารถใช้คำสั่ง FCONSOLE ได้ด้วย แต่ยูสเซอร์นี้ไม่สามารถปิดไฟล์เซิร์ฟเวอร์ได้
ถ้าผู้บริหารระบบไม่ได้กำหนดให้ GUEST เป็น console operator ไม่สามารถส่ง broadcast
message แต่สามารถดูได้ว่ามีใครlog in อยู่และ login ที่ใด แม้แต่คำสั่ง WHOAMI
ก็สามารถแสดงให้เห็นข้อมูลจำนวนมากเกี่ยวกับระบบ และสิทธิ์ที่ GUEST สามารถ เข้าถึงข้อมูลได้มากเพียงใด
F:\PUBLIC>whoami /a
You are user GUEST attached to server PRIMER, connection 16
Server PRIMER is running NetWare v3.11 (50 user).
Login time: Thursday August 31, 1995 3:27 pm
You are security equivalent to the following:
EVERYONE (Group)
You are a member of the following group:
EVERYONE
[ ] SYS:
[ R F ] SYS:LOGIN
[ R F ] SYS:PUBLIC
[ C ] SYS:MAIL
[ RWCEMF ] SYS:MAIL/3C000008
[ F ] SYS:MHS
[ R F ] SYS:MHS/SYS
[ C F ] SYS:MHS/MAIL
[ RW F ] SYS:MHS/MAIL/PUBLIC
[ RWCFMF ] SYS:MHS/SW
[ R F ] SYS:MHS/EXE
[ RWC F ] SYS:HOME/GUEST
[ RWCEMFA] SYS:NETWORKT
[ RWCEMFA] SYS:NETWORK0
[ ] VOL1:
ความรู้ทั้งหมดที่เกี่ยวกับระบบ ผู้บุกรุกสามารถรู้ได้ถึงแม้ว่าจะเป็นเพียง
GUEST ก็ตาม เขาสามารถวางแผน วิธี log in เป็นยูสเซอร์ที่มีระดับสูงกว่าและทำอันตรายได้มากกว่า
วิธีแก้ไข
วิธีแก้ไขที่ดีที่สุดคือ การปิดการใช้งาน account GUEST จากเมนูของ SYSCON
เป็นการป้องกันไม่ให้ใครสามารถใช้ account นี้ได้ ถ้าการปิดการใช้งาน account นี้ไม่ทางแก้ไขที่ทำให้สามารถทำงานต่อไปได้
ให้ดูที่ข้อจำกัดสิทธิ์ของ account นี้อย่างระมัดระวัง และดูว่าอะไรควรมีการจำกัด
ให้จำกัดจำนวนที่อนุญาตให้การติดต่อในเวลาเดียวกัน กำหนดให้มีรหัสผ่านมีความยาวอย่างน้อยห้าตัวอักขระ
ป้องกันไม่ให้ยูสเซอร์นี้สามารถเปลี่ยนรหัสผ่านของ ตนเองและเปลี่ยนมันด้วยตัวคุณเองอย่างสม่ำเสมอ
ตรวจสอบการจำกัดสิทธิ์อื่น ๆ ของยูสเซอร์ GUEST เป็นประจำ ทำให้เป็นสมาชิกของกลุ่ม
EVERYONE เท่านั้นและให้มีสิทธิ์เท่ากับสมาชิกในกลุ่มนั้น จำกัดจำนวนที่สามารถ
login เข้ามาในเซิร์ฟเวอร์ของคุณเท่าที่จำเป็น อย่าปล่อยให้ Allowed Login
Address ว่างอยู่ซึ่งยอมให้ยูสเซอร์ GUEST สามารถ log in มาจากที่ไหนก็ได้
วิธีที่สี่
วิธีที่สี่คล้ายกับวิธีที่สาม เพียงแต่เปลี่ยนจากการ log in เป็น
SUPERVISOR แทนที่ GUEST เป็น log in ที่มีความสำคัญมากสำหรับทั้งเซิร์ฟเวอร์
หลายคนคิดว่ามันปลอดภัยกว่าที่มันควรจะเป็นจริง ๆ ถ้าคุณสามารถบุกรุกเข้าสู่ระดับนี้ได้
คุณสามารถควบคุมได้ทุกอย่างในระบบ
โดยปกติ account นี้ไม่ได้จำกัดจากที่อยู่ทางกายภาพเนื่องจาก SUPERVISOR จำเป็นต้อง
log in จากที่ไหนก็ได้เพื่อแก้ปัญหาของเน็ตเวิร์ค วิธีที่ง่ายที่สุดในการหารหัสผ่านของ
SUPERVISOR คือ ถ้าเซิร์ฟเวอร์นั้นเปิดใช้งาน remote management access ต่อมาถ้าคุณสามารถเข้าไปในไดเร็กทอรี
SYSTEM (โดยเป็นยูสเซอร์อื่น) หาบรรทัดที่โหลด REMOTE.NLM ซึ่งจะตามด้วยรหัสผ่าน
โดยส่วนใหญ่แล้วรหัสผ่านสำหรับ remote access เป็นรหัสผ่านเดียวกับรหัสผ่านของ
SUPERVISOR
บรรทัดต่อไปนี้อยู่ในไฟล์ AUTOEXEC.NCF ซึ่งเป็นไฟล์ของระบบ:
file servername PRIMER
ipx internal net 5014004
set maximum packet receive buffers=2000
load lslenh
load c:\landrv\ethertsm
load c:\landrv\3c5x9 slot=8 frame=ethernet_802.2
name-ethernet_802.2
bind IPX to ethernet_802.2 net=b0ff0
load pserver nrp_pserver_2
load apcsmups
load remote top.secret
load rspx
astart
load monitor
จากตัวอย่างนี้รหัสผ่านคือ
"top.secret"
วิธีแก้ไข
เปลี่ยนรหัสผ่านของ SUPERVISION
ให้บ่อยครั้งเพราะเป็นสิ่งหนึ่งที่มีค่ามากที่สุดในระบบและผู้บุกรุกต้องการมากที่สุด
ถึงแม้ว่าคุณไม่สามารถทำให้การ crack รหัสผ่านของคุณเป็นไปไม่ได้แต่คุณควรทำให้มันยากที่สุดเท่าที่เป็นไปได้
วิธีที่ห้า
วิธีที่ห้าคือการหาไฟล์เซิร์ฟเวอร์
ถ้าไฟล์เซิร์ฟเวอร์ไม่ถูกล๊อคอยู่ในห้องที่มีการรักษาความปลอดภัย จะมีหลายอย่างที่คุณสามารถทำได้หลังจากที่คุณสามารถเข้าถึงได้
console ของไฟล์เซิร์ฟเวอร์อยู่ที่นั้นด้วย และรับคำสั่งจากคีย์บอร์ดโดยไม่ต้องใช้
login หรือรหัสผ่าน
เมื่อพบไฟล์เซิร์ฟเวอร์ คุณสามารถทำได้ดังต่อไป:
1. โหลดไฟล์ INSTALL.NLM และดูที่ไฟล์ AUTOEXEC.NCF ที่โหลด REMOTE.NLM
และรหัสผ่าน ที่เกี่ยวข้องซึ่งอาจเป็นรหัสผ่านของ SUPERVISOR
2. ปิดไฟล์เซิร์ฟเวอร์แล้วรีบูตให้ขึ้นมาเป็น DOS prompt
มีเพียงไฟล์เดียวที่รันได้ในจุดนี้คือ SERVER.EXE
3. ใช้คำสั่ง DEBUG (มีใน DOS) หรือโปรแกรมแก้ไขเลขฐานสิบหก(hex
editor)สำหรับ DOS อื่น ๆ เช่น utility NU ทีมีอยู่ใน Norton Utilities
แล้วใช้คำสั่ง search ที่มีใน DEBUG เพื่อหา NET$VAL.SYS
NET$VAL.SYS เป็นไฟล์ที่ซ่อนอยู่ หนึ่งในสามไฟล์ที่ประกอบกันเป็น bindery
อีกสองไฟล์คือ NET$OBJ.SYS และ NET$PROP.SYS
เมื่อพบแล้วทั้งสามไฟล์นี้จะอยู่ด้วยกันทางด้านขวาของหน้าจอ
4. ใช้ editor เปลี่ยนนามสกุล(extension) ของไฟล์ทั้งสามจาก SYS เป็น WMS
หรืออักษรย่อตัวอื่น แล้ว save สิ่งที่ได้แก้ไขไปนั้น แล้วออกจากโปรแกรม
ต้องแน่ใจว่าได้เปลี่ยนนามสกุลของทั้งสามไฟล์นี้เป็นนามสกุลเดียวกัน
ตามที่ได้กล่าวมาแล้ว ไฟล์เหล่านี้สร้าง bindery ขึ้นมา bindery
เป็นฐานข้อมูลที่ซ่อนไว้ซึ่งบันทึกทุกอย่าง ที่เกี่ยวกับในเน็ตเวิร์ค ทั้งยูสเซอร์
print server กลุ่มยูสเซอร์และอื่น ๆ
หลังจากแก้ไขเสร็จแล้วจึงรีบูต server ให้รันเน็ตแวร์ใหม่ ในระหว่างขั้นตอนการบูตเน็ตแวร์ใหม่
เน็ตแวร์จะหาไฟล์ที่เกี่ยวข้องกับ
bindery อย่างไรก็ตามไฟล์เหล่านี้ไม่มี เนื่องจากได้เปลี่ยนเป็น NET$VAL.WMS, NET$OBJ.WMS
และ NET$PROP.WMS เน็ตแวร์จึง สันนิษฐานว่าเป็นการลงเน็ตแวร์ใหม่ (new install)
และทำการสร้างไฟล์ที่เกี่ยวข้องกับ bindery แล้วสร้าง account ขึ้นมา 2 account
คือ GUEST และ SUPERVISOR ซึ่งไม่มีรหัสผ่านทั้งสอง account คุณสามารถ log in เป็น
SUPERVISOR ได้ทันที และควบคุมได้ทั้งระบบ
5. ซื้อหาซอฟท์แวร์ เช่น NTPASS จาก AccessData มาใช้ NTPASS เป็น
utility สำหรับไว้แก้ไข รหัสผ่านของ SUPERVISOR เท่านั้น
โปรแกรมนี้มีจุดมุ่งหมายเพื่อใช้ในกรณีที่ลืมรหัสผ่านของ SUPERVISOR
เท่านั้น แต่สามารถใช้เพื่อการบุกรุกได้เช่นกัน
NTPASS ถูกรันเป็น NLM แล้วจึงขึ้น prompt ให้คุณป้อน access code
ซึ่งได้มาจากทาง AccessData ซึ่งไม่เหมือนกันสำหรับแต่ละชุดของเน็ตแวร์
(serial number เวอร์ชันของเน็ตแวร์ถูกแสดงออกมาด้วย) แต่ละชุดของ NTPASS
ใช้สำหรับเซิร์ฟเวอร์เดียวเท่านั้น ขึ้นคุณต้องซื้อ NTPASS
เพิ่มอีกถ้าคุณมีมากกว่าเซิร์ฟเวอร์เดียว NTPASS
ช่วยให้คุณสามารถเปลี่ยนรหัสผ่านเป็นอะไรก็ได้ตามที่คุณต้องการ
อย่างไรก็ตาม เวลาที่คุณเปลี่ยนรหัสผ่านด้วย NTPASS มันจะส่ง broadcast message
ไปยังยูสเซอร์ทุกคนในระบบนั้น
ถ้าคุณเป็นผู้บุกรุกก็เตรียมพร้อมสำหรับคำอธิบายเหตุผลในสิ่งที่คุณทำต่อทุกคนที่อยู่ในระบบในเวลานั้นด้วย
วิธีแก้ไข
วิธีแก้ไขปัญหาที่ดีที่สุดคือ ดูแลรักษาเซิร์ฟเวอร์ให้อยู่ในห้องที่จำกัดการเข้าถึงอย่างเข้มงวด
คุณควรหลีกเลี่ยงจากการโหลด remote management ในแต่ละครั้งที่บูตเซิร์ฟเวอร์ แทนที่จะใช้คำสั่ง
LOAD REMOTE{password} ไว้ในไฟล์ AUTOEXEC.NCF โดยตรง ควรเดินกลับไปที่เซิร์ฟเวอร์แล้วจึงพิมพ์เอง
ถึงแม้จะเสียเวลาเดินอีกนิดหน่อยแต่ช่วยป้องกันไม่ให้ไฟล์นี้เผยรหัสผ่านสู่ภายนอก
อีกทั้งยังปัองกันไม่ให้ผู้บุกรุกสามารถเข้าถึงconsole ได้ในเวลาใดก็ตามที่เขาต้องการ
ข้อสังเกต: ถ้าลืมรหัสผ่านของ SUPERVISOR ยูสเซอร์ที่เทียบเท่ากับ
SUPERVISOR ก็สามารถเปลี่ยนรหัสได้ นอกจากการจำกัดสิ่งที่อยู่ในไฟล์ NCF แล้วยังเป็นแนวความคิดที่ดีที่จะรัน
SECURE CONSOLE ซึ่งเอา DOS ออกไปจากเซิร์ฟเวอร์และป้องกันไม่ให้มีการโหลด model
จากที่อื่นนอกเหนือจาก SYS:SYSTEM
อ้างอิงจาก**chapter
3 How to Get In without Asking ของหนังสือ
NetWare Security โดย William Steen และ Doug Bierer
บอกแล้วเว็บเราไม่ได้เขียนมั่ว
|