यदि आपके पास एक स्क्रीन सत्र में एक रूट शेल (अलग किया गया या नहीं, पासवर्ड-संरक्षित या नहीं), और आपका 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
बहुत सारे रिक्त स्थान और एक संभावित दिखने वाले संकेत के बाद।
स्क्रीन कई अन्य समान जोखिम भरे नियंत्रण अनुक्रमों को लागू करता है, मुझे नहीं पता कि कमजोरियों के लिए उनकी क्षमता क्या है। लेकिन उम्मीद है कि अब तक आप देख सकते हैं कि स्क्रीन सेशन पासवर्ड द्वारा दी जाने वाली सुरक्षा बहुत बढ़िया नहीं है। एक समर्पित सुरक्षा उपकरण जैसे कि सूडो में कमजोरियां होने की संभावना बहुत कम है।
sudo
।