เราจะรู้รหัสผ่านสำหรับผู้ใช้รายอื่นได้หรือไม่ถ้าเรามีการเข้าถึงรูท


24

หากบุคคลมีการเข้าถึงรูทไปยังเครื่อง RHEL บางเครื่องพวกเขาจะสามารถเรียกคืนรหัสผ่านของผู้ใช้รายอื่นได้หรือไม่?


4
ใช่คุณสามารถพวกเขาสามารถแบ่งปันกับคุณที่ถูกถามอย่าง :) ในคำอื่น ๆ คำถามของคุณไม่ได้ใส่อย่างแม่นยำ
poige

คำตอบ:


37

TL; DR: ไม่รหัสผ่านถูกเก็บเป็นแฮชซึ่งไม่สามารถกู้คืนได้ (โดยทั่วไป)

ลินุกซ์จะไม่จัดเก็บรหัสผ่านข้อความธรรมดาได้ทุกที่โดยค่าเริ่มต้น พวกเขาถูกแฮชหรือเข้ารหัสอย่างอื่นผ่านอัลกอริทึมที่หลากหลาย ดังนั้นโดยทั่วไปไม่เป็นไปไม่ได้กับข้อมูลที่เก็บไว้

หากคุณมีรหัสผ่านที่จัดเก็บไว้ที่อื่นนอกเหนือจาก/etc/passwdฐานข้อมูลรหัสผ่านอาจถูกจัดเก็บในลักษณะที่อนุญาตให้ทำได้ htpasswdไฟล์สามารถมีรหัสผ่านที่เข้ารหัส Wealy และแอปพลิเคชันอื่น ๆ อาจเก็บแฮชที่อ่อนแอลงหรือรหัสผ่านแบบข้อความล้วนด้วยเหตุผลต่างๆ

นอกจากนี้ไฟล์การกำหนดค่าของผู้ใช้อาจมีรหัสผ่านที่ไม่ได้เข้ารหัสหรือรหัสผ่านที่ป้องกันอย่างอ่อนด้วยเหตุผลต่างๆเช่น fetchmail ที่ดึงเนื้อหาจากบริการอื่น.netrcหรือสิ่งอัตโนมัติอาจรวมถึงรหัสผ่านโดยอัตโนมัติ

หากรหัสผ่านถูกแฮชหรือเข้ารหัสด้วยอัลกอริธึมที่อ่อนแอและเก่ากว่า (3DES, MD5) มันจะเป็นไปได้ที่จะทำงานอย่างมีประสิทธิภาพพอสมควร / ถูกว่ารหัสผ่านคืออะไร - แม้ว่าจะผ่านการโจมตีข้อมูล (เช่น: สิ่งต่างๆเช่นhttp://project-rainbowcrack.com/หรือhttp://www.openwall.com/john/ )

เนื่องจากคุณเป็นรูทจึงเป็นไปได้ที่จะโจมตีรหัสผ่านผู้ใช้ในระดับอื่น - แทนที่ไบนารีล็อกอินหรือ sudo หรือส่วนหนึ่งของ PAM ฯลฯ ด้วยสิ่งที่จะจับรหัสผ่านเมื่อมีการป้อน

ดังนั้นโดยเฉพาะอย่างยิ่งไม่ใช่ แต่โดยทั่วไปแล้วการเข้าถึงรูทนั้นจะทำให้ได้รับรายละเอียดของผู้ใช้ผ่านช่องทางด้านต่าง ๆ ได้ง่ายขึ้น


1
ข้อมูลเพิ่มเติมได้ที่วิกิพีเดีย: /etc/shadow, กัญชาฟังก์ชันการเข้ารหัสลับ , เกลือและรหัสผ่านแตก
ทิม

2
นี่เป็นคำตอบที่ดีสำหรับส่วนใหญ่อย่างไรก็ตาม 3DES และ MD5 นั้นไม่ได้อ่อนแอกว่าอัลกอริธึมอื่น ๆ อย่างมีนัยสำคัญ แรงเดรัจฉานยังคงเป็นวิธีเดียวในการค้นหารหัสผ่านจากแฮช ( ตารางสายรุ้งเป็นวิธีเร่งความเร็ววิธีเดรัจฉานสำหรับอัลกอริทึมใด ๆ ไม่ใช่จุดอ่อนของ MD5) สิ่งที่ปรับปรุงวิธีแฮชสำหรับรหัสผ่านก็คือมันช้าและใช้เกลือนานพอสมควร
Gilles 'ดังนั้น - หยุดความชั่วร้าย'

13

ตรงกันข้ามกับคำตอบอื่น ๆ ที่นี่ฉันจะบอกว่าคำตอบง่าย ๆ สำหรับคำถามนี้และคำถามอื่น ๆ อีกมากมายที่ลงท้ายด้วย "ถ้าคุณมีราก" คือใช่

โดยพื้นฐานแล้วรูทสามารถทำทุกอย่างบนเครื่องที่ระบบสามารถทำได้ ระบบสามารถยอมรับรหัสผ่านของคุณได้ดังนั้นรูทสามารถยอมรับรหัสผ่านของคุณหรือรหัสผ่านของคุณเองได้โดยใช้ความพยายามอย่างเพียงพอ ที่สำคัญเขาสามารถเปลี่ยนรหัสผ่านของคุณหรือกลายเป็นคุณ

โดยเฉพาะรหัสผ่านจะถูกเข้ารหัส นี่คืออัลกอริทึม "one-way" ซึ่งจะสร้างหมายเลข (แฮช) ซึ่งสามารถใช้ตรวจสอบรหัสผ่านได้ แต่โดยทั่วไปแล้วจะไม่ย้อนกลับจำนวนและรับรหัสผ่านอีก ดังนั้นไม่ใช่เรื่องของการอ่านไฟล์เพื่อรับรหัสผ่านของใครบางคน

ที่กล่าวว่าคุณสามารถอ่านประวัติเชลล์ของพวกเขาและประวัติการเข้าสู่ระบบที่พวกเขามักพิมพ์รหัสผ่านแทนชื่อผู้ใช้ของพวกเขาในบางจุดหรือพิมพ์ในเชลล์แทนการแจ้งรหัสผ่าน ในกรณีนั้นมันจะเป็นข้อความธรรมดา สิ่งนี้เป็นสิ่งที่พบเห็นได้ทั่วไปในเทอร์มินัลที่ใช้ข้อความโดยไม่มีวิธีแก้ปัญหาที่ดีที่ฉันรู้

อย่างไรก็ตามแม้การตั้งค่าปัญหานั้นการเข้ารหัส "ทางเดียว" ไม่ใช่วิธีเดียว มีเครื่องมือมากมายรอบตัวที่จะผ่านชุดข้อความวลีมากมายเข้ารหัสพวกเขาด้วยกระบวนการทางเดียวจนกว่าคุณจะพบคนที่ตรงกัน จากนั้นพวกเขารู้รหัสผ่านที่จะเข้าถึง (แม้ว่าจะเป็นรูทพวกเขาจะมีสิทธิ์เข้าถึงบนเครื่องนั้น)

ที่แย่กว่านั้นคือมีเรนโบว์เทเบิลซึ่งคำตอบที่คำนวณไว้ล่วงหน้าสำหรับกระบวนการข้างต้น: ผู้คนได้สร้างรหัสผ่านดั้งเดิมที่มาจากรหัสผ่านที่เข้ารหัสไว้แล้ว การใช้สิ่งเหล่านี้เป็นการค้นหาที่ง่ายไม่ต้องใช้ความพยายามในการแคร็ก

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


การเข้าถึงบัญชีของฉันแตกต่างจากการใช้รหัสผ่านของฉัน หากคุณอนุญาตให้ฉันเข้าสู่ระบบด้วยเครื่องของคุณและฉัน (โง่ แต่ทั่วไป) ใช้รหัสผ่านเดียวกันสำหรับทุกเครื่องคุณไม่สามารถเข้าถึงเครื่องทั้งหมดได้เพียงแค่ b / c คุณสามารถเปลี่ยนรหัสผ่านบนเครื่องของคุณได้ ฉันเพิ่งถูกล็อคจากบัญชีเดียว
emory

นอกจากนี้หากใช้ระบบไฟล์ที่เข้ารหัสลับสำหรับข้อมูลที่มีความอ่อนไหวการประนีประนอมการเข้าถึงรูทไม่ได้หมายความว่าจะต้องเริ่มต้นใหม่
emory

@emory หากคุณใช้ระบบไฟล์ที่เข้ารหัสและระบบถูกบุกรุกจากรากคุณสามารถเชื่อถือรหัสที่เกี่ยวข้องกับระบบไฟล์ที่เข้ารหัสอ่านข้อความรหัสผ่านการเข้ารหัสหรือไม่? ฉันจะบอกว่าคุณทำไม่ได้เพราะตามคำนิยามการประนีประนอมสิทธิ์รูทหมายความว่าทุกอย่างในระบบ (ลงไปที่เคอร์เนล) นั้นขึ้นอยู่กับการคว้า
CVn

@ MichaelKjörlingฉันสามารถเชื่อถือรหัสที่เกี่ยวข้องกับระบบไฟล์ที่เข้ารหัสได้หรือไม่? ในกรณีส่วนใหญ่ไม่มี ในกรณีของฉันใช่ มันตั้งอยู่บนสื่ออ่านอย่างเดียว รูทไม่สามารถเขียนได้ บันทึกไปที่ไดรฟ์ WORM เหมือนกันฉันไม่ได้แจกกุญแจให้รูทและอาจจะเริ่มต้นใหม่
emory

8

หากคุณมีrootแล้วคุณสามารถเรียกใช้ cracker รหัสผ่านต่อต้าน/etc/shadow(สมมติว่ารหัสผ่านท้องถิ่นและไม่ LDAP หรือ Kerberos ฯลฯ ) สิ่งนี้อาจไม่ได้ผลหากพวกเขาเลือกรหัสผ่านที่ดีและระบบได้รับการกำหนดค่าให้ใช้การแฮชรหัสผ่านที่คาดเดายาก แต่รหัสผ่านระบบจะไม่ถูกจัดเก็บในธรรมดา rootรหัสผ่านที่ไม่สามารถใช้ได้โดยตรงแม้กระทั่งการ


5

รหัสผ่านทั้งหมดจะถูกเก็บไว้ใน/etc/shadowไฟล์ คุณสามารถเปิดไฟล์นี้โดยใช้การเข้าถึงรูทและดูhash valueรหัสผ่านเหล่านี้สำหรับผู้ใช้แต่ละคน (แม้แต่ผู้ใช้รูท)

หากคุณไม่มีซอฟต์แวร์ถอดรหัสรหัสผ่านใด ๆ คุณจะไม่สามารถแปลงค่าแฮชเหล่านี้กลับเป็นข้อความปกติได้

แต่ถ้าคุณมีสิทธิ์เข้าถึงผู้ใช้รูทคุณสามารถเปลี่ยนรหัสผ่านของผู้ใช้ปกติโดยใช้คำสั่งต่อไปนี้และเข้าถึงบัญชีของพวกเขา

root@localhost$ passwd pradeep

นี้จะขอให้คุณสำหรับ passwd pradeepใหม่ที่คุณต้องการตั้งค่าสำหรับผู้ใช้ วิธีนี้คุณสามารถเปลี่ยนรหัสผ่านสำหรับ pradeep ได้

ตอนนี้คุณสามารถเข้าถึงได้จากบัญชีของเขาโดย:

root@localhost$ su pradeep

สิ่งนี้จะส่งผลให้เปลี่ยนไปใช้ผู้ใช้ที่มีการควบคุมล่วงหน้าและคุณจะได้รับเครื่องเช่นนี้:

pradeep@localhost$


1
คุณสามารถทำ "su pradeep" ได้โดยไม่ต้องเปลี่ยนรหัสผ่านของ pradeep เพราะเมื่อคุณทำ "su pradeep" กับผู้ใช้รูทคุณไม่จำเป็นต้องพิมพ์รหัสผ่านของ pradeep เพื่อล็อกอิน ...
Wolfy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.