
लैब और PoC
यह रिपॉजिटरी एक नियंत्रित प्रयोगशाला में SharePoint-शैली डिसीरियलाइज़ेशन और टूल-पेन प्रोसेसिंग मुद्दे को मान्य करने के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट अनुसंधान परियोजना प्रतीत होती है। इसमें एक Python ड्राइवर, एक नकली कमजोर अनुप्रयोग, और पृथक परीक्षण के लिए कंटेनर संपत्तियां शामिल हैं।
[!चेतावनी] इस परियोजना का उपयोग केवल उन प्रणालियों, कंटेनरों या नेटवर्कों में किया जाना चाहिए जिनके आप स्वामी हैं या जिनके परीक्षण के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। इस कोड को सार्वजनिक बुनियादी ढांचे, तृतीय-पक्ष सेवाओं, उत्पादन वातावरण, या बिना लिखित अनुमति के किसी भी लक्ष्य के विरुद्ध न चलाएं। अनधिकृत सुरक्षा परीक्षण कानून, अनुबंध, नीति या स्वीकार्य उपयोग शर्तों का उल्लंघन कर सकता है।
इस रिपॉजिटरी की सामग्री को संवेदनशील सुरक्षा अनुसंधान सामग्री के रूप में माना जाना चाहिए। यदि आप इस परियोजना का उपयोग मूल्यांकन कार्य के लिए करते हैं, तो निष्पादन को पृथक रखें, सभी गतिविधियों को लॉग करें, और परीक्षण से पहले सिस्टम स्वामी के साथ समन्वय करें।
रिपॉजिटरी में वर्तमान में निम्नलिखित शामिल हैं:
sploit.py: अतुल्यकालिक Python ड्राइवर जो ToolPane एंडपॉइंट पर निर्मित अनुरोध प्रस्तुत करता है।lab/mock_vulnerable_app.cs: नकली ASP.NET अनुप्रयोग जो एक सत्यापन मार्कर को प्रतिबिंबित करता है और अपने वर्तमान रूप में, लैब कंटेनर के अंदर आपूर्ति किए गए कमांड को निष्पादित कर सकता है।lab/docker-compose.yml: स्थानीय दो-कंटेनर लैब जो नकली लक्ष्य को हमलावर टर्मिनल से अलग करती है।lab/Dockerfile: मल्टी-स्टेज .NET बिल्ड जो नकली कमजोर अनुप्रयोग को एक छोटे ASP.NET रनटाइम छवि में प्रकाशित करता है और इसे गैर-रूट उपयोगकर्ता के रूप में चलाता है।lab/attacker.Dockerfile: Python हमलावर कंटेनर परिभाषा जो लैब टर्मिनल के लिए आवश्यक स्क्रिप्ट निर्भरता सेट को पूर्वस्थापित करती है।lab/vulnerable.csproj: नकली कमजोर अनुप्रयोग के लिए .NET 6 वेब प्रोजेक्ट फ़ाइल।lab/genGadget.py: केवल-लैब डिसीरियलाइज़ेशन परीक्षण के लिए संपीड़ित Base64 पेलोड उत्पन्न करने के लिए सहायक स्क्रिप्ट।यह वर्कफ़्लो केवल स्थानीय लैब के लिए अभिप्रेत है।
पूर्वापेक्षाएँ:
lab/ निर्देशिका से लैब प्रारंभ करें:
cd lab
docker-compose up --build -d
यदि आपके Docker सेटअप में उन्नत विशेषाधिकारों की आवश्यकता है, तो उन्हीं कमांडों को sudo के साथ चलाएं।
पुष्टि करें कि दोनों कंटेनर चल रहे हैं:
docker-compose ps
समस्या या एक्सप्लॉइट सत्यापन के मामले में लॉगिंग:
docker logs sp_attacker
docker logs sp_vulnerable_lab
लैब जानबूझकर पृथक है:
lab_net नेटवर्क पर चलता है;हमलावर कंटेनर में एक शेल खोलें:
docker exec -it sp_attacker bash
हमलावर कंटेनर के अंदर से, आप लैब-सुरक्षित जांच कर सकते हैं जैसे कि लक्ष्य तक पहुंच की पुष्टि करना और नकली लक्ष्य के विरुद्ध सत्यापन मोड में स्क्रिप्ट का परीक्षण करना:
python3 sploit.py http://sp_vulnerable_lab/
# यदि आपके वातावरण में सेवा-नाम DNS रिज़ॉल्यूशन विफल होता है, तो लैब IP का उपयोग करें:
# python3 sploit.py http://10.10.10.5
# यदि आप आधार सत्यापन से आगे जाना चाहते हैं तो आप वांछित कमांड शामिल कर सकते हैं।
python3 sploit.py http://sp_vulnerable_lab whoami
स्थानीय नकली वातावरण में अपेक्षित व्यवहार:
http://sharepoint-target के रूप में पहुंच योग्य होना चाहिए;परिचालन नोट:
लैब कंटेनरों और नेटवर्क को रोकें और हटाएं:
cd lab
docker-compose down
यदि आप निर्मित छवियों को भी हटाना चाहते हैं:
docker-compose down --rmi local
यदि आप लैब वर्कस्पेस आर्टिफैक्ट्स का पूर्ण रीसेट चाहते हैं, तो शटडाउन के बाद किसी भी उत्पन्न परिणाम फ़ाइल को हटा दें:
rm -f vuln.lst
प्रत्येक अभ्यास के बाद अनुशंसित सफाई अभ्यास:
docker-compose down के साथ लैब बंद करें;परियोजना एक स्थानीय अनुसंधान लैब के रूप में संरचनात्मक रूप से मान्य है, लेकिन इसे अपने वर्तमान रूप में उत्पादन-सुरक्षित सत्यापक के रूप में नहीं माना जाना चाहिए।
क्या काम कर रहा है:
क्या सावधानी की आवश्यकता है:
vuln.lst में लिखे जाते हैं, जो अनावश्यक अवशिष्ट संवेदनशील डेटा बना सकते हैं।इस परियोजना का उपयोग केवल पहचान और जोखिम के नियंत्रित सत्यापन के लिए करें, परिचालन शोषण के लिए नहीं।
अनुशंसित पद्धति:
वास्तविक दुनिया के मूल्यांकन कार्य के लिए, सुरक्षित मानक एक्सप्लॉइट-शैली सत्यापन को निम्नलिखित में से एक या अधिक से बदलना है:
यदि कोई लक्ष्य वास्तव में विशेषाधिकार प्राप्त अनुप्रयोग घटक में एक डिसीरियलाइज़ेशन दोष के लिए कमजोर है, तो संभावित प्रभाव गंभीर हो सकता है:
यहां तक कि एक लैब में, कमांड-निष्पादन शब्दार्थ जोखिम को काफी बढ़ा देते हैं क्योंकि वे उन वर्कफ़्लो को सामान्य करते हैं जो कड़ाई से नियंत्रित, अधिकृत जांच के लिए आरक्षित होने चाहिए।
उचित शमन पथ रक्षात्मक और स्तरित है।
तत्काल कार्रवाई:
कठोरीकरण कार्रवाई:
/_layouts/15/ToolPane.aspx और आसन्न प्रशासनिक पथों पर संदिग्ध अनुरोधों के लिए केंद्रीकृत लॉगिंग और अलर्टिंग सक्षम करें।अनुसंधान-लैब विशिष्ट शमन: