Shocker
शेलशॉक के प्रति संवेदनशील सर्वरों को खोजने और उनका शोषण करने का एक उपकरण
Ref: https://en.wikipedia.org/wiki/Shellshock_(software_bug)
NCC Group Plc द्वारा ओपन सोर्स के रूप में जारी - https://www.nccgroup.trust/
द्वारा विकसित:
- Tom Watson, tom [dot] watson [at] nccgroup [dot] trust
https://github.com/nccgroup/shocker
AGPL के तहत जारी, अधिक जानकारी के लिए LICENSE देखें
सहायता पाठ
उपयोग:
shocker.py
-h, --help यह सहायता संदेश दिखाएं और बाहर निकलें
--Host HOST, -H HOST
एक लक्ष्य होस्टनाम या आईपी पता
--file FILE, -f FILE लक्ष्यों की सूची वाली फ़ाइल
--port PORT, -p PORT लक्ष्य पोर्ट नंबर (डिफ़ॉल्ट=80)
--command COMMAND निष्पादित करने के लिए कमांड (डिफ़ॉल्ट=/bin/uname -a)
--cgi CGI, -c CGI जांचने के लिए एकल CGI (उदा. /cgi-bin/test.cgi)
--proxy PROXY अभी थोड़ा टूटा हुआ है प्रॉक्सी का उपयोग 'ip:port' प्रारूप में किया जाएगा
--ssl, -s SSL का उपयोग करें (डिफ़ॉल्ट=False)
--threads THREADS, -t THREADS
थ्रेड्स की अधिकतम संख्या (डिफ़ॉल्ट=10, अधिकतम=100)
--verbose, -v आउटपुट में विस्तृत जानकारी दिखाएं
उपयोग उदाहरण
./shocker.py -H 127.0.0.1 --command "/bin/cat /etc/passwd" -c /cgi-bin/test.cgi
http://127.0.0.1/cgi-bin/test.cgi के लिए स्कैन करता है और, यदि पाया जाता है, तो /etc/passwd को cat करने का प्रयास करता है
./shocker.py -H www.example.com -p 8001 -s
cgi_list में सभी स्क्रिप्ट के लिए SSL का उपयोग करके पोर्ट 8001 पर www.example.com को स्कैन करता है और किसी भी पाई गई स्क्रिप्ट के लिए डिफ़ॉल्ट शोषण का प्रयास करता है
./shocker.py -f ./hostlist
डिफ़ॉल्ट विकल्पों के साथ ./hostlist फ़ाइल में सूचीबद्ध सभी होस्टों को स्कैन करता है
निर्भरताएँ
Python 2.7+
परिवर्तन लॉग
संस्करण 1.1 (जून 2018) में परिवर्तन
- कुछ अतिरिक्त डिबगिंग कार्यक्षमता जोड़ी गई और सहायता पाठ सही किया गया
संस्करण 1.0 (मार्च 2016) में परिवर्तन
- कुछ अतिरिक्त स्क्रिप्ट योगदान की गईं और कुछ टिप्पणियों, URL और संपर्क विवरणों में अद्यतन
संस्करण 0.72 (दिसंबर 2014) में परिवर्तन
- तर्क और टाइपो में छोटे सुधार
संस्करण 0.71 (दिसंबर 2014) में परिवर्तन
- वैश्विक 'TIMEOUT' का उपयोग करके urllib2.urlopen अनुरोधों में टाइमआउट जोड़ा गया
संस्करण 0.7 (नवंबर 2014) में परिवर्तन
- चुने गए संवेदनशील सर्वर के आगे शोषण के लिए इंटरैक्टिव 'स्यूडो कंसोल' जोड़ा गया
- sys.stdout को एक ऐसे क्लास में लपेटकर आउटपुट बफरिंग समस्याओं को साफ करने का प्रयास किया गया जो write पर प्रत्येक कॉल पर फ्लश करता है
- समय लेने वाले कार्यों में उपयोग के लिए एक प्रगति संकेतक जोड़ा गया ताकि गैर-अनावश्यक उपयोगकर्ताओं को आश्वस्त किया जा सके
संस्करण 0.6 (अक्टूबर 2014) में परिवर्तन
- 200 के अलावा अन्य रिटर्न कोड को सफलता मानने से रोकना
- एक फ़ाइल में कई लक्ष्य निर्दिष्ट करने की क्षमता जोड़ी गई
- शोषण करने के लिए स्क्रिप्ट की 'cgi_list' सूची को एक फ़ाइल में स्थानांतरित किया गया
- कुछ आउटपुट फ़ॉर्मेटिंग समस्याएं ठीक की गईं
- वैध होस्टनाम/IP regex को ठीक किया गया ताकि एक शब्द वाले होस्टनाम की अनुमति हो
संस्करण 0.5 (अक्टूबर 2014) में परिवर्तन
- cgi_list का उपयोग करने के बजाय एकल स्क्रिप्ट को लक्षित करने की क्षमता जोड़ी गई
- host_check के लिए सॉकेट संचालन पर टाइमआउट शुरू किया गया
- स्क्रिप्ट हेडर में कुछ उपयोग उदाहरण जोड़े गए
- सहायता पाठ में एक उपसंहार जोड़ा गया जो उदाहरणों की उपस्थिति को इंगित करता है
संस्करण 0.4 (अक्टूबर 2014) में परिवर्तन
- डिफ़ॉल्ट 10 के साथ एक थ्रेड गणना सीमा शुरू की गई
- रंग समर्थन हटा दिया गया जब तक कि मैं यह पता नहीं लगा लेता कि इसे विंडोज और *nix में समान रूप से कैसे काम कराया जाए
- वर्तनी सुधार
- अधिक व्यापक cgi_list
- आउटपुट से success_flag हटा दिया गया
पूर्व 0.4 (अक्टूबर 2014)
करने के लिए
- HTTP/200 प्रतिक्रिया की सही पहचान और प्रतिक्रिया - झूठी सकारात्मकता - निम्न प्राथमिकता/परेशानी
- *nix सिस्टम के लिए curses लागू करें - पूरे एप्लिकेशन के लिए या केवल स्यूडो टर्मिनल? - निम्न प्राथमिकता/सुंदरता
- अब जब कई लक्ष्य समर्थित हैं तो प्रारंभिक होस्ट जाँच को थ्रेड करें (और यह थोड़ा समय लेने वाला हो सकता है)
- verbose को पूर्णांक मान में बदलें - शांत, सामान्य, verbose, डीबग?
- गति के लिए प्रारंभिक होस्ट जाँच को छोड़ने का विकल्प जोड़ें?
- बाहर निकलने से पहले परिणामों का सारांश जोड़ें
- परिणामों को किसी फ़ाइल में सहेजें? प्रारूप?
- अंततः विचार कई संभावित वैक्टर शामिल करने का है लेकिन वर्तमान में केवल एक की जाँच की जाती है।
- विंडोज और *nix रंग समर्थन जोड़ें - निम्न प्राथमिकता/सुंदरता
- इंटरैक्टिव मोड में उन कमांड्स के लिए टाइमआउट जोड़ें जो वापस नहीं आते, जैसे /bin/cat /dev/zero
- सुंदर बनाएं - निम्न प्राथमिकता/सुंदरता (स्पष्ट रूप से)
- SSH और SMTP को स्कैन करने और शोषण करने के लिए समर्थन जोड़ें? https://isc.sans.edu/diary/Shellshock+via+SMTP/18879
- SOCKS प्रॉक्सी समर्थन जोड़ें, संभावित रूप से Rober Picard से https://github.com/rpicard/socksonsocks/ का उपयोग करते हुए
- अन्य सामान। संभवतः।
धन्यवाद...
प्रारंभिक संस्करणों की समीक्षा करने में समय और प्रयास के लिए NCC के Anthony Caulfield
उनके समर्थन और योगदान के लिए NCC के Brendan Coles