
ShellSweeping बुराई को।
शेल स्वीपिंग द एविल
"ShellSweep" एक PowerShell/Python/Lua टूल है जो किसी निर्दिष्ट निर्देशिका में संभावित वेब शेल फ़ाइलों का पता लगाने के लिए डिज़ाइन किया गया है।
शेलस्वीप और इसके उपकरणों का सूट फ़ाइल सामग्री की एन्ट्रॉपी (entropy) की गणना करके किसी फ़ाइल के वेब शेल होने की संभावना का अनुमान लगाता है। उच्च एन्ट्रॉपी अधिक यादृच्छिकता को इंगित करती है, जो एन्क्रिप्टेड या अस्पष्ट कोड की विशेषता है जो अक्सर वेब शेल में पाए जाते हैं।
एन्ट्रॉपी, सूचना सिद्धांत या डेटा विज्ञान के संदर्भ में, डेटा के एक सेट में अप्रत्याशितता, यादृच्छिकता या विकार का माप है। यह अवधारणा क्लॉड शैनन द्वारा 1948 के अपने पेपर "A Mathematical Theory of Communication" में पेश की गई थी।
जब किसी फ़ाइल या टेक्स्ट की स्ट्रिंग पर लागू किया जाता है, तो एन्ट्रॉपी डेटा की यादृच्छिकता का आकलन करने में मदद कर सकती है। यह इस प्रकार काम करता है: यदि कोई फ़ाइल पूरी तरह से यादृच्छिक डेटा से बनी है (प्रत्येक बाइट 0 और 255 के बीच किसी भी मान के होने की समान संभावना है), तो एन्ट्रॉपी उच्च है, 8 के करीब (क्योंकि log2(256) = 8)।
यदि कोई फ़ाइल अत्यधिक संरचित डेटा से बनी है (उदाहरण के लिए, एक टेक्स्ट फ़ाइल जहां अधिकांश बाइट्स ASCII वर्ण हैं), तो एन्ट्रॉपी कम होती है। वेब शेल या दुर्भावनापूर्ण फ़ाइलों को खोजने के संदर्भ में, एन्ट्रॉपी एक उपयोगी संकेतक हो सकता है:
ShellSweep में एक Get-Entropy फ़ंक्शन शामिल है जो किसी फ़ाइल की सामग्री की एन्ट्रॉपी की गणना इस प्रकार करता है:
ShellSweepX ShellSweep की मुख्य कार्यक्षमता को अगले स्तर पर ले जाता है, पारंपरिक EDR (एंडपॉइंट डिटेक्शन एंड रिस्पॉन्स) समाधानों पर कई लाभ प्रदान करता है:
विशिष्ट फोकस: EDR समाधानों के विपरीत जो एक व्यापक जाल बिछाते हैं, ShellSweepX विशेष रूप से वेब शेल का पता लगाने के लिए डिज़ाइन किया गया है। यह विशिष्ट फोकस इन विशेष खतरों का अधिक सटीक और कुशल पता लगाने की अनुमति देता है।
कम संसाधन ओवरहेड: ShellSweepX हल्का है और इसे कई EDR समाधानों के विपरीत निरंतर पृष्ठभूमि प्रक्रियाओं या सिस्टम निगरानी की आवश्यकता नहीं होती है। इसका मतलब सिस्टम प्रदर्शन पर कम प्रभाव पड़ता है।
अनुकूलन योग्य और पारदर्शी: ShellSweepX की ओपन-सोर्स प्रकृति इसकी पहचान विधियों में पूर्ण पारदर्शिता की अनुमति देती है। आप अपने विशिष्ट वातावरण के अनुरूप पहचान मापदंडों को आसानी से अनुकूलित और बारीक कर सकते हैं।
बाहरी सेवाओं पर कोई निर्भरता नहीं: ShellSweepX क्लाउड-आधारित विश्लेषण या निरंतर अपडेट पर निर्भर हुए बिना स्थानीय रूप से काम करता है, यह सुनिश्चित करता है कि आपका संवेदनशील डेटा आपके नियंत्रण में रहे।
बहु-स्तरीय पहचान: ShellSweepX एन्ट्रॉपी विश्लेषण, पैटर्न मिलान, और अनुमानी विश्लेषण सहित विभिन्न पहचान विधियों को नियोजित करता है, जो वेब शेल पहचान के लिए एक व्यापक दृष्टिकोण प्रदान करता है।
विस्तृत रिपोर्टिंग: ShellSweepX संभावित खतरों के बारे में गहन जानकारी प्रदान करता है, जिसमें एन्ट्रॉपी मान, पहचान विधियां, और विश्वास स्कोर शामिल हैं, जो अधिक सूचित निर्णय लेने की अनुमति देता है।
क्रॉस-प्लेटफॉर्म अनुकूलता: PowerShell, Python, और Lua में उपलब्ध संस्करणों के साथ, ShellSweepX को विभिन्न वातावरणों में तैनात किया जा सकता है।
जबकि ShellSweepX एक पूर्ण विकसित EDR समाधान का विकल्प नहीं है, यह आपके सुरक्षा शस्त्रागार में एक शक्तिशाली, विशिष्ट उपकरण के रूप में कार्य करता है, विशेष रूप से उन वातावरणों के लिए जहां वेब शेल एक महत्वपूर्ण खतरा पैदा करते हैं।
ShellScan कई ज्ञात बुरे वेब शेल निर्देशिकाओं को स्कैन करने और फ़ाइल एक्सटेंशन द्वारा औसत, माध्यिका, न्यूनतम और अधिकतम एन्ट्रॉपी मानों को आउटपुट करने की क्षमता प्रदान करता है।
ShellScan.ps1 को वेब शेल की कुछ निर्देशिकाएं पास करें, कोई भी आकार सेट। मैंने उपयोग किया:
यह एन्ट्रॉपी मान प्राप्त करने के लिए एक अच्छा प्रशिक्षण सेट देगा।
आउटपुट उदाहरण:
Statistics for .aspx files:
Average entropy: 4.94212121048115
Minimum entropy: 1.29348709979974
Maximum entropy: 6.09830238020383
Median entropy: 4.85437969842084
Statistics for .asp files:
Average entropy: 5.51268104400858
Minimum entropy: 0.732406213077191
Maximum entropy: 7.69241278153711
Median entropy: 5.57351177724806
पहले, आइए ShellCSV के उपयोग को तोड़ते हैं और यह डिस्क पर अच्छी फ़ाइलों की एन्ट्रॉपी की पहचान करने में कैसे सहायता करता है। विचार यह है कि रक्षक इसे वेब सर्वर पर चला सकते हैं ताकि सभी फ़ाइलों और एन्ट्रॉपी मानों को एकत्र किया जा सके और बेहतर ढंग से समझ सकें कि उनके कार्य वातावरण में कौन से पथ और एक्सटेंशन सबसे प्रमुख हैं।
उदाहरण आउटपुट के लिए ShellCSV.csv देखें।
ब्लॉग: Ghost in the Web Shell: Introducing ShellSweep
पहले, अपनी पसंद चुनें: Python, PowerShell या Lua।
यदि आप यहाँ आ गए हैं, तो यह वह हिस्सा है जहाँ आप ट्यूनिंग पर पुनरावृति करते हैं। कोई नया शेल मिला? एन्ट्रॉपी एकत्र करें और आवश्यकतानुसार संशोधित करें।
ब्लॉग: Introducing ShellSweepPlus: Open-Source Web Shell Detection
ShellSweepPlus एक उन्नत PowerShell स्क्रिप्ट है जिसे वेब वातावरण में संभावित वेब शेल का पता लगाने और उनका विश्लेषण करने के लिए डिज़ाइन किया गया है। यह ShellSweep की मुख्य कार्यक्षमता पर निर्मित है, उन्नत सुविधाएँ और पहचान क्षमताएँ प्रदान करता है।
मुख्य विशेषताएं:
उपयोग:
$DirectoryPaths वेरिएबल में स्कैन करने के लिए निर्देशिकाओं को निर्दिष्ट करें।$suspiciousPatterns को अनुकूलित करें।$excludePaths का उपयोग करें।$ignoreHashes या $ignoreHashesFilePath का उपयोग करें।उदाहरण आउटपुट:
json
{
"TotalFilesScanned": 1000,
"Potential web shells": 5,
"ScanDuration": "00:05:30"
}
ShellSweepPlus वेब शेल पहचान के लिए एक शक्तिशाली और लचीला समाधान प्रदान करता है, सटीकता में सुधार करने और परिष्कृत खतरों को भी पकड़ने के लिए कई विश्लेषण तकनीकों को जोड़ता है।
बेझिझक एक Git मुद्दा खोलें या विकी देखें।
यदि आपको यह प्रोजेक्ट पसंद आया है, तो प्रोजेक्ट को स्टार करना सुनिश्चित करें और इसे अपने परिवार और दोस्तों के साथ साझा करें।
| सुविधा/पहलू | ShellSweep | ShellSweepPlus | ShellSweepX |
|---|
| आधाररेखा पहचान | विशिष्ट फ़ाइल एक्सटेंशन के लिए हार्डकोडेड एन्ट्रॉपी मानों का उपयोग करता है | गतिशील आधाररेखा पहचान जो मौके पर एन्ट्रॉपी की गणना करती है | एन्ट्रॉपी-आधारित पहचान और मशीन लर्निंग भविष्यवाणी का संयोजन उपयोग करता है |
| फ़ाइल एक्सटेंशन | एक्सटेंशन वाली फ़ाइलों को प्रोसेस करता है: .asp, .aspx, .asax, .jspx, .html, .ashx | एक्सटेंशन वाली फ़ाइलों को प्रोसेस करता है: .asp, .ashx, .asax, .jspx, .html, .aspx | API के माध्यम से कॉन्फ़िगर करने योग्य फ़ाइल एक्सटेंशन |
| एन्ट्रॉपी गणना | संभावित वेब शेल का पता लगाने के लिए फ़ाइल सामग्री की एन्ट्रॉपी की गणना करता है | उन्नत एन्ट्रॉपी-आधारित पहचान, संदिग्ध कीवर्ड के साथ क्रॉस-रेफरेंसिंग | चंक-आधारित विश्लेषण के साथ उन्नत एन्ट्रॉपी गणना |
| बहिष्करण सुविधा | स्कैनिंग से कुछ निर्देशिकाओं को बाहर कर सकता है | स्कैनिंग से कुछ निर्देशिकाओं को बाहर कर सकता है | API के माध्यम से कॉन्फ़िगर करने योग्य बहिष्करण |
| हैश अनदेखा करना | विशिष्ट हैश वाली फ़ाइलों को अनदेखा करता है | विशिष्ट हैश वाली फ़ाइलों को अनदेखा करता है | API के माध्यम से कॉन्फ़िगर करने योग्य हैश अनदेखा करना |
| आउटपुट | यदि संभावित वेब शेल मिलते हैं, तो फ़ाइल नाम, एन्ट्रॉपी मान, और हैश आउटपुट करता है। अन्यथा, "No evil identified today." प्रिंट करता है। | यदि संभावित वेब शेल मिलते हैं, तो JSON प्रारूप में फ़ाइल नाम, एन्ट्रॉपी मान, हैश, अंतिम संशोधित तिथि, पहचान विधि, और विश्वास स्कोर आउटपुट करता है। अन्यथा, "No potential web shells detected." प्रिंट करता है। | फ़ाइल मेटाडेटा, एन्ट्रॉपी, भविष्यवाणी परिणाम, और YARA मैच सहित विस्तृत JSON आउटपुट |
| एन्ट्रॉपी और मानक विचलन | एन्ट्रॉपी मानों का उपयोग करता है | प्रत्येक फ़ाइल एक्सटेंशन के लिए एन्ट्रॉपी मानों का माध्य और मानक विचलन की गणना करता है | उन्नत विश्लेषण के लिए एन्ट्रॉपी और मानक विचलन दोनों की गणना करता है |
| मिश्रित-मोड पहचान | मौजूद नहीं | एन्ट्रॉपी-आधारित पहचान, मानक विचलन-आधारित पहचान, और मिश्रित-मोड पहचान (हार्डकोडेड सीमाओं के साथ मानक विचलन का उपयोग) का संयोजन उपयोग करता है | एन्ट्रॉपी-आधारित पहचान, मशीन लर्निंग भविष्यवाणी, और YARA नियम मिलान को जोड़ता है |
| स्थैतिक कोड विश्लेषण | मौजूद नहीं | ज्ञात दुर्भावनापूर्ण पैटर्न की पहचान और ध्वजांकन के लिए कोड का स्थैतिक विश्लेषण करने वाला पैटर्न-आधारित पहचान तंत्र | पैटर्न-आधारित पहचान के लिए YARA नियमों का उपयोग करता है |
| अनुमानी विश्लेषण | मौजूद नहीं | जीरो-डे वेब शेल की पहचान बढ़ाने के लिए अनुमानी नियमों के आधार पर विसंगतियों का पता लगाने के लिए Perform-HeuristicAnalysis फ़ंक्शन प्रस्तुत करता है | अनुमानी विश्लेषण के लिए मशीन लर्निंग-आधारित भविष्यवाणी लागू करता है |
| विस्तृत परिणाम प्रस्तुति | मौजूद नहीं | संभावित खतरों को एक संरचित JSON प्रारूप में प्रस्तुत करता है, जिसमें फ़ाइल पथ, एन्ट्रॉपी, मानक विचलन, हैश, अंतिम संशोधित तिथि, पहचान विधि, और विश्वास स्कोर शामिल है | एक संरचित JSON प्रारूप में सभी विश्लेषण विधियों सहित व्यापक परिणाम प्रदान करता है |
| व्यापक लॉगिंग | मौजूद नहीं | विस्तृत लॉगिंग और संचालन पारदर्शिता के लिए पूरी स्क्रिप्ट में Write-Verbose कमांड शामिल करता है | एजेंट और सर्वर घटकों में वर्बोज़ लॉगिंग लागू करता है |
| विश्वास स्कोरिंग | मौजूद नहीं | पहचान विधि के आधार पर विश्वास स्कोर की गणना करता है और संदिग्ध पैटर्न की उपस्थिति के आधार पर इसे समायोजित करता है | मशीन लर्निंग भविष्यवाणी विश्वास का उपयोग करता है और एक व्यापक स्कोर के लिए इसे अन्य पहचान विधियों के साथ जोड़ता है |
| मॉड्यूलर डिज़ाइन | मौजूद नहीं | विभिन्न कार्यों के लिए अलग-अलग फ़ंक्शन (जैसे, Process-File, Create-ResultObject, Adjust-ConfidenceScore) का उपयोग करता है, कोड पुन: प्रयोज्यता और रखरखाव को बढ़ावा देता है | एजेंट, सर्वर, और विश्लेषण कार्यों के लिए अलग-अलग घटकों के साथ अत्यधिक मॉड्यूलर डिज़ाइन |
| क्रॉस-प्लेटफॉर्म समर्थन | केवल PowerShell | केवल PowerShell | PowerShell, Python, और Bash कार्यान्वयन का समर्थन करता है |
| API एकीकरण | मौजूद नहीं | मौजूद नहीं | कॉन्फ़िगरेशन, परिणाम सबमिशन, और प्रबंधन के लिए व्यापक API |
| AI-संचालित विश्लेषण | मौजूद नहीं | मौजूद नहीं | AI-आधारित ट्राइएज और विश्लेषण क्षमताओं को शामिल करता है |
| YARA नियम प्रबंधन | मौजूद नहीं | मौजूद नहीं | API के माध्यम से YARA नियमों को जोड़ने, अपडेट करने और हटाने की अनुमति देता है |
| वेब इंटरफेस | मौजूद नहीं | मौजूद नहीं | परिणाम विज़ुअलाइज़ेशन और विश्लेषण के लिए एक वेब-आधारित इंटरफेस प्रदान करता है |