
Ein Server und eine Client-Bibliothek zum Sammeln von OOB-Interaktionen
Funktionen • Verwendung • Interactsh-Client • Interactsh-Server • Interactsh-Integration • Discord beitreten
Interactsh ist ein Open-Source-Tool zur Erkennung von Out-of-Band-Interaktionen. Es wurde entwickelt, um Schwachstellen zu erkennen, die externe Interaktionen verursachen.
interactsh-client -h
Dies wird die Hilfe für das Tool anzeigen. Hier sind alle Schalter, die es unterstützt.```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")
CONFIG:
-config string flag configuration file (default "$HOME/.config/interactsh-client/config.yaml")
-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)
-cidn, -correlation-id-nonce-length int length of the correlation id nonce (min 3, default 13)
-sf, -session-file string store/read from session file
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
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 JSONL(ines) format
-ps, -payload-store enable storing generated interactsh payload to file
-psf, -payload-store-file string store generated interactsh payloads to given file (default "interactsh_payload.txt")
-v display verbose interaction
DEBUG:
-version show version of the project
-health-check, -hc run diagnostic check up
Der Interactsh-CLI-Client benötigt go1.20+, um erfolgreich installiert zu werden. Führen Sie den folgenden Befehl aus, um das Repository zu erhalten -```sh go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
### Konfigurieren des PDCP_API_KEY mit dem Interactsh CLI Client
> Holen Sie sich Ihren kostenlosen API-Schlüssel, indem Sie sich unter https://cloud.projectdiscovery.io anmelden
Sie können Ihren PDCP_API_KEY auf zwei Arten konfigurieren:
1. Um den API-Schlüssel interaktiv zu konfigurieren, führen Sie den folgenden Befehl aus: ```sh
./interactsh-client -auth
Dies erzeugt ein einzigartiges Payload, das für OOB-Tests mit minimalen Interaktionsinformationen in der Ausgabe verwendet werden kann.```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 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
### Sitzungsdatei
`interactsh-client` mit dem `-sf, -session-file` Flag kann verwendet werden, um die aktuellen Sitzungsinformationen aus einer benutzerdefinierten Datei zu speichern/lesen, was nützlich ist, um dieselbe Sitzung fortzusetzen und die Interaktionen abzurufen, auch nachdem der Client gestoppt oder geschlossen wurde.```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 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
Das Ausführen des interactsh-client im ausführlichen Modus (v), um die gesamte Anfrage und Antwort sowie eine Ausgabedatei zur späteren Analyse zu sehen.```console
$ interactsh-client -v -o interactsh-logs.txt
_ __ __ __
()__ / /____ _________ / // /_
/ / __ / / _ / / __ '/ / __/ __/ __
/ / / / / // __/ / / // / // /( ) / / /
/// //_/_// _,/___/_/__// // 1.0.3
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing [INF] c58bduhe008dovpvhvugcfemp9yyyyyyn.oast.pro
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/1.1 200 OK Connection: close Content-Type: text/html; charset=utf-8 Server: oast.pro
Mit dem Flag server kann interactsh-client so konfiguriert werden, dass es eine Verbindung zu einem selbst gehosteten Interactsh-Server herstellt. Dieses Flag akzeptiert einen oder mehrere Server, getrennt durch Komma.```sh
interactsh-client -server hackwithautomation.com
Wir führen eine Liste von Standard-Interactsh-Servern, die mit `interactsh-client` verwendet werden können:
- oast.pro
- oast.live
- oast.site
- oast.online
- oast.fun
- oast.me
Standard-Server können sich jederzeit ändern/rotieren/ausfallen, daher empfehlen wir, einen selbst gehosteten Interactsh-Server zu verwenden, wenn Probleme mit dem Standard-Server auftreten.
### Verwenden eines geschützten selbst gehosteten Servers
Mit dem `token`-Flag kann `interactsh-client` eine Verbindung zu einem selbst gehosteten Interactsh-Server herstellen, der durch Authentifizierung geschützt ist.```sh
interactsh-client -server hackwithautomation.com -token XXX
Wenn Sie nicht an Ihrem Terminal sind, können Sie notify verwenden, um eine Echtzeit-Interaktionsbenachrichtigung an jede unterstützte Plattform zu senden.```sh interactsh-client | notify

## Interactsh Web-Client
[Interactsh-web](https://github.com/projectdiscovery/interactsh-web) ist ein kostenloser Open-Source-Web-Client, der Interactsh-Interaktionen in einem gut verwalteten Dashboard in Ihrem Browser anzeigt. Er verwendet den lokalen Speicher des Browsers, um alle eingehenden Interaktionen zu speichern und anzuzeigen. Standardmäßig ist der Web-Client so konfiguriert, dass er **oast.fun** als Standard-Interactsh-Server verwendet, und unterstützt auch andere selbst gehostete öffentliche/authentifizierte Interactsh-Server.
Eine gehostete Instanz des **interactsh-web**-Clients ist unter https://app.interactsh.com verfügbar.
<img width="2032" alt="interactsh-web" src="https://assets.kitploit.com/production/public/readmes/402/9cef2252b8b90b021664a337626c9082f68e40f90a051dcafb18b497ceca8040.png">
## Interactsh Docker-Client
Ein [Docker-Image](https://hub.docker.com/r/projectdiscovery/interactsh-client) wird ebenfalls mit dem Interactsh-Client bereitgestellt, das sofort einsatzbereit ist und wie folgt verwendet werden kann:```sh
docker run projectdiscovery/interactsh-client:latest
| Vulnerability | Summary | Go | Node | Package | Analysis |
|---|---|---|---|---|---|
| CVE-2025-27094 | github.com/DataDog/datadog-agent/pkg/orchestrator/model weist in Versionen vor 0.1.2 eine Sicherheitslücke auf, die auf das Einfügen vertraulicher Informationen in Logdateien zurückzuführen ist.GHSA-7c3v-v3xq-2mvm | Fixed | N/A | Go | Patched |
| CVE-2025-27096 | github.com/DataDog/datadog-agent/pkg/orchestrator/model weist in Versionen vor 0.1.2 eine Sicherheitslücke auf, die auf die unsachgemäße Neutralisierung von Sonderzeichen zurückzuführen ist, die in einer LDAP-Abfrage verwendet werden ('LDAP Injection').GHSA-4qqq-9vx3-gfcp | Fixed | N/A | Go | Patched |
| CVE-2025-27094 | github.com/aws/aws-sdk-go-v2/service/iam weist in Versionen vor 1.23.40 eine Sicherheitslücke auf, die auf das Einfügen vertraulicher Informationen in Logdateien zurückzuführen ist.GHSA-5f5c-8rvc-j2ff | Fixed | N/A | Go | Patched |
| CVE-2025-27093 | github.com/aws/aws-sdk-go-v2/service/iam weist in Versionen vor 1.23.40 eine Sicherheitslücke auf, die auf die unsachgemäße Neutralisierung von Sonderzeichen zurückzuführen ist, die in einer LDAP-Abfrage verwendet werden ('LDAP Injection').GHSA-c84q-3r5g-5fp7 | Fixed | N/A | Go | Patched |
| $ docker run projectdiscovery/interactsh-client:latest |
_ __ __ __
()__ / /____ _________ / // /_
/ / __ / / _ / / __ '/ / __/ __/ __
/ / / / / // __/ / / // / // /( ) / / /
/// //_/_// _,/___/_/__// // v1.0.0
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing [INF] c59e3crp82ke7bcnedq0cfjqdpeyyyyyn.oast.pro
## Burp Suite Ursprüngliche Erweiterung
[interactsh-collaborator](https://github.com/wdahlenburg/interactsh-collaborator) ist eine ursprüngliche Burp Suite interactsh-Erweiterung, entwickelt und gepflegt von [@wdahlenb](https://twitter.com/wdahlenb)
- Laden Sie die neueste JAR-Datei von der [releases](https://github.com/wdahlenburg/interactsh-collaborator/releases) Seite herunter.
- Öffnen Sie Burp Suite → Extender → Hinzufügen → Java → JAR-Datei auswählen → Weiter
- Ein neuer Tab mit dem Namen **Interactsh** wird nach erfolgreicher Installation angezeigt.
- Weitere Informationen finden Sie im Projekt [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 Überarbeitete Erweiterung
[interactsh-collaborator-rev](https://github.com/TheArqsz/interactsh-collaborator-rev) ist eine überarbeitete Version der ursprünglichen Burp Suite interactsh-Erweiterung und wird entwickelt und gepflegt von [@Arqsz](https://arqsz.net/)
- Laden Sie die neueste JAR-Datei von der [releases](https://github.com/TheArqsz/interactsh-collaborator-rev/releases) Seite herunter.
- Öffnen Sie Burp Suite → Extender → Hinzufügen → Java → JAR-Datei auswählen → Weiter
- Ein neuer Tab mit dem Namen **Interactsh** wird nach erfolgreicher Installation angezeigt.
- Weitere Informationen finden Sie im Projekt [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 Add-On
Interactsh kann mit ZAP über das [OAST-Add-on für ZAP](https://www.zaproxy.org/docs/desktop/addons/oast-support/) verwendet werden. Mit den Scripting-Fähigkeiten von ZAP können Sie leistungsstarke Out-of-Band-Scan-Regeln erstellen, die die Funktionen von Interactsh nutzen. Eine eigenständige Skriptvorlage wird als Beispiel bereitgestellt (sie wird automatisch hinzugefügt, wenn Sie das Add-on installieren).
- Installieren Sie das OAST-Add-on aus dem [ZAP Marketplace](https://www.zaproxy.org/addons/).
- Gehen Sie zu Tools → Optionen → OAST und wählen Sie **Interactsh**.
- Konfigurieren Sie [die Optionen](https://www.zaproxy.org/docs/desktop/addons/oast-support/services/interactsh/options/) für den Client und klicken Sie auf "Neues Payload", um ein neues Payload zu generieren.
- OOB-Interaktionen erscheinen im [OAST-Tab](https://www.zaproxy.org/docs/desktop/addons/oast-support/tab/) und Sie können auf eine davon klicken, um die vollständige Anfrage und Antwort anzuzeigen.
- Sie können Interactsh als Standard für ActiveScan im Menü `Optionen` > `OAST` > `Allgemein` festlegen.
- Wenn Sie die Option `Permanente Datenbank verwenden` aktivieren, können Sie Interaktionen überprüfen, die nach dem Beenden von ZAP aufgetreten sind.
- Weitere Informationen finden Sie in der [OAST-Add-on-Dokumentation](https://www.zaproxy.org/docs/desktop/addons/oast-support/).

*Interactsh in ZAP*
## Caido Erweiterung
[quickssrf](https://github.com/caido-community/quickssrf) ist eine Caido-Erweiterung, die entwickelt und gepflegt wird und die Verwendung von Interactsh innerhalb des Caido-Proxy ermöglicht.
- Laden Sie die neueste ZIP-Datei von der [releases](https://github.com/caido-community/quickssrf/releases/) Seite herunter.
- Öffnen Sie Caido → Plugins → Paket installieren → ZIP-Datei auswählen → Weiter
- Eine neue Seitenleiste mit dem Namen **QuickSSRF** wird nach erfolgreicher Installation angezeigt.
- Weitere Informationen finden Sie im Projekt [quickssrf](https://github.com/caido-community/quickssrf).

-------
# Interactsh Server
Der Interactsh-Server führt mehrere Dienste aus und erfasst alle eingehenden Anfragen. Um eine Instanz des **interactsh-servers** zu hosten, müssen Sie Folgendes einrichten:
1. Domainname mit benutzerdefinierten **Hostnamen** und **Nameservern**.
2. Einfacher Droplet, der rund um die Uhr im Hintergrund läuft.
# Verwendung```sh
interactsh-server -h
Dies zeigt die Hilfe für das Tool an. Hier sind alle Schalter, die es unterstützt.```yaml Usage: ./interactsh-server [flags]
Flags: INPUT: -d, -domain string[] single/multiple configured domain to use for server -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) -cidn, -correlation-id-nonce-length int length of the correlation id nonce (min 3, 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 -dhr, -default-http-response string file to serve for all http requests (takes priority over other options) -hd, -http-directory string directory with files to serve with http server -ds, -disk disk based storage -dsp, -disk-path string disk storage path -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 smb agent - impacket and python 3 must be installed (authenticated) -responder start responder agent - docker must be installed (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
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
Wir verwenden GoDaddy für den Domainnamen und einen DigitalOcean-Droplet für den Server. Ein einfacher 5-Dollar-Droplet sollte ausreichen, um einen selbst gehosteten Interactsh-Server zu betreiben. Falls Sie GoDaddy nicht verwenden, folgen Sie dem Prozess Ihres Registrars zum Erstellen/Aktualisieren von DNS-Einträgen.
<table>
<td>
## Konfiguration der Interactsh-Domain
- Navigieren Sie zu `https://dcc.godaddy.com/control/portfolio/{{domain}}/settings?subtab=hostnames`
- Hinzufügen → Übermitteln Sie `ns1`, `ns2` mit Ihrer `SERVER_IP` als Wert
<img width="1288" alt="gdd-hostname" src="https://assets.kitploit.com/production/public/readmes/402/efca5443025a0d6d2ac6e8103985dce9bad2be94e68a07a203571b83ebb0449d.png">
- Navigieren Sie zu `https://dcc.godaddy.com/control/dnsmanagement?domainName={{domain}}&subtab=nameservers`
- Nameserver ändern → Ich werde meine eigenen Nameserver verwenden → Übermitteln Sie `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>
## Konfiguration des Interactsh-Servers
Installieren Sie `interactsh-server` auf Ihrem **VPS**```bash
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-server@latest
Angenommen die Domänennameneinrichtung ist abgeschlossen, führen Sie den folgenden Befehl aus, um interactsh-server auszuführen.```bash
interactsh-server -domain INTERACTSH_DOMAIN
Im Folgenden ein Beispiel für eine erfolgreiche Installation und den Betrieb eines selbstgehosteten Servers:

Eine Reihe von benötigten Flags werden automatisch konfiguriert, um `interactsh-server` mit den Standardeinstellungen auszuführen. Beispielsweise werden die Flags `ip` und `listen-ip` mit der öffentlichen IP-Adresse des Systems gesetzt, wenn möglich.
</td>
</table>
## Ausführen des Interactsh Servers```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
Mehrere Domainnamen können auf die gleiche Weise wie oben angegeben werden, um den gleichen Interactsh-Server über mehrere konfigurierte Domains hinweg auszuführen.```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
## Interactsh-Server mit IPv4 und IPv6
Der Interactsh-Server unterstützt sowohl IPv4- als auch IPv6-Adressen. Sie können mehrere IP-Adressen mit dem Flag `-ip` angeben, und der Server antwortet mit den entsprechenden A- (IPv4) oder AAAA-Einträgen (IPv6) in DNS-Antworten.```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
Der Server erkennt und kategorisiert automatisch IPv4- und IPv6-Adressen und gibt passende DNS-Einträge basierend auf dem Abfragetyp zurück.
|
Hinweis: Wenn der Interactsh-Server auf einer Cloud-VM wie Amazon EC2 oder Google Cloud Platform (GCP) läuft, müssen die Sicherheitsregeln aktualisiert werden, um "gesamten Datenverkehr" für eingehende Verbindungen zuzulassen. |
Es gibt weitere nützliche Funktionen, die von interactsh-server unterstützt werden, aber standardmäßig nicht aktiviert sind und nur von selbst gehosteten Servern genutzt werden sollen.
interactsh-server benötigt möglicherweise benutzerdefinierte Ports für Dienste, falls die Standard-Ports bereits belegt sind. Wenn dies der Fall ist, aber dennoch Standard-Ports als Teil der Payload erforderlich sind, kann interactsh-server hinter einem Reverse Proxy konfiguriert werden, indem HTTP/TCP/UDP-basierte Dienste per http/stream-Proxy-Direktive (proxy_pass) weitergeleitet werden.
Angenommen, die wesentlichen Dienste von interactsh-server laufen auf folgenden Ports:
Die Nginx-Konfigurationsdatei zur Weiterleitung des Datenverkehrs würde wie folgt aussehen:```conf
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 {
server { listen 25; proxy_pass interachsh.mysite.com:8025; }
server { listen 53; proxy_pass interachsh.mysite.com:8053; } server { listen 53 udp; proxy_pass interachsh.mysite.com:8053; } }
**Konfigurierte Domains**```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
Die Indexseite des HTTP-Servers kann beim Ausführen eines benutzerdefinierten Interactsh-Servers mithilfe des Flags -http-index angepasst werden.```bash
interactsh-server -d hackwithautomation.com -http-index banner.html
`{DOMAIN}` Platzhalter wird in der Indexdatei ebenfalls unterstützt, um durch den Server-Domänennamen ersetzt zu werden.

## Statisches Datei-Hosting
Der Interactsh-HTTP-Server ermöglicht optional das Hosting von Dateien, um bei Sicherheitstests zu helfen. Diese Funktion kann mit einem selbst gehosteten Server verwendet werden, um Dateien für gängige Payloads für **XSS, XXE, RCE** und andere Angriffe bereitzustellen.
Um diese Funktion zu nutzen, kann das Flag `-http-directory` verwendet werden, das ein Verzeichnis als Eingabe akzeptiert; die Dateien werden dann unter dem Verzeichnis `/s/` bereitgestellt.```bash
interactsh-server -d hackwithautomation.com -http-directory ./paylods

Der Interactsh-HTTP-Server ermöglicht optional das Antworten mit einer dynamischen HTTP-Antwort durch die Verwendung von Abfrageparametern. Diese Funktion kann durch die Verwendung des Flags -dr oder -dynamic-resp aktiviert werden.
Die folgenden Abfrageparameternamen werden unterstützt - body, header, status und delay. Es können mehrere header-Parameter angegeben werden, um mehrere Header zu setzen.
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
> **Hinweis**:
- Die Funktion „Dynamische HTTP-Antwort" ist standardmäßig deaktiviert.
- Designbedingt erlaubt diese Funktion jedem, clientseitigen Code auszuführen/Weiterleitungen über Ihre Interactsh-Domain / Ihren Server durchzuführen.
- Es wird empfohlen, diese Option mit einer isolierten Domain zu verwenden, um **Sicherheitsauswirkungen** auf zugehörige Root-/Subdomains zu **vermeiden**.
## Wildcard-Interaktion
Um die `wildcard`-Interaktion für die konfigurierte Interactsh-Domain zu aktivieren, kann das Flag `wildcard` verwendet werden, mit implizitem Authentifizierungsschutz durch das Flag `auth`, wenn das Flag `token` weggelassen wird.```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
Im Wildcard-Modus erhält jeder verbundene Client unabhängig voneinander alle Interaktionen für die gemeinsame Domain. Der Server behält einen Puffer mit den letzten Interaktionen, damit mehrere Clients abfragen können, ohne Daten zu verlieren. Standardmäßig speichert der Puffer bis zu 10.000 Interaktionen pro gemeinsamem Schlüssel. Dies kann über die Umgebungsvariable INTERACTSH_MAX_SHARED_INTERACTIONS angepasst werden:```console
$ export INTERACTSH_MAX_SHARED_INTERACTIONS=50000
$ interactsh-server -domain hackwithautomation.com -wildcard
## LDAP Interaction
Standardmäßig unterstützt der Interactsh-Server LDAP-Interaktion für die in der [Suchabfrage](https://ldapwiki.com/wiki/LDAP%20Query%20Examples) enthaltene Payload, zusätzlich kann das `ldap`-Flag für eine vollständige Protokollierung verwendet werden.```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
Die Länge des interactsh-Payloads beträgt standardmäßig 33, bestehend aus 20 (eindeutige Korrelations-ID) + 13 (Nonce-Token), die mit den Flags cidl und cidn angepasst werden kann, um sie bei Bedarf mit einem selbst gehosteten interacsh-Server zu verkürzen.```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
**Hinweis:** Es ist wichtig und erforderlich, auf beiden Seiten (**Client** und **Server**) die gleiche Länge zu verwenden, da sonst die Korrelation nicht funktioniert.```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
Die certmagic Bibliothek wird standardmäßig vom interactsh-Server verwendet, um automatisch Wildcard-Zertifikate für die angeforderte Domain zu erstellen. Um Ihr eigenes SSL-Zertifikat mit einem selbst gehosteten interactsh-Server zu verwenden, können die Flags cert und privkey genutzt werden, um die erforderlichen Zertifikatsdateien bereitzustellen.
Hinweis: Um die gesamte Funktionalität des SSL-Protokolls zu nutzen, ist ein Wildcard-Zertifikat erforderlich.```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
## Unterstützte Protokolle
### FTP
Die FTP-Unterstützung kann mit dem Flag `-ftp` aktiviert werden und wird nur für selbst gehostete Instanzen empfohlen. Der FTP-Agent simuliert einen voll funktionsfähigen FTP-Server-Agent mit Authentifizierung, der bei jedem Dateivorgang Authentifizierungen erfasst. Standardmäßig lauscht der Agent auf Port 21 für Klartext-FTP (dies kann mit dem Flag `-ftp-port` geändert werden) und auf Port 990 für TLS-FTP (dies kann mit dem Flag `-ftps-port` geändert werden) und listet im schreibgeschützten Modus den Inhalt des standardmäßigen temporären Verzeichnisses des Betriebssystems auf (anpassbar mit der Option `-ftp-dir`). Die FTP-Engine verwendet das benutzerdefinierte Zertifikat und den privaten Schlüssel, falls bereitgestellt, oder extrahiert das Zertifikat und den privaten Schlüssel aus der ersten acme domain, falls vorhanden.
Beispiel zum Starten des FTP-Daemons und Erfassen einer Anmeldeinteraktion:```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"}
Das -smb Flag aktiviert das Samba-Protokoll (nur für selbst gehostete Instanzen). Das Samba-Protokoll verwendet die impacket smbserver-Klasse, um eine Samba-Daemon-Freigabe zu simulieren, die auf Port 445 lauscht, sofern nicht durch das -smb-port Flag geändert. Wenn aktiviert, führt interactsh unter der Haube das Skript smb_server.py aus. Daher sind Python3 und impacket-Abhängigkeiten erforderlich.
Beispiel für die Aktivierung des Samba-Servers:```console
$ sudo interactsh-server -smb -skip-acme -debug -domain localhost
### Responder
[Responder](https://github.com/lgandx/Responder) ist in einen docker Container eingebunden, der verschiedene Service-Ports über docker Portweiterleitung freigibt. Die Interaktionen werden durch Überwachung der gemeinsam genutzten Logdatei `Responder-Session.log` im Temp-Ordner abgerufen. Um es auf einer selbst gehosteten Instanz zu verwenden, muss zunächst der docker Container gebaut und als `interactsh`(docker daemon muss korrekt konfiguriert sein und Portweiterleitung unterstützen) getaggt werden:```bash
docker build . -t interactsh
Führen Sie dann den Dienst aus mit:```bash sudo interactsh-server -responder -d localhost
Bei den Standardeinstellungen lauscht der Daemon auf folgenden Ports:
- UDP: 137, 138, 1434
+ TCP: 21 (könnte mit FTP-Daemon kollidieren, falls verwendet), 110, 135, 139, 389, 445, 1433, 3141, 3128
## Interactsh-Integration
### Verwendung als Bibliothek
Die [Beispiele](https://github.com/projectdiscovery/interactsh/blob/main/examples) verwenden die Interactsh-Clientbibliothek, um externe Interaktionen für eine generierte URL zu erhalten, indem eine HTTP-Anfrage an die URL gestellt wird.
### Nuclei – OAST
Der [Nuclei](https://github.com/projectdiscovery/nuclei) Schwachstellenscanner nutzt **Interactsh** zur automatisierten Payload-Generierung und Erkennung von Out-of-Band-Sicherheitsschwachstellen.
Weitere Informationen finden Sie im Blog zur [Nuclei + Interactsh](https://blog.projectdiscovery.io/nuclei-interactsh-integration/) Integration und im [Leitfaden](https://nuclei.projectdiscovery.io/templating-guide/interactsh/).
# Cloud-Metadaten
Der Interactsh-Server unterstützt DNS-Einträge für Cloud-Metadatendienste, was für das Testen von SSRF-bezogenen Schwachstellen nützlich ist.
Derzeit unterstützte Metadatendienste:
- [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)
Beispiel:
* **aws.oast.fun** zeigt auf 169.254.169.254
* **alibaba.oast.fun** zeigt auf 100.100.100.200
-----
### Danksagung
Interactsh ist inspiriert von [Burp Collaborator](https://portswigger.net/burp/documentation/collaborator).
### Lizenz
Interactsh wird unter der [MIT-Lizenz](https://github.com/projectdiscovery/interactsh/blob/master/LICENSE.md) vertrieben und mit 🖤 vom [projectdiscovery](https://projectdiscovery.io) Team erstellt.