
एक OOB इंटरैक्शन संग्रह सर्वर और क्लाइंट लाइब्रेरी
<h1 align="center">
<br>
<img src="https://assets.kitploit.com/production/public/readmes/402/42cea13705e01c5e573c174584d11fcb32d4f5ecce0bb3a95a95c585796e6897.png" width="200px" alt="Interactsh"></a>
</h1>
<h4 align="center">एक OOB इंटरैक्शन संग्रह सर्वर और क्लाइंट लाइब्रेरी</h4>
<p align="center">
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/license-MIT-_red.svg"></a>
<a href="https://github.com/projectdiscovery/interactsh/issues"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat"></a>
<a href="https://goreportcard.com/badge/github.com/projectdiscovery/interactsh"><img src="https://goreportcard.com/badge/github.com/projectdiscovery/interactsh"></a>
<a href="https://twitter.com/pdiscoveryio"><img src="https://img.shields.io/twitter/follow/pdiscoveryio.svg?logo=twitter"></a>
<a href="https://discord.gg/projectdiscovery"><img src="https://img.shields.io/discord/695645237418131507.svg?logo=discord"></a>
</p>
<p align="center">
<a href="#features">विशेषताएँ</a> •
<a href="#usage">उपयोग</a> •
<a href="#interactsh-client">Interactsh क्लाइंट</a> •
<a href="#interactsh-server">Interactsh सर्वर</a> •
<a href="#interactsh-integration">Interactsh एकीकरण</a> •
<a href="https://discord.gg/projectdiscovery">Discord से जुड़ें</a>
</p>
---
**Interactsh** आउट-ऑफ-बैंड इंटरैक्शन का पता लगाने के लिए एक ओपन-सोर्स टूल है। यह बाहरी इंटरैक्शन का कारण बनने वाली कमजोरियों का पता लगाने के लिए डिज़ाइन किया गया एक टूल है।
# विशेषताएँ
- DNS/HTTP(S)/SMTP(S)/LDAP इंटरैक्शन
- IPv4 और IPv6 समर्थन
- CLI / Web / Burp / ZAP / Docker क्लाइंट
- शून्य लॉगिंग के साथ AES एन्क्रिप्शन
- स्वचालित ACME आधारित वाइल्डकार्ड TLS ऑटो रिन्यूअल के साथ
- क्लाउड मेटाडेटा सेवा के लिए DNS एंट्रीज़
- डायनामिक HTTP रिस्पॉन्स नियंत्रण
- सेल्फ-होस्टेड Interactsh सर्वर
- मल्टीपल डोमेन समर्थन **(सेल्फ-होस्टेड)**
- NTLM/SMB/FTP(S)/RESPONDER लिसनर **(सेल्फ-होस्टेड)**
- वाइल्डकार्ड / संरक्षित इंटरैक्शन **(सेल्फ-होस्टेड)**
- अनुकूलन योग्य इंडेक्स / फ़ाइल होस्टिंग **(सेल्फ-होस्टेड)**
- सेकंड-स्टेज OOB पेलोड के लिए क्लाइंट फ़ाइल होस्टिंग **(सेल्फ-होस्टेड)**
- अनुकूलन योग्य पेलोड लंबाई **(सेल्फ-होस्टेड)**
- कस्टम SSL सर्टिफिकेट **(सेल्फ-होस्टेड)**
# Interactsh क्लाइंट
## उपयोग```sh
interactsh-client -h
```
यह टूल के लिए सहायता प्रदर्शित करेगा। यहाँ सभी स्विच दिए गए हैं जिनका यह समर्थन करता है।```yaml
Usage:
./interactsh-client [flags]
Flags:
INPUT:
-s, -server string interactsh server(s) to use (default "oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me")
-fl, -file string[] local file(s) to upload and host on the interactsh server
CONFIG:
-config string flag configuration file (default "$HOME/.config/interactsh-client/config.yaml")
-auth configure projectdiscovery cloud (pdcp) api key (default true)
-n, -number int number of interactsh payload to generate (default 1)
-t, -token string authentication token to connect protected interactsh server
-pi, -poll-interval int poll interval in seconds to pull interaction data (default 5)
-nf, -no-http-fallback disable http fallback registration
-cidl, -correlation-id-length int length of the correlation id preamble (min 3, default 20) (default 20)
-cidn, -correlation-id-nonce-length int length of the correlation id nonce (min 3, default 13) (default 13)
-sf, -session-file string store/read from session file
-kai, -keep-alive-interval value keep alive interval (default 1m0s)
FILTER:
-m, -match string[] match interaction based on the specified pattern
-f, -filter string[] filter interaction based on the specified pattern
-dns-only display only dns interaction in CLI output
-http-only display only http interaction in CLI output
-smtp-only display only smtp interactions in CLI output
-asn include asn information of remote ip in json output
UPDATE:
-up, -update update interactsh-client to latest version
-duc, -disable-update-check disable automatic interactsh-client update check
OUTPUT:
-o string output file to write interaction data
-json write output in JSON Lines format
-ps, -payload-store write generated interactsh payload to file
-psf, -payload-store-file string store generated interactsh payloads to given file (default "interactsh_payload.txt")
-fsf, -file-store-file string store hosted file URLs to given file (requires -file)
-v display verbose interaction
DEBUG:
-version show version of the project
-health-check, -hc run diagnostic check up
```
## Interactsh CLI क्लाइंट
Interactsh CLI क्लाइंट को सफलतापूर्वक इंस्टॉल करने के लिए **go1.20+** की आवश्यकता होती है। रेपो प्राप्त करने के लिए निम्नलिखित कमांड चलाएँ -```sh
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
```
### Interactsh CLI Client के साथ PDCP_API_KEY कॉन्फ़िगर करें
> https://cloud.projectdiscovery.io पर साइन अप करके अपनी मुफ़्त API key प्राप्त करें
आप अपनी PDCP_API_KEY को दो तरीकों से कॉन्फ़िगर कर सकते हैं:
1. API key को इंटरैक्टिव रूप से कॉन्फ़िगर करने के लिए, निम्नलिखित कमांड चलाएँ: ```sh
./interactsh-client -auth
```
2. यदि आप API key को सीधे पास करना पसंद करते हैं, तो -auth विकल्प का उपयोग करें और उसके बाद अपनी API key दें: ```sh
./interactsh-client -auth=<pdcp-api-key>
````
### डिफ़ॉल्ट रन
यह एक अद्वितीय पेलोड उत्पन्न करेगा जिसका उपयोग आउटपुट में न्यूनतम इंटरैक्शन जानकारी के साथ OOB परीक्षण के लिए किया जा सकता है।```console
$ interactsh-client
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v0.0.5
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing
[INF] c23b2la0kl1krjcrdj10cndmnioyyyyyn.oast.pro
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (A) from 172.253.226.100 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (AAAA) from 32.3.34.129 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received HTTP interaction from 43.22.22.50 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received HTTPS interaction from 43.22.22.50 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (MX) from 43.3.192.3 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (TXT) from 74.32.183.135 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received SMTP interaction from 32.85.166.50 at 2021-26-26 12:26
```
### सत्र फ़ाइल
`interactsh-client` में `-sf, -session-file` फ़्लैग का उपयोग उपयोगकर्ता-निर्धारित फ़ाइल से वर्तमान सत्र जानकारी संग्रहीत/पढ़ने के लिए किया जा सकता है, जो क्लाइंट के बंद या रुक जाने के बाद भी इंटरैक्शन को पोल करने के लिए उसी सत्र को फिर से शुरू करने में उपयोगी है।```console
$ interactsh-client -sf interact.session
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ 1.0.3
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing
[INF] c23b2la0kl1krjcrdj10cndmnioyyyyyn.oast.pro
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (A) from 172.253.226.100 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (AAAA) from 32.3.34.129 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received HTTP interaction from 43.22.22.50 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received HTTPS interaction from 43.22.22.50 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (MX) from 43.3.192.3 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received DNS interaction (TXT) from 74.32.183.135 at 2021-26-26 12:26
[c23b2la0kl1krjcrdj10cndmnioyyyyyn] Received SMTP interaction from 32.85.166.50 at 2021-26-26 12:26
```
### वर्बोज़ मोड
पूरे अनुरोध और प्रतिक्रिया को देखने के लिए `interactsh-client` को **वर्बोज़ मोड** (v) में चलाना, साथ ही बाद में विश्लेषण के लिए एक आउटपुट फ़ाइल।```console
$ interactsh-client -v -o interactsh-logs.txt
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ 1.0.3
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing
[INF] c58bduhe008dovpvhvugcfemp9yyyyyyn.oast.pro
[c58bduhe008dovpvhvugcfemp9yyyyyyn] Received HTTPS interaction from 103.22.142.211 at 2021-09-26 18:08:07
------------
HTTP Request
------------
GET /favicon.ico HTTP/2.0
Host: c58bduhe008dovpvhvugcfemp9yyyyyyn.oast.pro
Referer: https://c58bduhe008dovpvhvugcfemp9yyyyyyn.oast.pro
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
-------------
HTTP Response
-------------
HTTP/1.1 200 OK
Connection: close
Content-Type: text/html; charset=utf-8
Server: oast.pro
<html><head></head><body>nyyyyyy9pmefcguvhvpvod800ehudb85c</body></html>
```
### स्व-होस्टेड सर्वर का उपयोग करना
`server` फ़्लैग का उपयोग करके, `interactsh-client` को स्व-होस्टेड Interactsh सर्वर से कनेक्ट करने के लिए कॉन्फ़िगर किया जा सकता है, यह फ़्लैग कॉमा द्वारा अलग किए गए एकल या एकाधिक सर्वर स्वीकार करता है।```sh
interactsh-client -server hackwithautomation.com
```
हम `interactsh-client` के साथ उपयोग करने के लिए डिफ़ॉल्ट Interactsh सर्वरों की एक सूची बनाए रखते हैं:
- oast.pro
- oast.live
- oast.site
- oast.online
- oast.fun
- oast.me
डिफ़ॉल्ट सर्वर किसी भी समय बदल/घूम/बंद हो सकते हैं, इसलिए यदि आपको डिफ़ॉल्ट सर्वर के साथ समस्याएँ आ रही हैं तो हम स्वयं-होस्ट किए गए interactsh सर्वर का उपयोग करने की सलाह देते हैं।
### संरक्षित स्वयं-होस्ट किए गए सर्वर का उपयोग करना
`token` फ़्लैग का उपयोग करके, `interactsh-client` एक स्वयं-होस्ट किए गए Interactsh सर्वर से कनेक्ट कर सकता है जो प्रमाणीकरण से सुरक्षित है।```sh
interactsh-client -server hackwithautomation.com -token XXX
```
### Notify के साथ उपयोग करना
यदि आप अपने टर्मिनल से दूर हैं, तो आप किसी भी समर्थित प्लेटफ़ॉर्म पर वास्तविक समय की इंटरैक्शन सूचना भेजने के लिए [notify](https://github.com/projectdiscovery/notify) का उपयोग कर सकते हैं।```sh
interactsh-client | notify
```

## Interactsh वेब क्लाइंट
[Interactsh-web](https://github.com/projectdiscovery/interactsh-web) एक मुफ़्त और ओपन-सोर्स वेब क्लाइंट है जो आपके ब्राउज़र में एक सुव्यवस्थित डैशबोर्ड में Interactsh इंटरैक्शन प्रदर्शित करता है। यह सभी आने वाले इंटरैक्शन को संग्रहीत और प्रदर्शित करने के लिए ब्राउज़र के लोकल स्टोरेज का उपयोग करता है। डिफ़ॉल्ट रूप से, वेब क्लाइंट को डिफ़ॉल्ट interactsh सर्वर के रूप में **oast.fun** का उपयोग करने के लिए कॉन्फ़िगर किया गया है, और अन्य स्व-होस्टेड सार्वजनिक/प्रमाणित interactsh सर्वरों का भी समर्थन करता है।
**interactsh-web** क्लाइंट का एक होस्टेड इंस्टेंस https://app.interactsh.com पर उपलब्ध है
<img width="2032" alt="interactsh-web" src="https://assets.kitploit.com/production/public/readmes/402/9cef2252b8b90b021664a337626c9082f68e40f90a051dcafb18b497ceca8040.png">
## Interactsh Docker क्लाइंट
interactsh क्लाइंट के साथ एक [Docker इमेज](https://hub.docker.com/r/projectdiscovery/interactsh-client) भी प्रदान की गई है जो चलाने के लिए तैयार है और इसका उपयोग निम्नलिखित तरीके से किया जा सकता है:```sh
docker run projectdiscovery/interactsh-client:latest
```
| `-s` | `--server` | Server mode |
| `-c` | `--client` | Client mode |
| `-p` | `--port` | Port number |
| `-h` | `--help` | Show help |```console
$ docker run projectdiscovery/interactsh-client:latest
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.0
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing
[INF] c59e3crp82ke7bcnedq0cfjqdpeyyyyyn.oast.pro
```
## Burp Suite मूल एक्सटेंशन
[interactsh-collaborator](https://github.com/wdahlenburg/interactsh-collaborator) एक मूल Burp Suite interactsh एक्सटेंशन है जिसे [@wdahlenb](https://twitter.com/wdahlenb) द्वारा विकसित और अनुरक्षित किया गया है
- [releases](https://github.com/wdahlenburg/interactsh-collaborator/releases) पृष्ठ से नवीनतम JAR फ़ाइल डाउनलोड करें।
- Burp Suite खोलें → Extender → Add → Java → JAR फ़ाइल चुनें → Next
- सफल इंस्टॉलेशन पर **Interactsh** नाम का नया टैब दिखाई देगा।
- अधिक जानकारी के लिए [interactsh-collaborator](https://github.com/wdahlenburg/interactsh-collaborator) प्रोजेक्ट देखें।
<img width="2032" alt="burp" src="https://assets.kitploit.com/production/public/readmes/402/9f961c02a61a56f18dacc6de581d29ba26153d6f2083df109c98cba57ff7a4f0.png">
## Burp Suite संशोधित एक्सटेंशन
[interactsh-collaborator-rev](https://github.com/TheArqsz/interactsh-collaborator-rev) मूल Burp Suite interactsh एक्सटेंशन का संशोधित संस्करण है और इसे [@Arqsz](https://arqsz.net/) द्वारा विकसित और अनुरक्षित किया गया है
- [releases](https://github.com/TheArqsz/interactsh-collaborator-rev/releases) पृष्ठ से नवीनतम JAR फ़ाइल डाउनलोड करें।
- Burp Suite खोलें → Extender → Add → Java → JAR फ़ाइल चुनें → Next
- सफल इंस्टॉलेशन पर **Interactsh** नाम का नया टैब दिखाई देगा।
- अधिक जानकारी के लिए [interactsh-collaborator-rev](https://github.com/TheArqsz/interactsh-collaborator-rev) प्रोजेक्ट देखें।
<img width="2032" alt="burp" src="https://raw.githubusercontent.com/TheArqsz/interactsh-collaborator-rev/master/assets/interactsh-extension.png?raw=true">
## ZAP ऐड-ऑन
Interactsh का उपयोग ZAP के साथ [OAST add-on for ZAP](https://www.zaproxy.org/docs/desktop/addons/oast-support/) के माध्यम से किया जा सकता है। ZAP की स्क्रिप्टिंग क्षमताओं के साथ, आप Interactsh की सुविधाओं का लाभ उठाने वाले शक्तिशाली out-of-band स्कैन नियम बना सकते हैं। एक स्टैंडअलोन स्क्रिप्ट टेम्पलेट उदाहरण के रूप में प्रदान किया गया है (यह ऐड-ऑन इंस्टॉल करते समय स्वचालित रूप से जोड़ा जाता है)।
- [ZAP Marketplace](https://www.zaproxy.org/addons/) से OAST ऐड-ऑन इंस्टॉल करें।
- Tools → Options → OAST पर जाएं और **Interactsh** चुनें।
- क्लाइंट के लिए [विकल्पों](https://www.zaproxy.org/docs/desktop/addons/oast-support/services/interactsh/options/) को कॉन्फ़िगर करें और नया payload जनरेट करने के लिए "New Payload" पर क्लिक करें।
- OOB इंटरैक्शन [OAST Tab](https://www.zaproxy.org/docs/desktop/addons/oast-support/tab/) में दिखाई देंगे और पूर्ण अनुरोध और प्रतिक्रिया देखने के लिए आप उनमें से किसी पर भी क्लिक कर सकते हैं।
- आप `Options` > `OAST` > `General` मेनू में ActiveScan के लिए Interactsh को डिफ़ॉल्ट के रूप में सेट कर सकते हैं।
- `Use Permanent Database` विकल्प को चेक करते समय, आप ZAP बंद होने के बाद हुए इंटरैक्शन की समीक्षा कर सकते हैं।
- अधिक जानकारी के लिए [OAST add-on documentation](https://www.zaproxy.org/docs/desktop/addons/oast-support/) देखें।

*ZAP में Interactsh*
## Caido एक्सटेंशन
[quickssrf](https://github.com/caido-community/quickssrf) Caido एक्सटेंशन है जिसे विकसित और अनुरक्षित किया गया है जो Caido Proxy के भीतर से Interactsh का उपयोग करने की अनुमति देता है।
- [releases](https://github.com/caido-community/quickssrf/releases/) पृष्ठ से नवीनतम zip फ़ाइल डाउनलोड करें।
- Caido खोलें → Plugins → Install Package → zip फ़ाइल चुनें → Next
- सफल इंस्टॉलेशन पर **QuickSSRF** नाम का नया साइडबार दिखाई देगा।
- अधिक जानकारी के लिए [quickssrf](https://github.com/caido-community/quickssrf) प्रोजेक्ट देखें।

-------
# Interactsh Server
Interactsh सर्वर कई सेवाएं चलाता है और सभी आने वाले अनुरोधों को कैप्चर करता है। **interactsh-server** का एक इंस्टेंस होस्ट करने के लिए, आपको सेटअप करना आवश्यक है:
1. कस्टम **host names** और **nameservers** के साथ डोमेन नाम।
2. बैकग्राउंड में 24/7 चलने वाला बेसिक droplet।
# Usage```sh
interactsh-server -h
```
यह टूल के लिए सहायता प्रदर्शित करेगा। यहाँ सभी स्विच दिए गए हैं जिनका यह समर्थन करता है।```yaml
Usage:
./interactsh-server [flags]
Flags:
INPUT:
-d, -domain string[] single/multiple configured domain to use for server
-i, -ip string[] public IP address(es) to use for interactsh server (comma-separated, supports both IPv4 & IPv6)
-lip, -listen-ip string public ip address to listen on (default "0.0.0.0")
-e, -eviction int number of days to persist interaction data in memory (default 30)
-ne, -no-eviction disable periodic data eviction from memory
-es, -eviction-strategy string eviction strategy for interactions (sliding, fixed) (default "sliding")
-a, -auth enable authentication to server using random generated token
-t, -token string enable authentication to server using given token
-acao-url string origin url to send in acao header to use web-client) (default "*")
-sa, -skip-acme skip acme registration (certificate checks/handshake + TLS protocols will be disabled)
-se, -scan-everywhere scan canary token everywhere
-cidl, -correlation-id-length int length of the correlation id preamble (min 3, default 20) (default 20)
-cidn, -correlation-id-nonce-length int length of the correlation id nonce (min 3, default 13) (default 13)
-cert string custom certificate path
-privkey string custom private key path
-oih, -origin-ip-header string HTTP header containing origin ip (interactsh behind a reverse proxy)
CONFIG:
-r, -resolvers string[] list of resolvers to use (file or comma separated)
-config string flag configuration file (default "$HOME/.config/interactsh-server/config.yaml")
-dr, -dynamic-resp enable setting up arbitrary response data
-cr, -custom-records string custom dns records YAML file for DNS server
-hi, -http-index string custom index file for http server
-hd, -http-directory string directory with files to serve with http server
-dhr, -default-http-response string file to serve for all http requests (takes priority over other options)
-ds, -disk disk based storage
-dsp, -disk-path string disk storage path
-ru, -redis-url string redis connection URL (enables shared state for multi-instance deployments)
-rp, -redis-prefix string redis key prefix (default "interactsh:")
-csh, -server-header string custom value of Server header in response
-dv, -disable-version disable publishing interactsh version in response header
UPDATE:
-up, -update update interactsh-server to latest version
-duc, -disable-update-check disable automatic interactsh-server update check
SERVICES:
-dns-port int port to use for dns service (default 53)
-http-port int port to use for http service (default 80)
-https-port int port to use for https service (default 443)
-smtp-port int port to use for smtp service (default 25)
-smtps-port int port to use for smtps service (default 587)
-smtp-autotls-port int port to use for smtps autotls service (default 465)
-ldap-port int port to use for ldap service (default 389)
-ldap enable ldap server with full logging (authenticated)
-wc, -wildcard enable wildcard interaction for interactsh domain (authenticated)
-smb start in-process smb agent for NetNTLMv2 hash capture (authenticated)
-responder start in-process responder agent (multi-port SMB NetNTLMv2 hash capture, authenticated)
-ftp start ftp agent (authenticated)
-smb-port int port to use for smb service (default 445)
-ftp-port int port to use for ftp service (default 21)
-ftps-port int port to use for ftps service (default 990)
-ftp-dir string ftp directory - temporary if not specified
UPLOAD:
-upload enable client file upload and hosting - self-hosted servers only (authenticated)
-ud, -upload-directory string directory to host uploaded files from - temporary if not specified; interactsh creates and prunes .interactsh-user-uploads inside it
-umfs, -upload-max-file-size value maximum size of a single uploaded file (default 1mb)
-umf, -upload-max-files int maximum number of uploaded files per session (default 5)
-umts, -upload-max-total-size value maximum total size of all uploaded files on the server (default 1gb)
-ut, -upload-ttl value maximum lifetime of uploaded files (default 24h0m0s)
DEBUG:
-version show version of the project
-debug start interactsh server in debug mode
-ep, -enable-pprof enable pprof debugging server
-health-check, -hc run diagnostic check up
-metrics enable metrics endpoint
-v, -verbose display verbose interaction
```
हम डोमेन नाम के लिए GoDaddy और सर्वर के लिए DigitalOcean droplet का उपयोग कर रहे हैं, self-hosted Interactsh सर्वर चलाने के लिए एक बुनियादी $5 droplet पर्याप्त होना चाहिए। यदि आप GoDaddy का उपयोग नहीं कर रहे हैं, तो DNS entries बनाने / अपडेट करने के लिए अपने registrar की प्रक्रिया का पालन करें।
<table>
<td>
## Interactsh डोमेन कॉन्फ़िगर करना
- `https://dcc.godaddy.com/control/portfolio/{{domain}}/settings?subtab=hostnames` पर जाएं
- Add → Submit `ns1`, `ns2` with your `SERVER_IP` as value
<img width="1288" alt="gdd-hostname" src="https://assets.kitploit.com/production/public/readmes/402/efca5443025a0d6d2ac6e8103985dce9bad2be94e68a07a203571b83ebb0449d.png">
- `https://dcc.godaddy.com/control/dnsmanagement?domainName={{domain}}&subtab=nameservers` पर जाएं
- Change Nameservers → I'll use my own nameservers → Submit `ns1.INTERACTSH_DOMAIN`, `ns2.INTERACTSH_DOMAIN`
<img width="1288" alt="gdd-ns" src="https://assets.kitploit.com/production/public/readmes/402/f8c7ab74be7598c9431a78f3c0b790d4b91072219e50d1981bc28e651abe8a9a.png">
</td>
</table>
<table>
<td>
## Interactsh सर्वर कॉन्फ़िगर करना
अपने **VPS** पर `interactsh-server` इंस्टॉल करें```bash
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-server@latest
```
चूंकि डोमेन नाम सेटअप **पूरा हो चुका है**, `interactsh-server` चलाने के लिए नीचे दिया गया कमांड चलाएँ```bash
interactsh-server -domain INTERACTSH_DOMAIN
```
एक स्व-होस्टेड सर्वर की सफल स्थापना और संचालन का उदाहरण निम्नलिखित है:

डिफ़ॉल्ट सेटिंग्स के साथ `interactsh-server` चलाने के लिए कई आवश्यक फ़्लैग्स स्वचालित रूप से कॉन्फ़िगर किए जाते हैं। उदाहरण के लिए, जब संभव हो तो `ip` और `listen-ip` फ़्लैग्स सिस्टम के Public IP address के साथ सेट किए जाते हैं।
</td>
</table>
## Interactsh Server चलाना```console
$ interactsh-server -domain interact.sh
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.0
projectdiscovery.io
[INF] Listening with the following services:
[HTTPS] Listening on TCP 46.101.25.250:443
[HTTP] Listening on TCP 46.101.25.250:80
[SMTPS] Listening on TCP 46.101.25.250:587
[LDAP] Listening on TCP 46.101.25.250:389
[SMTP] Listening on TCP 46.101.25.250:25
[DNS] Listening on TCP 46.101.25.250:53
[DNS] Listening on UDP 46.101.25.250:53
```
## एकाधिक डोमेन के साथ Interactsh सर्वर
एक ही interactsh सर्वर को कई **कॉन्फ़िगर किए गए डोमेन** पर चलाने के लिए ऊपर दिए गए तरीके से ही कई डोमेन नाम दिए जा सकते हैं।```console
$ interactsh-server -d oast.pro,oast.me
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ 1.0.5
projectdiscovery.io
[INF] Loading existing SSL Certificate for: [*.oast.pro, oast.pro]
[INF] Loading existing SSL Certificate for: [*.oast.me, oast.me]
[INF] Listening with the following services:
[HTTPS] Listening on TCP 46.101.25.250:443
[HTTP] Listening on TCP 46.101.25.250:80
[SMTPS] Listening on TCP 46.101.25.250:587
[LDAP] Listening on TCP 46.101.25.250:389
[SMTP] Listening on TCP 46.101.25.250:25
[DNS] Listening on TCP 46.101.25.250:53
[DNS] Listening on UDP 46.101.25.250:53
```
## IPv4 और IPv6 के साथ Interactsh सर्वर
Interactsh सर्वर IPv4 और IPv6 दोनों पतों का समर्थन करता है। आप `-ip` फ़्लैग का उपयोग करके कई IP पते निर्दिष्ट कर सकते हैं, और सर्वर DNS प्रतिक्रियाओं में उपयुक्त A (IPv4) या AAAA (IPv6) रिकॉर्ड के साथ उत्तर देगा।```console
$ interactsh-server -d oast.pro -ip 192.0.2.1,2001:db8::1
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ 1.0.5
projectdiscovery.io
[INF] Configured IP addresses: 192.0.2.1, 2001:db8::1
[INF] Listening with the following services:
[HTTPS] Listening on TCP 46.101.25.250:443
[HTTP] Listening on TCP 46.101.25.250:80
[SMTPS] Listening on TCP 46.101.25.250:587
[LDAP] Listening on TCP 46.101.25.250:389
[SMTP] Listening on TCP 46.101.25.250:25
[DNS] Listening on TCP 46.101.25.250:53
[DNS] Listening on UDP 46.101.25.250:53
```
सर्वर स्वचालित रूप से IPv4 और IPv6 पतों का पता लगाएगा और वर्गीकृत करेगा, क्वेरी प्रकार के आधार पर उपयुक्त DNS रिकॉर्ड लौटाएगा।
जब चयनित सर्वर कोई AAAA रिकॉर्ड प्रकाशित नहीं करता है, तो क्लाइंट एक चेतावनी प्रिंट करता है ताकि IPv6-केवल स्रोतों से होने वाली अंतःक्रियाएँ चुपचाप छूट न जाएँ और भेद्यता की अनुपस्थिति के रूप में गलत न समझी जाएँ।
<table>
<td>
**नोट:**
Amazon EC2, Google Cloud Platform (GCP) जैसे **Cloud VM** पर interactsh सर्वर चलाते समय, इनबाउंड कनेक्शन के लिए **"all traffic"** की अनुमति देने हेतु सुरक्षा नियमों को अपडेट करना आवश्यक है।
</td>
</table>
`interactsh-server` द्वारा समर्थित कई और उपयोगी क्षमताएँ हैं जो डिफ़ॉल्ट रूप से सक्षम नहीं हैं और केवल **self-hosted** सर्वरों द्वारा उपयोग के लिए हैं।
## रिवर्स प्रॉक्सी के पीछे Interactsh सर्वर
यदि डिफ़ॉल्ट पोर्ट पहले से व्यस्त हैं तो `interactsh-server` को सेवाओं के लिए कस्टम पोर्ट की आवश्यकता हो सकती है। यदि ऐसा है लेकिन पेलोड के भाग के रूप में अभी भी डिफ़ॉल्ट पोर्ट आवश्यक हैं, तो `http/stream` प्रॉक्सी निर्देश (`proxy_pass`) के माध्यम से HTTP/TCP/UDP आधारित सेवाओं को पोर्ट-फ़ॉरवर्ड करके `interactsh-server` को रिवर्स प्रॉक्सी के पीछे कॉन्फ़िगर करना संभव है।
## Nginx
यह मानते हुए कि `interactsh-server` की आवश्यक सेवाएँ निम्नलिखित पोर्ट पर चलती हैं:
- HTTP: 8080/TCP
- HTTPS: 8440/TCP
- SMTP: 8025/TCP
- DNS: 8053/UDP
- DNS: 8053/TCP
ट्रैफ़िक को अग्रेषित करने के लिए nginx कॉन्फ़िगरेशन फ़ाइल निम्नलिखित की तरह दिखेगी:```conf
# http/https
http {
server {
listen 443 ssl;
server_name mysite.com;
ssl_certificate /etc/nginx/interactsh.pem;
ssl_certificate_key /etc/nginx/interactsh.key;
location / {
proxy_pass https://interachsh.mysite.com:80/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
stream {
# smtp
server {
listen 25;
proxy_pass interachsh.mysite.com:8025;
}
# dns
server {
listen 53;
proxy_pass interachsh.mysite.com:8053;
}
server {
listen 53 udp;
proxy_pass interachsh.mysite.com:8053;
}
}
```
**कॉन्फ़िगर किए गए डोमेन**```console
$ interactsh-server -d oast.pro,oast.me
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ 1.0.5
projectdiscovery.io
[INF] Loading existing SSL Certificate for: [*.oast.pro, oast.pro]
[INF] Loading existing SSL Certificate for: [*.oast.me, oast.me]
[INF] Listening with the following services:
[HTTPS] Listening on TCP 46.101.25.250:443
[HTTP] Listening on TCP 46.101.25.250:80
[SMTPS] Listening on TCP 46.101.25.250:587
[LDAP] Listening on TCP 46.101.25.250:389
[SMTP] Listening on TCP 46.101.25.250:25
[DNS] Listening on TCP 46.101.25.250:53
[DNS] Listening on UDP 46.101.25.250:53
```
## कस्टम सर्वर इंडेक्स
कस्टम इंटरैक्टश सर्वर चलाते समय `-http-index` फ़्लैग का उपयोग करके http सर्वर के लिए इंडेक्स पेज को अनुकूलित किया जा सकता है।```bash
interactsh-server -d hackwithautomation.com -http-index banner.html
```
`{DOMAIN}` placeholder को सर्वर डोमेन नाम से बदलने के लिए index फ़ाइल में भी समर्थित किया गया है।

## Static File Hosting
Interactsh http सर्वर वैकल्पिक रूप से सुरक्षा परीक्षण में सहायता के लिए फ़ाइल होस्टिंग सक्षम करता है। यह क्षमता **XSS, XXE, RCE** और अन्य हमलों के लिए सामान्य payloads की फ़ाइलें सर्व करने के लिए self-hosted सर्वर के साथ उपयोग की जा सकती है।
इस सुविधा का उपयोग करने के लिए, `-http-directory` flag का उपयोग किया जा सकता है जो इनपुट के रूप में directory स्वीकार करता है और फ़ाइलें `/s/` directory के अंतर्गत सर्व की जाती हैं।```bash
interactsh-server -d hackwithautomation.com -http-directory ./paylods
```

## क्लाइंट फ़ाइल होस्टिंग
जहाँ `-http-directory` ऑपरेटर-आपूर्त किए गए फ़ाइलों को वैश्विक रूप से होस्ट करता है, वहीं `-upload` एक **क्लाइंट** को अपनी स्वयं की correlation ID के विरुद्ध फ़ाइलें होस्ट करने देता है। यह दूसरे-चरण के out-of-band vulnerabilities के लिए लक्षित है — बाहरी DTD के साथ XXE, XSLT includes, JNDI staging — जहाँ लक्ष्य को callback सक्रिय होने से पहले एक payload फ़ाइल प्राप्त करनी होती है। प्रत्येक fetch को एक interaction के रूप में दर्ज किया जाता है, इसलिए दूसरा चरण क्लाइंट आउटपुट में दिखाई देता है।
> [!WARNING]
> `-upload` केवल **self-hosted servers** के लिए है। इसे किसी सार्वजनिक instance पर सक्षम करने से यह एक वैध wildcard certificate वाले डोमेन पर अनाम फ़ाइल होस्टिंग बन जाता है, जो malware staging के लिए एक चुंबक है, और blocklists registrable domain पर कार्य करती हैं — एक दुरुपयोगकारी नमूना उस डोमेन के प्रत्येक उपयोगकर्ता को प्रभावित करता है। यह डिफ़ॉल्ट रूप से बंद है और सक्षम होने पर authentication को निहित करता है।
uploads सक्षम करके एक server प्रारंभ करें:```bash
interactsh-server -d hackwithautomation.com -upload -ftp
```
फिर एक या अधिक फ़ाइलों के साथ एक क्लाइंट को उस पर इंगित करें:```bash
interactsh-client -s https://hackwithautomation.com -t <token> -file evil.dtd
```
| `--no-color` | आउटपुट में रंग अक्षम करें |
| `--debug` | डिबग मोड सक्षम करें |
| `--verbose` | वर्बोज़ आउटपुट सक्षम करें |
| `--silent` | साइलेंट मोड सक्षम करें |
| `--version` | संस्करण जानकारी दिखाएं |
| `--help` | सहायता संदेश दिखाएं |```console
[INF] Listing 1 payload for OOB Testing
[INF] c6rj61aciaeutn2ae680cndmnioyyyyyn.hackwithautomation.com
[INF] Hosting 1 file(s) for OOB Testing
[INF] https://c6rj61aciaeutn2ae680xk4tqy8pqhwmi.hackwithautomation.com/f/evil.dtd
[INF] ftp://c6rj61aciaeutn2ae680xk4tqy8pqhwmi.hackwithautomation.com/.interactsh-user-uploads/c6rj61aciaeutn2ae680/evil.dtd
```
फ़ाइलें HTTP(S) के माध्यम से, और FTP(S) के माध्यम से भी परोसी जाती हैं जब `-ftp` सक्षम होता है। प्रतिक्रियाएँ हमेशा
`Content-Type: application/octet-stream` के साथ `Content-Disposition: attachment` होती हैं, इसलिए सर्वर कभी भी
क्लाइंट-आपूर्तित HTML या SVG को अपने स्वयं के डोमेन पर रेंडर नहीं करता; DTD, XSLT और JNDI उपभोक्ता सामग्री प्रकार को अनदेखा करते हैं,
इसलिए इच्छित उपयोग के लिए इसकी कोई लागत नहीं है।
जब लक्ष्य फ़ाइल प्राप्त करता है, तो फ़ेच क्लाइंट में किसी अन्य इंटरैक्शन की तरह पहुँचता है — जो कि
मुद्दा है: यह प्रमाण है कि पेलोड के पहले चरण ने वास्तव में निष्पादित किया। प्रतिक्रिया निकाय
एक डाइजेस्ट द्वारा प्रतिस्थापित किया जाता है ताकि प्रत्येक फ़ेच पर बड़े पेलोड को इंटरैक्शन स्ट्रीम में वापस कॉपी न किया जाए:```console
[c6rj61aciaeutn2ae680xk4tqy8pqhwmi] Received HTTP interaction from 203.0.113.7 at 2026-08-05 15:47:19
------------
HTTP Request
------------
GET /f/evil.dtd HTTP/1.1
Host: c6rj61aciaeutn2ae680xk4tqy8pqhwmi.hackwithautomation.com
Accept: */*
User-Agent: curl/8.18.0
-------------
HTTP Response
-------------
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="evil.dtd"
Content-Length: 144
[body elided: 144 of 144 bytes of uploaded file "evil.dtd", sha256 0c1b960b076cdff8666f1f302dddd8f3ff0e6ed4b6c09002fbe6d1cdbb5d68f8]
```
दोनों गणनाएँ "delivered of hosted" हैं: एक सशर्त fetch जिसका उत्तर `304` था, `0 of 144` दर्ज करता है, और एक ranged fetch उन बाइट्स को दर्ज करता है जो range ने वास्तव में ले जाए, इसलिए रिकॉर्ड ऐसी delivery का दावा नहीं कर सकता जो हुई ही नहीं।
payload फिर जो भी second-stage callback ट्रिगर करता है, वह उसी correlation ID पर एक और interaction के रूप में आता है, इसलिए दोनों stages एक ही client में पहुँच जाते हैं।
जिस client से ऐसे server के विरुद्ध फ़ाइलें host करने के लिए कहा गया हो जो `-upload` के साथ शुरू नहीं किया गया था, वह यह बताता है और रुक जाता है, बजाय payload के बिना चुपचाप जारी रहने के:```console
$ interactsh-client -s https://hackwithautomation.com -t <token> -file evil.dtd
[FTL] Server https://hackwithautomation.com does not accept file uploads; it must be started with -upload
```
विफल सर्वर का नाम इसलिए बताया जाता है क्योंकि क्लाइंट `-s` में केवल एक सर्वर के साथ पंजीकरण करता है। जब कई सर्वर सूचीबद्ध होते हैं, तो यह भी बताता है कि चयन कैसे किया गया, क्योंकि परिणाम प्रत्येक रन के बीच भिन्न हो सकता है:```console
$ interactsh-client -s https://a.example,https://b.example -t <token> -file evil.dtd
[FTL] Server https://a.example does not accept file uploads; it must be started with -upload (chosen at random from the 2 servers in -s, so this may differ between runs; pass a single server with -file)
```
सर्वर-साइड विकल्प:
| फ़्लैग | डिफ़ॉल्ट | विवरण |
| --- | --- | --- |
| `-upload` | बंद | क्लाइंट फ़ाइल अपलोड और होस्टिंग सक्षम करें |
| `-ud, -upload-directory` | अस्थायी डिर | अपलोड की गई फ़ाइलों को होस्ट करने के लिए डिरेक्ट्री; interactsh उसके अंदर `.interactsh-user-uploads` का स्वामी है |
| `-umfs, -upload-max-file-size` | `1mb` | एकल फ़ाइल का अधिकतम आकार |
| `-umf, -upload-max-files` | `5` | प्रति सत्र अधिकतम फ़ाइलें |
| `-umts, -upload-max-total-size` | `1gb` | सभी सत्रों में अधिकतम कुल बाइट्स |
| `-ut, -upload-ttl` | `24h` | अपलोड की गई फ़ाइलों का अधिकतम जीवनकाल |
फ़ाइलें तब हटा दी जाती हैं जब क्लाइंट डीरजिस्टर करता है, जब उसका सत्र कैश से बाहर हो जाता है, और किसी भी स्थिति में उस सत्र के लिए अंतिम अपलोड के बाद
`-upload-ttl` बीत जाने पर।
इसे सक्षम करने से पहले जानने योग्य बातें:
- **होस्ट की गई फ़ाइलें किसी भी व्यक्ति द्वारा पढ़ी जा सकती हैं जो correlation ID जान लेता है।** वह ID जानबूझकर
लक्ष्य को लीक किया जाता है — यह लक्ष्य के resolver द्वारा की जाने वाली प्रत्येक DNS query में दिखाई देता है, और इसलिए उसके DNS logs, उसके
WAF, और passive-DNS aggregators में भी। एक लक्ष्य आपके टूलिंग की पहचान करने के लिए आपका payload fetch कर सकता है, और
वह fetch आपकी interaction stream में दिखाई देगा। ऐसा कुछ भी अपलोड न करें जिसे लक्ष्य द्वारा पढ़ा जाना आपको बुरा लगे।
- अपलोड सत्र के correlation ID और secret key से प्रमाणित होते हैं, इसलिए केवल वही क्लाइंट जो किसी सत्र का स्वामी है, उसमें फ़ाइलें संलग्न कर सकता है।
- क्लाइंट उस **एक सर्वर पर अपलोड करता है जिसके साथ उसने रजिस्टर किया था**। यदि `-s` में कई सूचीबद्ध हैं, तो फ़ाइलें
केवल चुने गए सर्वर पर होस्ट की जाती हैं; उसके payload URLs ही प्रिंट किए जाते हैं। **`-file` के साथ एक ही सर्वर पास करें:**
क्लाइंट `-s` में से एक को यादृच्छिक रूप से चुनता है और upload support को ध्यान में नहीं रख सकता, क्योंकि यह उसे
रजिस्टर करने के बाद ही पता चलता है — इसलिए upload और non-upload सर्वरों को मिलाने वाली सूची यादृच्छिक रूप से विफल होती है।
- `-upload` को `-redis-url` के साथ संयोजित नहीं किया जा सकता। होस्ट किए गए बाइट्स एकल इंस्टेंस के स्थानीय
फ़ाइलसिस्टम में लिखे जाते हैं, इसलिए इंस्टेंसों के बीच साझा किए गए storage backend के साथ अन्य इंस्टेंस ऐसी
फ़ाइलों का विज्ञापन करेंगे जो उनके पास नहीं हैं। सर्वर उस संयोजन पर शुरू होने से इनकार कर देता है: ```console
$ interactsh-server -d hackwithautomation.com -upload -redis-url redis://127.0.0.1:6379/0
[FTL] -upload cannot be used with -redis-url: hosted files are stored on a single instance's local filesystem
```
- अपलोड सादे टेक्स्ट HTTP पर दूरस्थ सर्वर तक जाने से इनकार करते हैं, क्योंकि अनुरोध में फ़ाइल और सत्र गुप्त कुंजी दोनों होते हैं। `https://` सर्वर URL का उपयोग करें।
- डिफ़ॉल्ट अपलोड निर्देशिका एक अस्थायी निर्देशिका है, जो कई Linux वितरणों पर मेमोरी-आधारित होती है। वास्तविक परिनियोजन पर `-upload-directory` को स्पष्ट रूप से सेट करें।
- **Interactsh अपलोड रूट के अंदर एक निर्देशिका बनाता और हटाता है।** होस्ट की गई फ़ाइलें `<root>/.interactsh-user-uploads/<correlation-id>/<filename>` के रूप में रखी जाती हैं, और `.interactsh-user-uploads` के अंतर्गत सब कुछ तब हटा दिया जाता है जब उसका सत्र समाप्त होता है, जब `-upload-ttl` उसे समाप्त करता है, और स्टार्टअप पर — अपलोड मेटाडेटा केवल मेमोरी में रहता है, इसलिए वहाँ कुछ भी रीस्टार्ट के बाद नहीं बचता। रूट के बाकी हिस्से को कभी छुआ नहीं जाता, यही कारण है कि `-upload-directory` को उस निर्देशिका पर इंगित करना सुरक्षित है जिसे आप पहले से उपयोग करते हैं, या इसे `-ftp-dir` के साथ साझा करना।
- `-ftp` के साथ और `-ftp-dir` के बिना, FTP रूट को अपलोड रूट पर सेट किया जाता है ताकि होस्ट की गई फ़ाइलें बिना किसी अतिरिक्त कॉन्फ़िगरेशन के FTP पर पहुँच योग्य हों। यदि आप दोनों फ़्लैग सेट करते हैं तो उन्हें एक ही निर्देशिका का नाम देना चाहिए, अन्यथा FTP अपलोड को नहीं देख सकता: सर्वर स्टार्टअप पर बेमेल की सूचना देता है और क्लाइंट को `ftp://` URL देना बंद कर देता है, इसलिए होस्टिंग केवल HTTP तक सीमित हो जाती है बजाय ऐसे FTP URL देने के जो किसी चीज़ पर रिज़ॉल्व नहीं होते। अपलोड निर्देशिका FTP लिस्टिंग से छिपी रहती है — `LIST /` आपकी अपनी सामग्री दिखाता है लेकिन `.interactsh-user-uploads` नहीं, और वह निर्देशिका अपनी सामग्री को सूचीबद्ध करने से इनकार करती है, इसलिए एक अनाम क्लाइंट उन correlation ID को प्रगणित नहीं कर सकता जिनके पास वर्तमान में होस्ट की गई फ़ाइलें हैं। ज्ञात पथ का `RETR` काम करता है, जिस पर पेलोड URL निर्भर करता है।
## Dynamic HTTP Response
Interactsh http सर्वर वैकल्पिक रूप से क्वेरी पैरामीटर का उपयोग करके गतिशील HTTP प्रतिक्रिया के साथ उत्तर देने को सक्षम करता है। यह सुविधा `-dr` या `-dynamic-resp` फ़्लैग का उपयोग करके सक्षम की जा सकती है।
निम्नलिखित क्वेरी पैरामीटर नाम समर्थित हैं - `body`, `header`, `status` और `delay`। कई हेडर सेट करने के लिए कई `header` पैरामीटर निर्दिष्ट किए जा सकते हैं।
- **body** (प्रतिक्रिया बॉडी)
- **header** (प्रतिक्रिया हेडर)
- **status** (प्रतिक्रिया स्थिति कोड)
- **delay** (प्रतिक्रिया समय)```console
$ curl -i 'https://hackwithautomation.com/x?status=307&body=this+is+example+body&delay=1&header=header1:value1&header=header1:value12'
HTTP/2 307
header1: value1
header1: value12
server: hackwithautomation.com
x-interactsh-version: 1.0.7
content-type: text/plain; charset=utf-8
content-length: 20
date: Tue, 13 Sep 2022 12:31:05 GMT
this is example body
```
> **नोट**:
- Dynamic HTTP Response सुविधा डिफ़ॉल्ट रूप से अक्षम है।
- डिज़ाइन के अनुसार, यह सुविधा किसी को भी आपके interactsh डोमेन / सर्वर का उपयोग करके क्लाइंट-साइड कोड / रीडायरेक्ट चलाने देती है
- संबंधित रूट/सबडोमेन पर **सुरक्षा प्रभाव से बचने** के लिए इस विकल्प का उपयोग एक पृथक डोमेन के साथ करने की सिफारिश की जाती है।
## Wildcard Interaction
कॉन्फ़िगर किए गए Interactsh डोमेन के लिए `wildcard` interaction सक्षम करने के लिए `wildcard` फ़्लैग का उपयोग किया जा सकता है, साथ ही यदि `token` फ़्लैग छोड़ा गया हो तो `auth` फ़्लैग के माध्यम से अंतर्निहित प्रमाणीकरण सुरक्षा के साथ।```console
$ interactsh-server -domain hackwithautomation.com -wildcard
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.0
projectdiscovery.io
[INF] Client Token: 699c55544ce1604c63edb769e51190acaad1f239589a35671ccabd664385cfc7
[INF] Listening with the following services:
[HTTPS] Listening on TCP 157.230.223.165:443
[HTTP] Listening on TCP 157.230.223.165:80
[SMTPS] Listening on TCP 157.230.223.165:587
[LDAP] Listening on TCP 157.230.223.165:389
[SMTP] Listening on TCP 157.230.223.165:25
[DNS] Listening on TCP 157.230.223.165:53
[DNS] Listening on UDP 157.230.223.165:53
```
वाइल्डकार्ड मोड में, प्रत्येक कनेक्टेड क्लाइंट स्वतंत्र रूप से साझा डोमेन के लिए सभी इंटरैक्शन प्राप्त करता है। सर्वर हाल के इंटरैक्शन का एक बफर रखता है ताकि कई क्लाइंट डेटा खोए बिना पोल कर सकें। डिफ़ॉल्ट रूप से, बफर प्रति साझा कुंजी अधिकतम **10,000** इंटरैक्शन रखता है। इसे `INTERACTSH_MAX_SHARED_INTERACTIONS` एनवायरनमेंट वेरिएबल के माध्यम से समायोजित किया जा सकता है:```console
$ export INTERACTSH_MAX_SHARED_INTERACTIONS=50000
$ interactsh-server -domain hackwithautomation.com -wildcard
```
## LDAP इंटरैक्शन
डिफ़ॉल्ट रूप से, Interactsh सर्वर [search query](https://ldapwiki.com/wiki/LDAP%20Query%20Examples) में शामिल पेलोड के लिए LDAP इंटरैक्शन का समर्थन करता है, इसके अतिरिक्त पूर्ण लॉगिंग के लिए `ldap` फ़्लैग का उपयोग किया जा सकता है।```console
$ interactsh-server -domain hackwithautomation.com -sa -ldap
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.0
projectdiscovery.io
[INF] Client Token: deb58fc151e6f0e53d448be3eb14cd7a11590d8950d142b9cd1abac3c2e3e7bc
[INF] Listening with the following services:
[DNS] Listening on UDP 157.230.223.165:53
[LDAP] Listening on TCP 157.230.223.165:389
[HTTP] Listening on TCP 157.230.223.165:80
[SMTP] Listening on TCP 157.230.223.165:25
[DNS] Listening on TCP 157.230.223.165:53
```
## कस्टम पेलोड लंबाई
interactsh पेलोड की लंबाई डिफ़ॉल्ट रूप से **33** होती है, जिसमें **20** (अद्वितीय correlation-id) + **13** (nonce टोकन) शामिल होते हैं, जिसे `cidl` और `cidn` फ़्लैग्स का उपयोग करके अनुकूलित किया जा सकता है ताकि self-hosted interacsh सर्वर के साथ आवश्यकता पड़ने पर इसे छोटा बनाया जा सके।```console
$ interactsh-server -d hackwithautomation.com -cidl 4 -cidn 6
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.2
projectdiscovery.io
[INF] Loading existing SSL Certificate for: [*.hackwithautomation.com, hackwithautomation.com]
[INF] Listening with the following services:
[HTTPS] Listening on TCP 157.230.223.165:443
[SMTPS] Listening on TCP 157.230.223.165:587
[DNS] Listening on UDP 157.230.223.165:53
[HTTP] Listening on TCP 157.230.223.165:80
[LDAP] Listening on TCP 157.230.223.165:389
[SMTP] Listening on TCP 157.230.223.165:25
[DNS] Listening on TCP 157.230.223.165:53
```
**नोट:** दोनों तरफ (**client** और **server**) समान लंबाई का उपयोग करना महत्वपूर्ण और आवश्यक है, अन्यथा सह-संबंध काम नहीं करेगा।```console
$ interactsh-client -s hackwithautomation.com -cidl 4 -cidn 6
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.2
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing
[INF] c8rf4e8xm4.hackwithautomation.com
```
## कस्टम SSL प्रमाणपत्र
अनुरोधित डोमेन के लिए वाइल्डकार्ड प्रमाणपत्र स्वचालित रूप से उत्पन्न करने के लिए interactsh सर्वर द्वारा डिफ़ॉल्ट रूप से [certmagic](https://github.com/caddyserver/certmagic) लाइब्रेरी का उपयोग किया जाता है। स्व-होस्टेड interactsh सर्वर के साथ अपना स्वयं का SSL प्रमाणपत्र उपयोग करने के लिए, आवश्यक प्रमाणपत्र फ़ाइलें प्रदान करने हेतु `cert` और `privkey` फ़्लैग का उपयोग किया जा सकता है।
**नोट:** SSL प्रोटोकॉल की सभी कार्यक्षमताओं का उपयोग करने के लिए, वाइल्डकार्ड प्रमाणपत्र अनिवार्य है।```console
$ interactsh-server -d hackwithautomation.com -cert hackwithautomation.com.crt -privkey hackwithautomation.com.key
_ __ __ __
(_)___ / /____ _________ ______/ /______/ /_
/ / __ \/ __/ _ \/ ___/ __ '/ ___/ __/ ___/ __ \
/ / / / / /_/ __/ / / /_/ / /__/ /_(__ ) / / /
/_/_/ /_/\__/\___/_/ \__,_/\___/\__/____/_/ /_/ v1.0.2
projectdiscovery.io
[INF] Listening with the following services:
[HTTPS] Listening on TCP 157.230.223.165:443
[SMTP] Listening on TCP 157.230.223.165:25
[HTTP] Listening on TCP 157.230.223.165:80
[LDAP] Listening on TCP 157.230.223.165:389
[DNS] Listening on TCP 157.230.223.165:53
[SMTPS] Listening on TCP 157.230.223.165:587
[DNS] Listening on UDP 157.230.223.165:53
```
## समर्थित प्रोटोकॉल
### FTP
FTP समर्थन को `-ftp` फ्लैग के साथ सक्षम किया जा सकता है और यह केवल स्व-होस्टेड इंस्टेंस के लिए अनुशंसित है। FTP एजेंट प्रमाणीकरण के साथ एक पूरी तरह कार्यात्मक FTP सर्वर एजेंट का अनुकरण करता है जो प्रत्येक फ़ाइल ऑपरेशन के साथ प्रमाणीकरण को कैप्चर करता है। डिफ़ॉल्ट रूप से, एजेंट पोर्ट 21 पर क्लियर टेक्स्ट FTP के लिए सुनता है (इसे `-ftp-port` फ्लैग से बदला जा सकता है) और पोर्ट 990 पर tls FTP के लिए सुनता है (इसे `-ftps-port` फ्लैग से बदला जा सकता है) और OS डिफ़ॉल्ट अस्थायी निर्देशिका की सामग्री को केवल-पढ़ने मोड में सूचीबद्ध करता है (जिसे `-ftp-dir` विकल्प से अनुकूलित किया जा सकता है)। ftp इंजन प्रदान किए जाने पर कस्टम प्रमाणपत्र और निजी कुंजी का उपयोग करता है या यदि प्रदान किया गया हो तो यह पहले acme डोमेन से प्रमाणपत्र और निजी कुंजी निकालेगा।
FTP डेमन शुरू करने और लॉगिन इंटरैक्शन को कैप्चर करने का उदाहरण:```console
$ sudo go run . -ftp -skip-acme -debug -domain localhost
...
[INF] Outbound IP: 192.168.1.16
[INF] Client Token: 6dc07e4a76c3d5e58e4bea13ce073dc403499b128c62397aff7b934a6e4822e3
[INF] Listening with the following services:
[DNS] Listening on TCP 192.168.1.16:53
[SMTP] Listening on TCP 192.168.1.16:25
[HTTP] Listening on TCP 192.168.1.16:80
[FTP] Listening on TCP 192.168.1.16:21
[DNS] Listening on UDP 192.168.1.16:53
[LDAP] Listening on TCP 192.168.1.16:389
[DBG] FTP Interaction:
{"protocol":"ftp","unique-id":"","full-id":"","raw-request":"USER test\ntest logging in","remote-address":"127.0.0.1:51564","timestamp":"2022-09-29T00:49:42.212323+02:00"}
```
## बाहरी समर्थित प्रोटोकॉल
### SMB
`-smb` फ़्लैग एक इन-प्रोसेस SMB2 NetNTLMv2 हैश कैप्चर सर्वर सक्षम करता है (केवल स्व-होस्टेड इंस्टेंस के लिए)। यह [goimpacket](https://github.com/Mzack9999/goimpacket) के ऊपर शुद्ध Go में कार्यान्वित किया गया है और `-smb-port` फ़्लैग द्वारा बदले जाने तक पोर्ट `445` पर सुनता है। किसी Python, impacket या docker निर्भरता की आवश्यकता नहीं है।
कैप्चर किए गए हैश मानक hashcat NetNTLMv2 (`-m 5600`) प्रारूप में `smb` इंटरैक्शन के रूप में संग्रहीत किए जाते हैं:```
USER::DOMAIN:serverChallenge:NTProofStr:NTLMv2Blob
```
उदाहरण: samba सर्वर को सक्षम करना:```console
$ sudo interactsh-server -smb -skip-acme -debug -domain localhost
```
### Responder
`-responder` फ़्लैग एक Responder-समतुल्य NTLMv2 हैश कैप्चर सर्वर को सक्षम करता है, जो [goimpacket](https://github.com/Mzack9999/goimpacket) द्वारा भी समर्थित है। यह SMB-सक्षम TCP पोर्ट (`139` और `-smb-port` मान, डिफ़ॉल्ट `445`) को बाइंड करता है और किसी भी कैप्चर किए गए प्रमाणीकरण को ऊपर वर्णित उसी hashcat NetNTLMv2 प्रारूप में एक `responder` इंटरैक्शन के रूप में संग्रहीत करता है। किसी docker या Python निर्भरता की आवश्यकता नहीं है।```bash
sudo interactsh-server -responder -d localhost
```
> नोट: Python Responder प्रोजेक्ट के साथ आने वाले लेगेसी LLMNR / NBT-NS / MDNS ब्रॉडकास्ट पॉइज़नर **शामिल नहीं** हैं। ये LAN-साइड तकनीकें हैं जो सार्वजनिक इंटरनेट पर पहुँचने योग्य OOB-कॉलबैक सर्वर के दायरे से बाहर हैं, और ये goimpacket लाइब्रेरी का हिस्सा नहीं हैं।
## Interactsh एकीकरण
### लाइब्रेरी के रूप में उपयोग करें
[उदाहरण](https://github.com/projectdiscovery/interactsh/blob/main/examples) interactsh क्लाइंट लाइब्रेरी का उपयोग करके जनरेट किए गए URL के लिए बाहरी इंटरैक्शन प्राप्त करने के लिए उस URL पर एक http अनुरोध करते हैं, और दूसरे चरण के सत्यापन के लिए उसी सत्र के विरुद्ध एक फ़ाइल होस्ट करते हैं।
फ़ाइल होस्टिंग एक वैकल्पिक सर्वर क्षमता है, इसलिए एक लाइब्रेरी उपभोक्ता मानने के बजाय बातचीत करता है:
`Capabilities()` रिपोर्ट करता है कि सर्वर ने पंजीकरण के समय क्या विज्ञापित किया, `UploadFiles` `ErrUploadUnsupported` लौटाता है जब कोई सर्वर फ़ाइलें होस्ट नहीं कर सकता और `ErrUploadNotAdvertised` जब यह सुविधा से पहले का है, और `FileURL`/`FTPFileURL` उन URL को बनाते हैं जिन्हें लक्ष्य को फ़ेच करना चाहिए। सार्वजनिक `oast.*` सर्वर होस्टिंग प्रदान नहीं करते, इसलिए उदाहरण इसे विफल होने के बजाय छोड़ देता है।
### Nuclei - OAST
[Nuclei](https://github.com/projectdiscovery/nuclei) भेद्यता स्कैनर स्वचालित पेलोड जनरेशन और आउट-ऑफ-बैंड आधारित सुरक्षा भेद्यताओं का पता लगाने के लिए **Interactsh** का उपयोग करता है।
अधिक जानकारी के लिए [Nuclei + Interactsh](https://blog.projectdiscovery.io/nuclei-interactsh-integration/) एकीकरण ब्लॉग और [गाइड दस्तावेज़](https://nuclei.projectdiscovery.io/templating-guide/interactsh/) देखें।
# क्लाउड मेटाडेटा
Interactsh सर्वर क्लाउड मेटाडेटा सेवाओं के लिए DNS रिकॉर्ड का समर्थन करता है, जो SSRF-संबंधित भेद्यताओं के परीक्षण के लिए उपयोगी है।
वर्तमान में समर्थित मेटाडेटा सेवाएँ:
- [AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
- [Alibaba](https://www.alibabacloud.com/blog/alibaba-cloud-ecs-metadata-user-data-and-dynamic-data_594351)
उदाहरण:
* **aws.oast.fun** 169.254.169.254 की ओर इंगित करता है
* **alibaba.oast.fun** 100.100.100.200 की ओर इंगित करता है
-----
### आभार
Interactsh [Burp Collaborator](https://portswigger.net/burp/documentation/collaborator) से प्रेरित है।
### लाइसेंस
Interactsh [MIT License](https://github.com/projectdiscovery/interactsh/blob/master/LICENSE.md) के अंतर्गत वितरित किया गया है और [projectdiscovery](https://projectdiscovery.io) टीम द्वारा 🖤 के साथ बनाया गया है।