क्या अलग स्क्रीन सत्र में रूट शेल को छोड़ना सुरक्षित है?


20

मैं एक अलग स्क्रीन सत्र के अंदर चल रहे एक रूट शेल को छोड़ने की सुरक्षा के बारे में उत्सुक हूं। मैं आमतौर पर ऐसा कभी नहीं करता।

अपने गैर-रूट उपयोगकर्ता खाते की क्षमता से अलग होने के कारण (पासवर्ड उजागर, ssh कुंजी समझौता, आदि), वहाँ एक अलग में प्रवेश के अन्य वैक्टर हैं, पासवर्ड-सुरक्षित स्क्रीन सत्र मैं के बारे में चिंतित होना चाहिए, या एक अलग स्क्रीन कर सकते हैं सत्र को निष्क्रिय माना जाता है?


यह एक उत्तर नहीं है क्योंकि मुझे यह पता नहीं है, लेकिन मुझे नहीं लगता कि यह आपके द्वारा कहा गया काम करने और नौकरी छोड़ने के बीच कोई अंतर करता है sudo
फन्नेहे

7
@phunehehe एक अंतर है क्योंकि जब कोई नौकरी पूरी होती है, sudoतो एक वास्तविक रूट खोल खुला रहने के दौरान निष्क्रिय कर देता है।
माइकल

जवाबों:


5

मुझे लगता है कि यह एक सुरक्षा मुद्दा है, क्योंकि "मेरे गैर-रूट उपयोगकर्ता खाते की क्षमता से अलग" के बजाय बड़ा हो सकता है।

लेकिन इसके परे अन्य बढ़े हुए जोखिम भी हैं। उदाहरण के लिए, आपने अब खुद को एक सैद्धांतिक कारनामे के लिए खोल दिया है, जो स्क्रीन सॉकेट डायर ( /var/run/screenमेरे सिस्टम पर, लेकिन कभी-कभी /tmpउपयोग किया जाता है) में अनुमतियों को बदलने की अनुमति देता है । उस शोषण के पास अब जड़ प्राप्त करने का एक रास्ता है, जो अन्यथा नहीं हो सकता है।

sudoअन्य फायदे हैं, यदि आप खुद को प्रशिक्षित करने के बजाय प्रत्येक कमांड के लिए इसका उपयोग कर सकते हैं sudo su -। यह क्रियाओं को लॉग करता है (जो, जब तक आप दूरस्थ रूप से लॉग इन नहीं कर रहे हैं, तब तक सार्थक रूप से सुरक्षा में वृद्धि नहीं होती है, लेकिन आपको जो कुछ भी किया गया है उसका एक निशान देता है)। और यह पूरी तरह से विशेषाधिकार प्राप्त सत्र पर स्विच करने के बजाय प्रत्येक आदेश के लिए जानबूझकर वृद्धि की आवश्यकता से दुर्घटनाओं को रोकने में मदद करता है।


1
हालांकि अब इस तरह के किसी भी कारनामे का पता नहीं चल रहा है, लेकिन मैं स्क्रीन पर जड़ के गोले नहीं छोड isे जा रहा हूं । उपयोगकर्ता खाते में जोखिम पर्याप्त है जैसा कि यह है। धन्यवाद।
माइकल

-1 यदि मेरे पास कोई शोषण है जो फ़ाइल अनुमतियों को बदल सकता है तो मुझे कुछ रनिंग स्क्रीन को हैक करने की आवश्यकता नहीं है। मैं सिस्टम से जो चाहे कर सकता हूं।
Let_Me_Be

@Let_Me_Be - यह इस बात पर निर्भर करता है कि कौन सी फ़ाइल आपके शोषण की अनुमति देती है जिससे आप बदल सकते हैं। हो सकता है कि आप कुछ विशिष्ट पदानुक्रमों के तहत कुछ विशिष्ट चीजें ही कर सकें। इतनी दूर की बात नहीं है।
mattdm

स्क्रीन में ही बड़े हमले की सतह है। मुझे दिखाने के लिए पूरा हमला नहीं है , लेकिन स्पष्ट कमजोरियां हैं।
गिल्स एसओ- बुराई को रोकें '

अगर मैं गलत हूं तो मुझे सही करें, लेकिन स्क्रीन ऐप एक शेल सत्र (या तो सीधे सिस्टम कंसोल पर, या एक ssh सत्र के माध्यम से) के माध्यम से बाधित होता है। जहाँ तक मुझे पता है कि यह एक नेटवर्किंग प्रोटोकॉल नहीं है। इसलिए यह आपके ssh सत्र या टर्मिनल सत्र के रूप में सुरक्षित है। यदि कुछ के पास ssh सत्र या आपकी भौतिक मशीन तक पहुंच है, तो सभी दांव बंद हैं। यदि उनके पास किसी भी उपयोगकर्ता खाते के तहत किसी भी प्रकार की कमांड लाइन प्राप्त करने के लिए पर्याप्त पहुंच है, तो आप किसी भी तरह अपनी मशीन की सुरक्षा को दूर फेंक सकते हैं।
अनसिंक्रनाइज़्ड

10

यदि आपके पास एक स्क्रीन सत्र में एक रूट शेल (अलग किया गया या नहीं, पासवर्ड-संरक्षित या नहीं), और आपका screenनिष्पादन योग्य नहीं है, तो एक हमलावर जो आपके विशेषाधिकार प्राप्त करता है, उस शेल में कमांड चला सकता है। यदि और कुछ नहीं है, तो वे स्क्रीन प्रक्रिया को रोककर ऐसा कर सकते हैं ।

यदि स्क्रीन सेतु या सेगिड है, और सत्र अलग और पासवर्ड से सुरक्षित है, तो सिद्धांत रूप में उस शेल में कमांड चलाने के लिए स्क्रीन पासवर्ड लेता है। यदि यह सिद्धांत है, तो कोई व्यक्ति जो केवल आपके खाते से छेड़छाड़ करता है, उसे एक ट्रोजन रखना होगा और आपको पासवर्ड टाइप करने की प्रतीक्षा करनी होगी। हालांकि हमले की सतह (यानी उन जगहों की संख्या जहां बग या गलतफहमी के कारण चीजें गलत हो सकती हैं) असुविधाजनक रूप से बड़ी हैं। बुनियादी सिस्टम सुरक्षा सुविधाओं के अलावा, आप भरोसा कर रहे हैं:

  • पासवर्ड सही जाँचने के लिए स्क्रीन।
  • अन्य माध्यमों से सत्र तक पहुंच को रोकने के लिए स्क्रीन।
  • OS एक्सेस कंट्रोल मैकेनिज्म को ठीक से उपयोग करने के लिए स्क्रीन (जैसे पाइप पर अनुमति)।
  • सही ढंग से ptrace सुरक्षा जांच करने के लिए कर्नेल (यह कमजोरियों का लगातार स्रोत है)।
  • रनिंग शेल कुछ भी बेवकूफी नहीं करता है।
  • कुछ अन्य विशेषता आपको काटने के लिए नहीं।

"कुछ अन्य फीचर आपको नहीं काटते": हाँ, यह अस्पष्ट है। लेकिन यह हमेशा सुरक्षा में चिंता का विषय है। आप इसे केवल स्पष्ट इच्छाधारी सोच के रूप में खारिज करने के लिए लुभा सकते हैं, लेकिन क्या आपने वास्तव में सब कुछ सोचा था? उदाहरण के लिए…

जब तक आप टर्मिनल डिवाइस को लिख सकते हैं, तब तक आप डेटा को उस शेल के इनपुट में इंजेक्ट कर सकते हैं। मेरी मशीन पर स्क्रीन के डिफ़ॉल्ट कॉन्फ़िगरेशन के तहत:

printf '\ekfoo\017bar\e\\' >/dev/pts/33
printf '\e[21t' >/dev/pts/33

यह ␛]lfoobar␛lशेल के इनपुट स्ट्रीम में सम्मिलित होता है। \ekनियंत्रण अनुक्रम है जो किसी एप्लिकेशन (या टर्मिनल डिवाइस पर लिख सकने वाली किसी भी चीज) को विंडो शीर्षक ( स्क्रीन मैनुअल में "नामकरण विंडो" अनुभाग देखें) सेट करने \e[21tदेता है , और एप्लिकेशन के मानक इनपुट पर टर्मिनल को अपना शीर्षक देता है ( स्क्रीन इस क्रम दस्तावेज़ नहीं है, लेकिन इसे लागू करता है, आप के अंतर्गत देख सकते CSI Ps ; Ps ; Ps ; tमें टर्म नियंत्रण दृश्यों सूची वास्तव में, स्क्रीन 4.0.3 के तहत कम से कम, सभी नियंत्रण वर्ण रिपोर्ट शीर्षक से निकाल दिया जाता है, तो खोल पढ़ता है। lfoobar(मान ␛]लेना एक संपादन कमांड के लिए बाध्य नहीं है) और कोई नई पंक्ति नहीं है। इसलिए हमलावर वास्तव में उस तरह से एक कमांड निष्पादित नहीं कर सकता है, लेकिन एक कमांड को सामान की तरह भर सकता हैchmod u+s /bin/sh बहुत सारे रिक्त स्थान और एक संभावित दिखने वाले संकेत के बाद।

स्क्रीन कई अन्य समान जोखिम भरे नियंत्रण अनुक्रमों को लागू करता है, मुझे नहीं पता कि कमजोरियों के लिए उनकी क्षमता क्या है। लेकिन उम्मीद है कि अब तक आप देख सकते हैं कि स्क्रीन सेशन पासवर्ड द्वारा दी जाने वाली सुरक्षा बहुत बढ़िया नहीं है। एक समर्पित सुरक्षा उपकरण जैसे कि सूडो में कमजोरियां होने की संभावना बहुत कम है।


+1 उत्कृष्ट उत्तर। यह सब समझाने के लिए समय निकालने के लिए धन्यवाद।
माइकल

1

स्क्रीन द्वारा बनाए गए पाइप केवल स्वामी द्वारा ही सुलभ हैं, इसलिए यह सुरक्षा समस्या नहीं होनी चाहिए।


5
आपने अपने वाक्य के पहले भाग में "are" का प्रयोग किया था, जहाँ आप शायद "होना चाहिए"। चलो धारणा बनाने की आदत में नहीं आते।
शादुर

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