Log4Shell (CVE-2021-44228) भेद्यता को कई साइबर सुरक्षा शोधकर्ताओं और विशेषज्ञों द्वारा अब तक की सबसे महत्वपूर्ण शून्य-दिन भेद्यता के रूप में वर्णित किया गया है। यह Log4j के नाम से व्यापक रूप से उपयोग की जाने वाली जावा उपयोगिता को प्रभावित करता है, जो 2001 से नियमित सिस्टम संचालन और सॉफ़्टवेयर त्रुटियों जैसे घटनाओं को लॉगिंग और संचार करने के लिए आसपास रहा है। यहां हम आपको दिखाते हैं कि आप अपने Linux सिस्टम को इससे कैसे सुरक्षित रखें।
Log4Shell भेद्यता कैसे काम करती है?
मौलिक स्तर पर, भेद्यता अनुचित इनपुट सत्यापन के कारण होती है। ऐसा तब होता है जब सॉफ़्टवेयर इसे प्राप्त होने वाले डेटा को ठीक से मान्य नहीं करता है, जिससे संभावित कमजोरियां होती हैं, क्योंकि गलत तरीके से मान्य इनपुट का उपयोग प्रोग्राम को उन कार्यों को करने के लिए किया जा सकता है जो इसे नहीं करना चाहिए।
Log4Shell विशेष रूप से LDAP और JNDI का उपयोग करते हुए Log4j सर्वर को भेजे गए अनुरोधों का लाभ उठाता है। इन अनुरोधों का लाभ उठाकर, एक हमलावर किसी भी कमजोर सिस्टम पर कोड निष्पादित कर सकता है, जिससे एक दुर्भावनापूर्ण अभिनेता सिस्टम पर पूर्ण नियंत्रण ले सकता है और रैंसमवेयर स्थापित करने या डेटा चोरी करने की क्षमता रखता है।
Log4Shell का क्या प्रभाव पड़ता है?
चूंकि जावा एक अत्यंत लोकप्रिय प्रोग्रामिंग भाषा है, इसलिए जावा में लिखे गए बहुत सारे सॉफ़्टवेयर जो लॉग 4j का उपयोग इसकी लॉगिंग कार्यक्षमता के लिए करते हैं, इस भेद्यता से प्रभावित होते हैं। इस भेद्यता से प्रभावित कुछ सबसे प्रसिद्ध और आमतौर पर उपयोग किए जाने वाले सॉफ़्टवेयर में Apache और Minecraft नामक वीडियो गेम शामिल हैं।
कैसे जानें कि कौन से सॉफ़्टवेयर प्रभावित हैं?
Log4Shell, किसी भी अन्य साइबर सुरक्षा भेद्यता की तरह, इससे प्रभावित सॉफ़्टवेयर को पैच करके कम किया जाता है। हालाँकि, Log4Shell का मामला थोड़ा अधिक अनूठा है, क्योंकि यह सॉफ़्टवेयर की इतनी विस्तृत श्रृंखला को प्रभावित करता है, और क्या प्रभावित होता है और क्या नहीं, इसकी सूची रखना मुश्किल हो सकता है।
सौभाग्य से, नीदरलैंड के राष्ट्रीय साइबर सुरक्षा केंद्र ने GitHub पर एक व्यापक सूची प्रकाशित की है, जिसमें विभिन्न संगठनों द्वारा विकसित सॉफ़्टवेयर के नाम शामिल हैं, जो यह सूचित करते हैं कि क्या वे Log4Shell के लिए असुरक्षित हैं।
भेद्यता के लिए अपने Apache सर्वर को कैसे स्कैन करें
चूंकि इस भेद्यता ने साइबर सुरक्षा और सॉफ़्टवेयर समुदायों को बहुत प्रभावित किया है, इसलिए इसमें कोई आश्चर्य की बात नहीं है कि व्यवस्थापकों के पास भेद्यता के लिए अपने सर्वर को स्कैन करने के लिए उपकरण उपलब्ध हैं।
ऐसा ही एक स्कैनर है Log4j-RCE-Scanner, जो आपको Apache Log4j पर कई पतों पर रिमोट कमांड निष्पादन भेद्यता के लिए स्कैन करने की अनुमति देता है।
Log4j-RCE-स्कैनर इंस्टॉल करना
शुरू करने से पहले, हमें इसकी निर्भरताएं स्थापित करने की आवश्यकता है, httpx
और curl
।
कर्ल को उबंटू और डेबियन-आधारित सिस्टम पर apt
. का उपयोग करके आसानी से स्थापित किया जा सकता है आदेश:
sudo apt install curl
वही आर्क लिनक्स पर pacman
. का उपयोग करके किया जा सकता है आदेश:
sudo pacman -Sy curl
और CentOS और Fedora संस्थापनों पर yum
. का प्रयोग करते हुए आदेश:
sudo yum install curl
Httpx को स्थापित करना निम्न आदेशों के साथ किया जा सकता है:
git clone https://github.com/projectdiscovery/httpx cd httpx/cmd/httpx && go build . sudo mv httpx /usr/local/bin/
सभी आवश्यक निर्भरताएँ स्थापित करने के बाद, Log4J-RCE-स्कैनर रिपॉजिटरी को क्लोन करें:
git clone https://github.com/adilsoybali/Log4j-RCE-Scanner
नई बनाई गई निर्देशिका तक पहुंचें:
cd Log4j-RCE-Scanner/
अंत में, बैश स्क्रिप्ट के लिए आवश्यक निष्पादन योग्य अनुमतियाँ जोड़ें:
chmod +x log4j-rce-scanner.sh
Log4j-RCE-स्कैनर का उपयोग करना
आपके द्वारा स्कैनर स्थापित करने के बाद, आप अंत में वास्तव में इसका उपयोग करने के मज़ेदार हिस्से तक पहुँच सकते हैं।
टाइप करके स्क्रिप्ट का सहायता अनुभाग पढ़ें:
bash log4j-rce-scanner.sh -h
अब, आप Log4shell भेद्यता के लिए अपने Apache सर्वर को स्कैन कर सकते हैं।
bash log4j-rce-scanner.sh -d [domain] -b [Burp collaborator]
आप -d
. का उपयोग करके अपना डोमेन और बर्प सहयोगी निर्दिष्ट कर सकते हैं और -b
झंडे। यदि आपका डोमेन असुरक्षित है, तो असुरक्षित डोमेन नाम वाले DNS कॉलबैक बर्प सहयोगी को भेजे जाते हैं।
वैकल्पिक रूप से, -l
ध्वज का उपयोग डोमेन की सूची निर्दिष्ट करने के लिए भी किया जा सकता है।
पायथन-आधारित स्कैनर को स्थापित करना और उसका उपयोग करना
यदि आप इसके बजाय पायथन लिपि का उपयोग करना पसंद करते हैं, तो आप लॉग4-स्कैनर का उपयोग कर सकते हैं, जिसे संयुक्त राज्य अमेरिका की साइबर सुरक्षा और अवसंरचना सुरक्षा एजेंसी द्वारा विकसित किया गया है।
इसे स्थापित करने के लिए:
git clone https://github.com/cisagov/log4j-scanner/
निर्देशिका तक पहुंचें:
cd log4j-scanner/log4-scanner/
आप पायथन-आधारित pip3
. का उपयोग करके आवश्यक निर्भरताएँ स्थापित कर सकते हैं आदेश:
pip3 install -r requirements.txt
आप -h
. का उपयोग करके स्क्रिप्ट द्वारा प्रदान की गई "सहायता" देख सकते हैं झंडा:
python3 log4j-scan.py -h
किसी एकल URL को स्कैन करना आसान है और -u
. का उपयोग करके किया जा सकता है झंडा:
python3 log4j-scan.py -u example.com
आप -l
. का उपयोग करके URL की सूची भी स्कैन कर सकते हैं झंडा:
python3 log4j-scan.py -l list.txt
अपाचे को कैसे पैच करें
इस भेद्यता का मुकाबला करने के लिए, अपने अपाचे कॉन्फ़िगरेशन को अद्यतित रखना अत्यंत महत्वपूर्ण है।
Apache के संस्करण की जाँच कई तरीकों से की जा सकती है:अपने व्यवस्थापन पैनल, जैसे CPanel, या WebHost Manager से जाँच करके। आप httpd
. चलाकर भी संस्करण की जांच कर सकते हैं -v
. के साथ कमांड झंडा:
httpd -v
Apache को apt
. का उपयोग करके नवीनतम, सबसे सुरक्षित संस्करण में अपडेट किया जा सकता है डेबियन और उबंटू सिस्टम पर कमांड:
sudo apt update && sudo apt upgrade apache2
वही परिणाम yum
. का उपयोग करके भी प्राप्त किया जाता है CentOS पर कमांड:
sudo yum install httpd
अक्सर पूछे जाने वाले प्रश्न
1. Log4j के कौन से संस्करण भेद्यता से प्रभावित हैं?
2.1.7.1 से नीचे के संस्करण शोषण की चपेट में हैं। संस्करण 2.15.0 ने सबसे आसानी से शोषक तत्वों को ठीक किया, 2.17.1 के साथ एक कठिन-से-शोषण रिमोट कोड निष्पादन भेद्यता को ठीक किया।
2. क्या मुझे कमजोर डोमेन नामों के साथ DNS कॉलबैक प्राप्त करने के लिए Burp Collaborator उपयोगिता की आवश्यकता है?
बैश-आधारित स्कैनर के डेवलपर के अनुसार, कमजोर डोमेन नामों के साथ DNS कॉलबैक प्राप्त करने के लिए स्क्रिप्ट के साथ ही Burp Collaborator का उपयोग किया जाता है। वैकल्पिक रूप से, Interact.sh पते का उपयोग किया जा सकता है।
3. क्या मुझे बैश-आधारित स्कैनर का उपयोग करने के लिए अन्य निर्भरता की आवश्यकता है?
बुनियादी उपयोग के लिए, आपको केवल httpx और कर्ल को अपने सिस्टम पर निर्भरता के रूप में स्थापित करने की आवश्यकता है। हालांकि, कुछ कार्यक्षमताओं को अनलॉक करने के लिए, आपको स्थापित करने के लिए सबफ़ाइंडर, एसेटफ़ाइंडर और अमास की भी आवश्यकता होगी।