ป้ายเลื่อน


WelCom To www.Kiss-Hack.blogspot.com สังคม IT สังคม Hacker

หมวดหมู่

วันอาทิตย์ที่ 25 สิงหาคม พ.ศ. 2556

/etc/passwd คืออะไร??


 
/etc/passwd
 
ไฟล์ในระบบยูนิกซ์ที่ประกอบด้วยข้อมูลเกี่ยวกับแอกเคาท์ เช่น ชื่อผู้ใช้ (username) รหัสผ่าน ไดเร็กทอรีของผู้ใช้ (login directory) และ shell ใช้งานเริ่มต้น ผู้ใช้ทั่ว ๆ ไปในระบบสามารถอ่านไฟล์นี้ได้
ประเด็นหลัก: รหัสผ่านในไฟล์นี้จะถูกเข้ารหัสไว้ ดังนั้นถึงแม้ผู้ใช้ทุกสามารถอ่านไฟล์นี้ได้ แต่ไม่ได้หมายความว่า จะสามารถเข้าถึงระบบได้ อย่างไรก็ตามโปรแกรมอย่างเช่น โปรแกรม crack ก็มีประสิทธิภาพในการถอดรหัสรหัสผ่านมาก ในระบบใด ๆ ก็ตามที่มีหลายแอกเคาท์ จะเป็นโอกาสดีให้นักเจาะสามารถแคร็กแอกเคาท์เหล่านี้ได้ ถ้าพวกเขาได้ไฟล์นี้มา

ประเด็นหลัก: ระบบยูนิกซ์สมัยใหม่จะใช้ไฟล์รหัสผ่านที่ทำ shadow ไว้ โดยจะเก็บไว้ในไฟล์เช่น /etc/shadow ที่ยอมให้ root เท่านั้นที่สามารถเข้าถึงได้ ส่วนไฟล์ passwd ก็ยังมีอยู่ แต่ไม่มีข้อมูลของรหัสผ่านที่เข้ารหัสไว้ เพื่อให้มีความสามารถเข้ากันได้แบบย้อนหลัง (backward compatibility) กับโปรแกรมที่ยังคงต้องเข้าถึงไฟล์รหัสผ่าน เพื่อใช้ข้อมูลเกี่ยวกับแอกเคาท์ แต่ไม่ต้องการใช้ข้อมูลรหัสผ่าน

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

FTP คล้ายกับ TFTP เพียงแต่เข้าถึงไฟล์ /etc/passwd ที่สามารถดาวน์โหลดได้ บางครั้งการเปลี่ยนไดเร็กทอรี แบบ backtracking ( cd .. ) ได้ผล บางครั้งอาจมีช่องโหว่ใน shell ที่สามารถใช้เพื่อเผยไฟล์ได้
HTTP เว็ปเซิร์ฟเวอร์หลายตัวที่บั๊กที่เรียกว่า backtrack ที่สามารถใช้เพื่อเรียกไฟล์ได้ ตัวอย่างเช่น http://www.robertgraham.com/../../../etc/passwd

/cgi-bin มีสคริปท์จำนวนมากที่มีบั๊กที่สามารถอาศัยช่องโหว่เพื่ออ่านไฟล์ที่อยู่ใน ระบบ รวมทั้งช่องโหว่เกี่ยวกับ backtracking, shell หรือข้อผิดพลาดอื่น ๆ
ประเด็นหลัก: /etc/passwd เป็น text file แบบง่าย ๆ ที่มีหนึ่งบรรทัดต่อหนึ่งแอกเคาท์ หนึ่งบรรทัดแบ่งออกเป็น เจ็ดคอลัมน์ ได้แก่
account ได้แก่ชื่อผู้ใช้ (username) มีระบบจำนวนมากที่มีชื่อแอกเคาท์ที่เป็นที่รู้จักกันดี มาพร้อมกับไฟล์รหัสผ่านเริ่มต้น

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

UID user identifier เป็นเลขเฉพาะสำหรับการระบุผู้ใช้ภายในระบบ จะมีการอ้างถึงผู้ใช้โดยใช้หมายเลขแทนที่จะเป็นชื่อ วิธีหนึ่งในการใส่ backdoor ลงไปในระบบคือการใส่สายอักขระเช่น "x500" แทนที่จะเป็น "500" ในส่วนนี้ ทำให้โปรแกรมที่อ่านไฟล์ตีความหมายเป็นเลข "0" ซึ่งเป็น UID สำหรับ root

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

directory ไดเร็กทอรีเริ่มต้นของผู้ใช้
shell login shell ที่ผู้ใช้ใช้เมื่อล็อกออนเข้ามา


แปลและเรียบเรียงจาก Hacking Lexicon