ช่องโหว่เก่าใน Alpine Linux โจมตี SSH เข้าสู่ระบบได้โดยไม่ต้องใช้รหัสผ่าน

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

ช่องโหว่นี้อยู่ในปฏิสัมพันธ์ระหว่าง OpenSSH ซึ่งเป็นไลบรารีโค้ดที่ใช้ในการเชื่อมต่อ SSH และ musl ซึ่งเป็นไลบรารีทางเลือกสำหรับ libc ที่ Alpine ใช้ ซึ่งแตกต่างจากการตั้งค่าใน Linux ส่วนใหญ่ นอกจากนี้ OpenSSH ที่ใช้ musl จะต้องไม่ใช้ PAM (pluggable authentication modules) ซึ่งเป็นเฟรมเวิร์กจัดการการยืนยันตัวตนและการตรวจสอบบัญชีผู้ใช้

การโจมตีจะสำเร็จได้ต้องมีเงื่อนไขเพิ่มเติมอีกสองประการ คือ หนึ่ง ระบบต้องมีบัญชีผู้ใช้ที่เข้าถึงได้ด้วยรหัสผ่านที่ถูกแฮชด้วยฟังก์ชัน SHA256 หรือ SHA512 และ สอง บัญชีเป้าหมายต้องถูกตั้งค่าให้ไม่ต้องใช้รหัสผ่าน โดยระบุเครื่องหมาย “*” ในช่องรหัสผ่านในไฟล์ /etc/shadow ซึ่งเป็นไฟล์ของ Linux ที่เก็บค่าแฮชรหัสผ่าน

การเชื่อมต่อเดียว ใช้ได้เสมอ ไม่ต้องลองใหม่

เงื่อนไขที่สองคือระบบต้องมีบัญชีผู้ใช้ที่เข้าถึงได้ด้วยรหัสผ่านที่ถูกแฮชด้วย SHA256 หรือ SHA512 และบัญชีเป้าหมายต้องถูกตั้งค่าให้ไม่ต้องใช้รหัสผ่าน โดยระบุ “*” ในช่องรหัสผ่านในไฟล์ /etc/shadow ซึ่งเป็นไฟล์ของ Linux ที่เก็บค่าแฮชรหัสผ่าน

ศัพท์ที่ควรรู้

  • Alpine Linux – การแจกจ่าย Linux น้ำหนักเบาที่ถูกกล่าวถึงในบทความ
  • OpenSSH – ไลบรารีโค้ดที่ใช้ในการสร้างการเชื่อมต่อ SSH
  • musl – ไลบรารีทางเลือกสำหรับ libc ที่ Alpine ใช้
  • PAM (pluggable authentication modules) – เฟรมเวิร์กที่จัดการการยืนยันตัวตนและการตรวจสอบบัญชีผู้ใช้
  • SHA256/SHA512 – ฟังก์ชันที่ใช้ในการแฮชรหัสผ่าน

ที่มา: Ars Technica

Leave a Comment