जड़ या sudo के बिना लिनक्स keylogger! क्या यह असली है?


29

उबंटू पर किसी ने दावा किया है कि उबंटू पर एक keylogger है जिसे न तो निष्पादित किया गया था और न ही इसे रूट के रूप में स्थापित किया गया था। नीचे दिए गए लिंक से यह प्रदर्शित होता है कि यह काम कर रहा है।

http://www.youtube.com/watch?v=Y1fZAZTwyPQ

इसके विपरीत उनके दावों के बावजूद, यह व्यक्ति वीडियो के लिए प्रदर्शन करने से पहले इसे रूट के रूप में स्थापित कर सकता था। क्या कोई अन्य अर्ध-विश्वसनीय सबूत है कि यह स्थापना या निष्पादन के लिए रूट के बिना वास्तव में संभव है?

अद्यतन: 24 जून के उत्तर में संदर्भित सॉफ्टवेयर sudo / root के बिना स्थापित नहीं होगा। मैंने एक काम करने वाले के लिए एक इनाम जोड़ा है जो एक काम कर रहे लिनक्स केलॉगर सॉफ्टवेयर का लिंक देता है जिसे नियमित उपयोगकर्ता विशेषाधिकारों के साथ स्थापित और चलाया जा सकता है।


मेरा मानना ​​है कि यह एक्स स्तर पर आसानी से किया जा सकता है। वैश्विक शॉर्टकट वाले कार्यक्रमों के बारे में जरा सोचें।
डेनिस निकोलाेंको 19

X विंडो सिस्टम कीलॉगर्स को रोकने के लिए, आपको X के लिए SELinux को लागू करने की आवश्यकता है। मेरी जानकारी के लिए, कोई भी विस्तृत प्रसार लिनक्स वितरण बॉक्स से बाहर नहीं करता है। nsa.gov/research/_files/selinux/papers/x11/t1.shtml
डेनिस

क्या आप किसी भी वास्तविक काम के उदाहरणों के बारे में जानते हैं? पहले हाथ से काम किए बिना, मुझे संदेह होता है। और यह जाने बिना कि सूडो / रूट विशेषाधिकारों के बिना कीलॉगर को स्थापित करना वास्तव में संभव है, इसके खिलाफ बचाव के लिए AppArmor या SELinux को स्थापित करने की जटिलता से निपटने के लिए इसके लायक नहीं है।
माइक रोवेव


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

जवाबों:


29

हाँ, यह असली है। यदि आपका ब्राउज़र के माध्यम से शोषण किया गया है और एक हमलावर आपके उपयोगकर्ता विशेषाधिकारों के साथ कोड चला सकता है, तो वह GNOME या KDE ऑटोस्टार्ट सुविधाओं के माध्यम से एक कार्यक्रम पंजीकृत कर सकता है जो लॉगिन पर कार्यक्रम चलाते हैं। कोई भी प्रोग्राम एक्स विंडो सिस्टम में दबाए गए कुंजी के स्कैन कोड प्राप्त कर सकता है। यह आसानी से xinput कमांड के साथ प्रदर्शित होता है। देखें जीयूआई अलगाव पर ब्लॉग पोस्ट जानकारी के लिए।


12

उस वीडियो में अवधारणा 100% वास्तविक है और कोड बहुत सरल है।

अपनी कीबोर्ड आईडी को पहचानें: xinput --list

के साथ कीस्ट्रोक्स लॉग करें: xinput --test $id

कुंजी के साथ संख्याओं का मिलान करें: xmodmap -pke


11

हाँ यह संभव है।
आप इसे इसी तरह के सॉफ्टवेयर lkl के साथ अपनी मशीन पर आज़मा सकते हैं ।


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

मुझे क्षेत्र में बहुत कम ज्ञान है, लेकिन wiki.ubuntu.com/SELinux मदद कर सकता है। अपने निष्कर्षों के साथ मूल प्रश्न को अद्यतन करने के लिए स्वतंत्र महसूस करें। : डी
बीबीजा ४२

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

@ अचंभित वैध बिंदु, लेकिन बेझिझक lkl स्थापित करें और इसे अपनी मशीन पर परीक्षण करें।
बीबीजा ४२

1
यह काम नहीं किया। रनिंग make installमें त्रुटि उत्पन्न हुई cannot create regular file '/usr/local/bin/lkl': Permission denied। रनिंग sudo make installने त्रुटि नहीं दी, लेकिन फिर वास्तव में lkl चलाने की कोशिश ने एक और त्रुटि दी Have to be root to perform a iopl()!
माइक रोवेव

9

मैंने वीडियो नहीं देखा है, इसलिए मैं आपके द्वारा बताए गए वीडियो के बजाय SU थ्रेड से जो दावा करता हूं, उसके बारे में मुझे जो धारणा मिली है, उसका जवाब दे रहा हूं।

यदि कोई हमलावर आपके मशीन पर आपके उपयोगकर्ता के रूप में कोड चला सकता है, तो वे आपकी कुंजी दबा सकते हैं।

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

आह, आप कहते हैं, लेकिन एक अन्य अनुप्रयोग में कुंजी दबाने के बारे में क्या? जब तक अन्य एप्लिकेशन एक ही एक्स सर्वर पर चल रहा है, तब भी वे लॉग इन हो सकते हैं। X11 अनुप्रयोगों को अलग करने का प्रयास नहीं करता है - यह इसका काम नहीं है। X11 कार्यक्रमों को वैश्विक शॉर्टकट्स को परिभाषित करने की अनुमति देता है, जो मैक्रो, आदि को परिभाषित करने के लिए इनपुट विधियों के लिए उपयोगी है।

यदि हमलावर आपके उपयोगकर्ता के रूप में कोड चला सकता है, तो वह आपकी फ़ाइलों को पढ़ और संशोधित भी कर सकता है, और सभी प्रकार के अन्य नुकसान पहुंचा सकता है।

यह कोई खतरा नहीं है। यह एक कार्य प्रणाली की सामान्य अपेक्षाओं का हिस्सा है। यदि आप किसी हमलावर को अपनी मशीन पर कोड चलाने की अनुमति देते हैं, तो आपकी मशीन सुरक्षित नहीं है। यह ऐसा है जैसे आप अपना सामने का दरवाजा खोलते हैं और एक कुल्हाड़ी को मारने की अनुमति देते हैं: यदि आप फिर दो में भिड़ जाते हैं, तो ऐसा नहीं है क्योंकि आपका सामने का दरवाजा असुरक्षित है।

कीगलर केवल संक्रमित उपयोगकर्ता द्वारा दबाए गए लॉग लॉग कर सकता है। (कम से कम जब तक संक्रमित उपयोगकर्ता sudo पासवर्ड नहीं टाइप करता है।)


कानून # 1 देखें ।
इज़ी

"एक हमलावर को आपकी मशीन पर कोड चलाने की अनुमति नहीं देना" एक महान सुरक्षा मॉडल है ... मुझे लगता है कि विंडोज पूरी तरह से सुरक्षित हो जाता है जब यह ए लिनक्स उपयोगकर्ता द्वारा उपयोग किया जाता है (जो निश्चित रूप से "एक हमलावर को कोड चलाने की अनुमति नहीं देगा") ...
gbr

3

यह 100% संभव है। Ttys / ptys (टेक्स्ट मोड) के लिए, सबसे आसान तरीका है कि आप शिम / बिन / {ba, da, a} श (जैसे, एक दूसरा .code सेगमेंट, RX) जोड़ें और एंट्री पॉइंट (एक ELF के रूप में बदलें)। वायरस होगा)। इस मामले में उस तक पहुँच को प्रतिबंधित करते हुए, कोई बहुत ही सरल काल्पनिक मॉडल के रूप में ~ / .profile या ~ / .bashrc (आदि) को संशोधित कर सकता है:

exec ~ / .malicious_programme

जो प्रश्न में दुर्भावनापूर्ण कार्यक्रम को छिपाने के लिए गतिशील साझा ऑब्जेक्ट कोड को लोड कर सकता है (उदाहरण: अनुमति दें। पढ़ने और संशोधन करने की अनुमति दें, लेकिन पंक्ति को छिपाएं। और / या कार्यक्रम को छिपाएं।)

एक तो UNIX98 pty (7) सिस्टम या यहां तक ​​कि पाइप (2) को एक कांटेक्ट शेल में सभी इनपुट रिकॉर्ड करने के लिए उपयोग कर सकता है, यह मानते हुए कि fd को FD_CLOEXEC चिह्नित नहीं किया गया है, और यहां तक ​​कि उपयोगकर्ता इनपुट को शेल में बदल दें।

X11 में, हालांकि kdm / gdm / xdm setuid रूट के रूप में चलता है (या क्षमताओं में समतुल्य [देखें setcap (8)] या जो भी सुरक्षा मॉडल आप उपयोग कर रहे हैं यदि गैर-डिफ़ॉल्ट), तो चीजें अधिक जटिल हो जाती हैं, जाहिर है। यदि कोई विशेषाधिकार बढ़ा सकता है? iopl (2) या ioperm (2) x86 पर 0x60 / 0x64 कीबोर्ड पोर्ट के सीधे उपयोग के साथ जीवन को काफी आसान बनाता है। चूंकि हम मान रहे हैं कि आप नहीं कर सकते हैं, हमें एक वैकल्पिक मार्ग की तलाश करनी चाहिए। मैं कई लोगों को जानता हूं, लेकिन मुझे पूरी तरह से यकीन नहीं है कि आप इस पर एक शोध प्रबंध चाहते हैं कि यह कैसे संभव है और इसमें शामिल इंटरफेस।

यह कहने के लिए पर्याप्त है कि, रिंग 3, गैर-सुपरसुबर ट्रोजन बहुत संभव हैं * निक्स पर, प्रक्रिया अलगाव के बावजूद, विभिन्न मुद्दों के परिणामस्वरूप (विशेष रूप से एक्स के साथ) जिसने उपयोगकर्ता-मोड डेमॉन को प्रदान करने के लिए सुविधाओं को जोड़ा है, जैसे, पाठ सिस्टम की सुरक्षा से समझौता करते हुए सभी ऐप w / o के लिए-स्पीच सपोर्ट। मैंने पहले ही एक ऐसी रूपरेखा तैयार की है, जो ttysnoops (जो कि इसकी समाप्ति की तारीख से बहुत पहले है) के अनुरूप है, और इसे रूट की आवश्यकता नहीं है। मेरे पास इस मामले के लिए नमूना कोड है (जिसमें एक्स में टर्मिनलों के अंदर शामिल होंगे), लेकिन मैंने अभी तक इसे प्रकाशित नहीं किया है। यदि आप अधिक जानकारी चाहते हैं, तो कृपया मुझसे संपर्क करने में संकोच न करें।


सवाल कहता है "बिना जड़ या सूडो के"। एक हमलावर कैसे /binविशेषाधिकार के बिना एक कार्यक्रम को संशोधित करेगा ?
जी-मैन का कहना है कि 'मोनिका' की बहाली

0

हां, सु या सुडो विशेषाधिकार के बिना सॉफ़्टवेयर स्थापित करना संभव है; हालाँकि, यह आमतौर पर किया जाता है, हालांकि एक विशेषाधिकार वृद्धि शोषण। वह वीडियो उस कीलॉगर की क्षमताओं का एक बहुत अच्छा काम करता है, लेकिन यह कीगलर इंस्टॉलेशन पर थोड़ा विस्तार करता है। यहां थोड़ी सी चालाकी हो सकती है, लेकिन अकेले वीडियो से यह बताना मुश्किल है।


आप शब्दों को घुमा रहे हैं। सॉफ़्टवेयर निर्देशिका को बिना चलाए su या एक सिस्टम निर्देशिका में स्थापित करना संभव हो सकता है sudo, लेकिन एक विशेषाधिकार वृद्धि शोषण हमलावर मूल विशेषाधिकार - उर्फ ​​"सुपरसुअर" या "सु" विशेषाधिकार प्रदान करेगा।
जी-मैन ने कहा 'मोनिका'

0

परीक्षण के उद्देश्य के लिए, मैंने एक TTY keylogger बनाया जो गतिशील रूप से उपयोगकर्ता के tty से जुड़ा हो सकता है और प्रोग्राम को रूट द्वारा स्थापित करने की आवश्यकता नहीं है और इसे किसी भी खाते द्वारा उपयोग किया जा सकता है। एक बार संलग्न होने पर, यह उन इनपुटों को लॉग करेगा जो प्रोग्राम शुरू होने पर कमांड लाइन पर दिए गए पैटर्न से मेल खाते हैं।


-3

क्रंचबैंग (डेबियन आधारित डिस्ट्रो) जैसी प्रणालियों के साथ संभव है कि बस टर्मिनल में नैनो विडोको का उपयोग करके sudoers फ़ाइल के लिए अनुमतियों को जोड़ें और उदाहरण के लिए लिनक्स के लिए लॉगस्टिक्स जैसे keylogger को जोड़ें logkeys --start-output/home/user/.secret / लॉग

सौभाग्य


5
Sudoers फ़ाइल को संपादित करने के लिए रूट या sudo विशेषाधिकार की आवश्यकता होती है।
माइक रोवेव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.