Etc Password

/etc/passwd (20/2/45)

ไฟล์ในระบบยูนิกซ์ที่ประกอบด้วยข้อมูลเกี่ยวกับแอกเคาท์ เช่น ชื่อผู้ใช้ (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 ที่ผู้ใช้ใช้เมื่อล็อกออนเข้ามา

Pom GBT (infosec.sran.org) (20/2/45)

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