
स्वचालित NoSQL डेटाबेस गणना और वेब अनुप्रयोग शोषण उपकरण।
NoSQLMap एक ओपन सोर्स Python उपकरण है जो NoSQL डेटाबेस और NoSQL का उपयोग करने वाले वेब अनुप्रयोगों में इंजेक्शन हमलों का ऑडिट और स्वचालित करने के साथ-साथ डिफ़ॉल्ट कॉन्फ़िगरेशन कमजोरियों का शोषण करने के लिए डिज़ाइन किया गया है, ताकि डेटाबेस से डेटा का खुलासा या क्लोन किया जा सके।
मूल रूप से @tcsstool द्वारा लिखित और अब @codingo_ द्वारा अनुरक्षित, NoSQLMap का नाम बर्नार्डो डेमेल और मिरोस्लाव स्टैम्पर के लोकप्रिय SQL इंजेक्शन उपकरण sqlmap को श्रद्धांजलि के रूप में रखा गया है। इसकी अवधारणाएँ मिंग चाउ के Defcon 21 में उत्कृष्ट प्रस्तुति "NoSQL डेटाबेस का दुरुपयोग" पर आधारित और विस्तारित हैं।
NoSQLMap MongoDB प्रबंधन आक्रमण डेमो

NoSQL (मूल रूप से "non SQL", "non relational" या "not only SQL" का संदर्भ) डेटाबेस डेटा के भंडारण और पुनर्प्राप्ति के लिए एक तंत्र प्रदान करता है जिसे रिलेशनल डेटाबेस में उपयोग किए जाने वाले सारणीबद्ध संबंधों के अलावा अन्य तरीकों से मॉडल किया जाता है। ऐसे डेटाबेस 1960 के दशक के अंत से अस्तित्व में हैं, लेकिन 21वीं सदी की शुरुआत में Web 2.0 कंपनियों जैसे Facebook, Google और Amazon.com की जरूरतों से प्रेरित लोकप्रियता में वृद्धि तक उन्हें "NoSQL" का नाम नहीं मिला। NoSQL डेटाबेस का उपयोग बिग डेटा और रीयल-टाइम वेब अनुप्रयोगों में तेजी से किया जा रहा है। NoSQL सिस्टम को कभी-कभी "Not only SQL" भी कहा जाता है, इस बात पर जोर देने के लिए कि वे SQL-जैसी क्वेरी भाषाओं का समर्थन कर सकते हैं।
वर्तमान में उपकरण के शोषण MongoDB और CouchDB पर केंद्रित हैं, लेकिन भविष्य के रिलीज़ में Redis और Cassandra जैसे अन्य NoSQL-आधारित प्लेटफार्मों के लिए अतिरिक्त समर्थन की योजना है।
Debian या Red Hat आधारित सिस्टम पर, setup.sh स्क्रिप्ट को रूट के रूप में चलाकर NoSQLMap की निर्भरताओं की स्थापना को स्वचालित किया जा सकता है।
उपयोग की गई सुविधाओं के आधार पर भिन्न होता है:
कुछ अन्य विभिन्न लाइब्रेरीज़ की आवश्यकता है जो एक सामान्य Python स्थापना में आसानी से उपलब्ध होनी चाहिए। आपका अनुभव भिन्न हो सकता है, स्क्रिप्ट की जाँच करें।
python setup.py install
वैकल्पिक रूप से, आप निम्नलिखित दर्ज करके एक Docker इमेज बना सकते हैं:
docker build -t nosqlmap .
या आप Nosqlmap को चलाने के लिए Docker-compose का उपयोग कर सकते हैं:
docker-compose build
docker-compose run nosqlmap
इसके साथ शुरू करें
python NoSQLMap
NoSQLMap हमलों के निर्माण के लिए मेनू-आधारित प्रणाली का उपयोग करता है। NoSQLMap शुरू करने पर, आपको मुख्य मेनू प्रस्तुत किया जाता है:
1-Set options (do this first)
2-NoSQL DB Access Attacks
3-NoSQL Web App attacks
4-Scan for Anonymous MongoDB Access
x-Exit
विकल्पों की व्याख्या:
1. Set target host/IP-The target web server (i.e. www.google.com) or MongoDB server you want to attack.
2. Set web app port-TCP port for the web application if a web application is the target.
3. Set URI Path-The portion of the URI containing the page name and any parameters but NOT the host name (e.g. /app/acct.php?acctid=102).
4. Set HTTP Request Method (GET/POST)-Set the request method to a GET or POST; Presently only GET is implemented but working on implementing POST requests exported from Burp.
5. Set my local Mongo/Shell IP-Set this option if attacking a MongoDB instance directly to the IP of a target Mongo installation to clone victim databases to or open Meterpreter shells to.
6. Set shell listener port-If opening Meterpreter shells, specify the port.
7. Load options file-Load a previously saved set of settings for 1-6.
8. Load options from saved Burp request-Parse a request saved from Burp Suite and populate the web application options.
9. Save options file-Save settings 1-6 for future use.
x. Back to main menu-Use this once the options are set to start your attacks.
एक बार विकल्प सेट हो जाने के बाद, मुख्य मेनू पर वापस जाएं और DB एक्सेस हमलों या वेब ऐप हमलों का चयन करें, यह इस बात पर निर्भर करता है कि आप NoSQL प्रबंधन पोर्ट या वेब एप्लिकेशन पर हमला कर रहे हैं। बाकी उपकरण "विज़ार्ड" आधारित है और काफी हद तक स्वतः व्याख्यात्मक है, लेकिन यदि आपके कोई प्रश्न या सुझाव हैं तो [email protected] पर ईमेल भेजें या मुझे Twitter पर @codingo_ पर खोजें।
इस रिपॉजिटरी में NoSQLMap के साथ परीक्षण करने के लिए जानबूझकर एक असुरक्षित वेब एप्लिकेशन भी शामिल है। इस एप्लिकेशन को चलाने के लिए, आपके पास Docker स्थापित होना चाहिए। फिर आप /vuln_apps निर्देशिका से निम्नलिखित कमांड चला सकते हैं।
docker-compose build && docker-compose up
एक बार यह पूरा हो जाने पर, आपको निम्नलिखित पर जाकर असुरक्षित एप्लिकेशन तक पहुंचने में सक्षम होना चाहिए: https://127.0.0.1:8080/index.html
CLI को स्क्रिप्ट भी किया जा सकता है। यहाँ vuln_apps में कमजोरियों का पता लगाने के लिए NoSQLMap का उपयोग करने का एक उदाहरण स्क्रिप्ट है:
$ echo "1. Account Lookup (acct.php)"
$ docker-compose run --remove-orphans nosqlmap \
--attack 2 \
--victim host.docker.internal \
--webPort 8080 \
--uri "/acct.php?acctid=test" \
--httpMethod GET \
--params 1 \
--injectSize 4 \
--injectFormat 2 \
--doTimeAttack n
$ echo "2. User Data Lookup (userdata.php) - JavaScript Injection"
$ docker-compose run --remove-orphans nosqlmap \
--attack 2 \
--victim host.docker.internal \
--webPort 8080 \
--uri "/userdata.php?usersearch=test" \
--httpMethod GET \
--params 1 \
--injectSize 4 \
--injectFormat 2 \
--doTimeAttack n
$ echo "3. Order Data Lookup (orderdata.php) - JavaScript Injection"
$ docker-compose run --remove-orphans nosqlmap \
--attack 2 \
--victim host.docker.internal \
--webPort 8080 \
--uri "/orderdata.php?ordersearch=test" \
--httpMethod GET \
--params 1 \
--injectSize 4 \
--injectFormat 2 \
--doTimeAttack n