अगर हम रूट एक्सेस करते हैं तो क्या हम अन्य उपयोगकर्ताओं के लिए पासवर्ड जान सकते हैं?


24

यदि किसी व्यक्ति के पास किसी विशेष आरएचईएल मशीन की जड़ है, तो क्या वे अन्य उपयोगकर्ताओं के पासवर्ड को पुनः प्राप्त कर पाएंगे?


4
हां आप कर सकते हैं, वे इसे आपसे अच्छे से पूछ सकते हैं :) दूसरे शब्दों में, आपका सवाल ठीक नहीं है।
8

जवाबों:


37

TL; DR: नहीं, पासवर्ड को हैश के रूप में संग्रहीत किया जाता है जो (सामान्य रूप से) बरामद नहीं किया जा सकता है।

लिनक्स डिफ़ॉल्ट रूप से कहीं भी सादे-पाठ पासवर्ड संग्रहीत नहीं करता है । वे विभिन्न एल्गोरिदम के माध्यम से हैशेड या अन्यथा एन्क्रिप्टेड हैं। तो, सामान्य तौर पर, नहीं, यह संग्रहीत डेटा के साथ संभव नहीं है।

यदि आपके पास /etc/passwdडेटाबेस के अलावा कहीं और संग्रहीत पासवर्ड हैं , तो उन्हें इस तरह से संग्रहीत किया जा सकता है जो इसे अनुमति देता है। htpasswdफ़ाइलों में सामान्य रूप से एन्क्रिप्ट किए गए पासवर्ड हो सकते हैं, और अन्य एप्लिकेशन विभिन्न (आमतौर पर खराब) कारणों से कमजोर हैश या सादे पाठ पासवर्ड संग्रहीत कर सकते हैं।

इसके अलावा, उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइलों में विभिन्न कारणों से अनएन्क्रिप्टेड पासवर्ड या कमजोर रूप से संरक्षित पासवर्ड शामिल हो सकते हैं - किसी अन्य सेवा से सामग्री हथियाने .netrc, या साधारण स्वचालित चीजों में पासवर्ड शामिल हो सकते हैं।

यदि पासवर्ड पुराने, कमजोर एल्गोरिथम (3DES, MD5) के साथ हैशेड या एन्क्रिप्ट किए गए हैं, तो यह उचित रूप से कुशलतापूर्वक / सस्ते में काम करना संभव होगा कि पासवर्ड क्या था - केवल परिवर्तन को उलटने के बजाय डेटा पर हमला करने के माध्यम से। (उदा: http://project-rainbowcrack.com/ या http://www.openwall.com/john/ जैसी चीजें )

चूंकि आप रूट हैं, इसलिए उपयोगकर्ता के पासवर्ड को किसी अन्य स्तर पर हमला करना भी संभव है - लॉगिन बाइनरी, या सुडो, या पीएएम का हिस्सा, आदि, कुछ ऐसा के साथ जो पासवर्ड दर्ज करने पर कब्जा कर लेगा।

तो, विशिष्ट, नहीं, लेकिन सामान्य रूप से रूट एक्सेस में विभिन्न साइड-चैनल के माध्यम से उपयोगकर्ताओं के विवरण प्राप्त करना आसान हो जाता है।



2
यह अधिकांश भाग के लिए एक अच्छा उत्तर है, हालांकि 3DES और MD5 वास्तव में अन्य एल्गोरिदम की तुलना में काफी कमजोर नहीं हैं। ब्रूट बल अभी भी हैश से पासवर्ड खोजने का एकमात्र तरीका है ( इंद्रधनुष तालिकाओं किसी भी एल्गोरिथ्म के लिए जानवर बल के तरीकों को तेज करने का एक तरीका है, एमडी 5 की कमजोरी नहीं)। पासवर्ड के लिए एक हैश विधि में सुधार होता है, यह धीमी गति से और लंबे समय तक पर्याप्त नमक का उपयोग होता है।
गिल्स एसओ- बुराई को रोकना '

13

यहाँ कुछ अन्य उत्तरों के विपरीत, मैं कहूँगा कि सरल उत्तर, यह और कई अन्य प्रश्न जो "यदि आपके पास रूट हैं" के साथ समाप्त होते हैं।

असल में, रूट मशीन पर कुछ भी कर सकता है जो सिस्टम खुद कर सकता है। सिस्टम आपके पासवर्ड को स्वीकार कर सकता है, इसलिए रूट पर्याप्त प्रयास के साथ आपका पासवर्ड, या आपकी खुद की जगह स्वीकार कर सकता है। इससे भी महत्वपूर्ण बात, वह केवल आपका पासवर्ड बदल सकता है, या आप से मिल सकता है।

विशेष रूप से, पासवर्ड आमतौर पर एन्क्रिप्ट किए जाते हैं। यह आमतौर पर तथाकथित "वन-वे" एल्गोरिदम का कुछ प्रकार है, जो एक नंबर (हैश) उत्पन्न करता है, जिसका उपयोग पासवर्ड की जांच करने के लिए किया जा सकता है, लेकिन आम तौर पर नंबर को उलटने और पासवर्ड को फिर से प्राप्त करने के लिए नहीं। तो, यह किसी के पासवर्ड प्राप्त करने के लिए केवल एक फ़ाइल पढ़ने की बात नहीं है।

उस ने कहा, आप उनके शेल इतिहास और लॉगिन इतिहास को पढ़ सकते हैं, जहां उन्होंने किसी बिंदु पर अपने उपयोगकर्ता नाम के बजाय अपना पासवर्ड टाइप किया है, या पासवर्ड प्रॉम्प्ट के बजाय शेल में टाइप किया है। उस स्थिति में, यह सादे पाठ होगा। यह टेक्स्ट-आधारित टर्मिनलों पर अशांतिपूर्ण रूप से आम है, कोई अच्छा समाधान नहीं है जिसके बारे में मुझे पता है।

हालांकि, यहां तक ​​कि उस मुद्दे को अलग करते हुए, "वन-वे" एन्क्रिप्शन वास्तव में एक तरीका नहीं है। आस-पास बहुत सारे उपकरण हैं जो पासफ़्रेज़ के कई संयोजनों से गुजरेंगे, उन्हें एक ही तरह की प्रक्रिया के साथ एन्क्रिप्ट करना, जब तक कि आपका एक मैच न हो जाए। वे तब पासवर्ड जानते हैं जो एक्सेस प्राप्त करेगा (हालांकि रूट के रूप में, वे पहले से ही, THAT मशीन पर पहुंच सकते हैं)।

इससे भी बदतर, इंद्रधनुष सारणी हैं, जो उपरोक्त प्रक्रिया के लिए पूर्वप्रकाशित उत्तर हैं: लोगों ने पहले से ही मूल पासवर्ड उत्पन्न किया है जो दिए गए एन्क्रिप्टेड पासवर्ड से आता है। इनका उपयोग करते हुए, यह एक सरल खोज है - समय-समय पर क्रैकिंग प्रयासों की आवश्यकता नहीं है।

फिर से, रूट-लेवल एक्सेस प्रोटेक्ट की चीज है। उस समझौता के साथ, पूरी मशीन, और उस पर सब कुछ समझौता किया जाता है। अपने सभी उपयोगकर्ताओं को सूचित करने सहित, यह शुरू करने का समय आ गया है कि आपके व्यवसाय को अब उनकी गोपनीयता की रक्षा के लिए भरोसा नहीं किया जा सकता है। और, हां, इसका मतलब यह हो सकता है कि व्यापार से बाहर जाना।


मेरे खाते की पहुँच मेरा पासवर्ड प्राप्त करने से भिन्न है। यदि आप मुझे अपनी मशीन के लिए एक उपयोगकर्ता लॉगिन की अनुमति देते हैं और मैं (बेवकूफ लेकिन आम) सभी मशीनों के लिए एक ही पासवर्ड का उपयोग करता हूं, तो आपके पास सभी मशीनों तक पहुंच नहीं है बस बी / सी आप अपने मशीन पर अपना पासवर्ड बदल सकते हैं। मैं सिर्फ एक खाते से बंद हो जाता हूं।
एमोरी

इसके अलावा, यदि संवेदनशील डेटा के लिए एन्क्रिप्टेड फ़ाइल सिस्टम का उपयोग करते हैं, तो रूट एक्सेस समझौता शुरू होने में समय नहीं लगता है।
एमोरी

@emory यदि आप एन्क्रिप्टेड फ़ाइल सिस्टम का उपयोग करते हैं और सिस्टम रूट समझौता है, तो क्या आप उस कोड पर भरोसा कर सकते हैं जो एन्क्रिप्टेड फ़ाइल सिस्टम से संबंधित है, एन्क्रिप्शन पासफ़्रेज़ आदि को पढ़ता है? मैं कहूंगा कि आप नहीं कर सकते, क्योंकि परिभाषा के अनुसार, एक रूट-विशेषाधिकार समझौता का मतलब है कि सिस्टम पर सब कुछ (कर्नेल के ठीक नीचे) कब्रों के लिए है।
बजे एक CVn

@ माइकलकॉर्जिंग क्या मैं उस कोड पर भरोसा कर सकता हूं जो एन्क्रिप्टेड फ़ाइल सिस्टम से संबंधित है? ज्यादातर मामलों में, नहीं। मेरे मामले में, हाँ। यह केवल-पढ़ने के लिए मीडिया पर रखा गया है। रूट इसे लिख नहीं सकते। लॉग एक WORM ड्राइव पर जाते हैं। बस वही, मैं चाबी को जड़ से नहीं सौंप रहा हूं और शायद शुरू कर दूंगा।
एमोरी

8

यदि आपके पास है rootतो आप पासवर्ड क्रैकर के खिलाफ /etc/shadow(स्थानीय पासवर्ड और एलडीएपी या केर्बरोस आदि नहीं) चला सकते हैं। यदि वे अच्छे पासवर्ड चुनते हैं तो यह प्रभावी नहीं हो सकता है और मजबूत पासवर्ड हैशिंग का उपयोग करने के लिए सिस्टम को कॉन्फ़िगर किया गया है। लेकिन सिस्टम पासवर्ड को प्लेनटेक्स्ट में संग्रहीत नहीं किया जाता है; पासवर्ड सीधे भी उपलब्ध नहीं हैं root


5

सभी पासवर्ड /etc/shadowफ़ाइल में संग्रहीत हैं । आप रूट एक्सेस का उपयोग करके इस फ़ाइल को खोल सकते हैं और hash valueप्रत्येक उपयोगकर्ता (यहां तक ​​कि रूट उपयोगकर्ता) के लिए इन पासवर्डों को देख सकते हैं ।

जब तक आपके पास किसी भी तरह का पासवर्ड डिक्रिप्ट करने वाला सॉफ्टवेयर नहीं है, आप इन हैश वैल्यू को सामान्य टेक्स्ट में नहीं बदल सकते।

लेकिन फिर भी यदि आपके पास रूट उपयोगकर्ता तक पहुँच है, तो आप निम्न कमांड का उपयोग करके किसी भी सामान्य उपयोगकर्ता के पासवर्ड को बदल सकते हैं और उनके खाते तक पहुँच सकते हैं।

root@localhost$ passwd pradeep

यह आपसे नए पासवार्ड के लिए पूछेगा जिसे आप उपयोगकर्ता के लिए सेट करना चाहते हैं pradeep। इस तरह आप प्रदीप के लिए पासवार्ड बदल सकते हैं।

अब आप उसके खाते से पहुंच सकते हैं:

root@localhost$ su pradeep

इसका परिणाम प्रदीप उपयोगकर्ता पर होगा और आपको इस तरह एक टर्मिनल मिलेगा:

pradeep@localhost$


1
आप बिना बदले प्रदीप पासवर्ड के भी "सु प्रदीप" कर सकते हैं, क्योंकि जब आप रूट उपयोगकर्ता के साथ "सु प्रदीप" करते हैं तो आपको लॉग इन करने के लिए प्रदीप पासवर्ड टाइप करने की आवश्यकता नहीं होती ...
वोल्फी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.