
Un servidor de recopilación de interacciones OOB y una biblioteca cliente
Características • Uso • Cliente Interactsh • Servidor Interactsh • Integración de Interactsh • Unirse a Discord
Interactsh es una herramienta de código abierto para detectar interacciones fuera de banda. Es una herramienta diseñada para detectar vulnerabilidades que causan interacciones externas.
interactsh-client -h
Esto mostrará ayuda para la herramienta. Aquí están todas las opciones que soporta.```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
El cliente CLI de Interactsh requiere go1.20+ para instalarse correctamente. Ejecute el siguiente comando para obtener el repositorio -```sh go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest
### Configure PDCP_API_KEY With Interactsh CLI Client
> Obtén tu clave de API gratuita registrándote en https://cloud.projectdiscovery.io
Puedes configurar tu PDCP_API_KEY de dos maneras:
1. Para configurar la clave de API de forma interactiva, ejecuta el siguiente comando: ```sh
./interactsh-client -auth
Esto generará un payload único que se puede utilizar para pruebas OOB con información mínima de interacción en la salida.```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
### Session File
`interactsh-client` con la bandera `-sf, -session-file` se puede usar para almacenar/leer la información de la sesión actual desde un archivo definido por el usuario, lo que es útil para reanudar la misma sesión y consultar las interacciones incluso después de que el cliente se detenga o cierre.```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
Ejecutar el interactsh-client en modo verbose (v) para ver toda la solicitud y respuesta, junto con un archivo de salida para analizar después.```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
nyyyyyy9pmefcguvhvpvod800ehudb85c ``` ### Usando un servidor auto-alojadoUsando la bandera server, interactsh-client puede configurarse para conectarse con un servidor Interactsh auto-alojado, esta bandera acepta uno o múltiples servidores separados por coma.```sh
interactsh-client -server hackwithautomation.com
Mantenemos una lista de servidores predeterminados de Interactsh para usar con `interactsh-client`:
- oast.pro
- oast.live
- oast.site
- oast.online
- oast.fun
- oast.me
Los servidores predeterminados pueden cambiar, rotar o estar caídos en cualquier momento, por lo que recomendamos usar un servidor interactsh autoalojado si experimentas problemas con el servidor predeterminado.
### Usando un servidor autoalojado protegido
Usando la bandera `token`, `interactsh-client` puede conectarse a un servidor Interactsh autoalojado que está protegido con autenticación.```sh
interactsh-client -server hackwithautomation.com -token XXX
Si estás lejos de tu terminal, puedes usar notify para enviar una notificación de interacción en tiempo real a cualquier plataforma compatible.```sh interactsh-client | notify

## Cliente Web de Interactsh
[Interactsh-web](https://github.com/projectdiscovery/interactsh-web) es un cliente web gratuito y de código abierto que muestra las interacciones de Interactsh en un panel bien administrado en su navegador. Utiliza el almacenamiento local del navegador para almacenar y mostrar todas las interacciones entrantes. Por defecto, el cliente web está configurado para usar **oast.fun** como servidor interactsh predeterminado, y también admite otros servidores interactsh públicos/autenticados autoalojados.
Una instancia alojada del cliente **interactsh-web** está disponible en https://app.interactsh.com
<img width="2032" alt="interactsh-web" src="https://assets.kitploit.com/production/public/readmes/402/9cef2252b8b90b021664a337626c9082f68e40f90a051dcafb18b497ceca8040.png">
## Cliente Docker de Interactsh
También se proporciona una [imagen Docker](https://hub.docker.com/r/projectdiscovery/interactsh-client) con el cliente interactsh que está lista para ejecutarse y se puede usar de la siguiente manera:```sh
docker run projectdiscovery/interactsh-client:latest
IntelChat: Combina servicios de chat (Discord, Telegram), agentes personalizados (modelos de IA) y funciones de IA.
XRefer: La clase xrefer proporciona análisis de referencias y capacidades de navegación.
FlareGraph: Genera datos de grafos para usar en la creación de gráficos interactivos.
FakeNet-NG: Herramienta de análisis dinámico de redes de próxima generación para probadores de penetración y analistas de malware.
Fakenet: Herramienta Fakenet original (hasta que se complete la transición a FakeNet-NG).```console $ docker run projectdiscovery/interactsh-client:latest
()__ / /____ _________ / // /_
/ / __ / / _ / / __ '/ / __/ __/ __
/ / / / / // __/ / / // / // /( ) / / /
/// //_/_// _,/___/_/__// // v1.0.0
projectdiscovery.io
[INF] Listing 1 payload for OOB Testing [INF] c59e3crp82ke7bcnedq0cfjqdpeyyyyyn.oast.pro
## Extensión Original de Burp Suite
[interactsh-collaborator](https://github.com/wdahlenburg/interactsh-collaborator) es una extensión original de Burp Suite para interactsh, desarrollada y mantenida por [@wdahlenb](https://twitter.com/wdahlenb)
- Descargue el archivo JAR más reciente desde la página de [releases](https://github.com/wdahlenburg/interactsh-collaborator/releases).
- Abra Burp Suite → Extender → Agregar → Java → Seleccione el archivo JAR → Siguiente
- Una nueva pestaña llamada **Interactsh** aparecerá tras la instalación exitosa.
- Consulte el proyecto [interactsh-collaborator](https://github.com/wdahlenburg/interactsh-collaborator) para más información.
<img width="2032" alt="burp" src="https://assets.kitploit.com/production/public/readmes/402/9f961c02a61a56f18dacc6de581d29ba26153d6f2083df109c98cba57ff7a4f0.png">
## Extensión Revisada de Burp Suite
[interactsh-collaborator-rev](https://github.com/TheArqsz/interactsh-collaborator-rev) es una versión revisada de la extensión original de Burp Suite para interactsh, desarrollada y mantenida por [@Arqsz](https://arqsz.net/)
- Descargue el archivo JAR más reciente desde la página de [releases](https://github.com/TheArqsz/interactsh-collaborator-rev/releases).
- Abra Burp Suite → Extender → Agregar → Java → Seleccione el archivo JAR → Siguiente
- Una nueva pestaña llamada **Interactsh** aparecerá tras la instalación exitosa.
- Consulte el proyecto [interactsh-collaborator-rev](https://github.com/TheArqsz/interactsh-collaborator-rev) para más información.
<img width="2032" alt="burp" src="https://raw.githubusercontent.com/TheArqsz/interactsh-collaborator-rev/master/assets/interactsh-extension.png?raw=true">
## Complemento de ZAP
Interactsh se puede usar con ZAP mediante el [complemento OAST para ZAP](https://www.zaproxy.org/docs/desktop/addons/oast-support/). Con las capacidades de scripting de ZAP, puede crear potentes reglas de escaneo fuera de banda que aprovechen las funciones de Interactsh. Se ha proporcionado una plantilla de script independiente como ejemplo (se agrega automáticamente al instalar el complemento).
- Instale el complemento OAST desde el [Mercado de ZAP](https://www.zaproxy.org/addons/).
- Vaya a Herramientas → Opciones → OAST y seleccione **Interactsh**.
- Configure [las opciones](https://www.zaproxy.org/docs/desktop/addons/oast-support/services/interactsh/options/) del cliente y haga clic en "New Payload" para generar un nuevo payload.
- Las interacciones OOB aparecerán en la [pestaña OAST](https://www.zaproxy.org/docs/desktop/addons/oast-support/tab/) y puede hacer clic en cualquiera de ellas para ver la solicitud y respuesta completas.
- Puede establecer Interactsh como predeterminado para ActiveScan en el menú `Options` > `OAST` > `General`.
- Al marcar la opción `Use Permanent Database`, puede revisar las interacciones que ocurrieron después de que ZAP se cerró.
- Consulte la [documentación del complemento OAST](https://www.zaproxy.org/docs/desktop/addons/oast-support/) para más información.

*Interactsh en ZAP*
## Extensión de Caido
[quickssrf](https://github.com/caido-community/quickssrf) es una extensión de Caido desarrollada y mantenida que permite usar Interactsh desde Caido Proxy.
- Descargue el archivo zip más reciente desde la página de [releases](https://github.com/caido-community/quickssrf/releases/).
- Abra Caido → Plugins → Install Package → Seleccione el archivo zip → Siguiente
- Un nuevo panel lateral llamado **QuickSSRF** aparecerá tras la instalación exitosa.
- Consulte el proyecto [quickssrf](https://github.com/caido-community/quickssrf) para más información.

-------
# Servidor Interactsh
El servidor Interactsh ejecuta múltiples servicios y captura todas las solicitudes entrantes. Para alojar una instancia de **interactsh-server**, se requiere configurar:
1. Un nombre de dominio con **nombres de host** y **servidores de nombres** personalizados.
2. Un droplet básico que funcione 24/7 en segundo plano.
# Uso```sh
interactsh-server -h
Esto mostrará la ayuda de la herramienta. Aquí están todos los parámetros que soporta.```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
Estamos usando GoDaddy para el nombre de dominio y un droplet de DigitalOcean para el servidor; un droplet básico de $5 debería ser suficiente para ejecutar un servidor Interactsh autoalojado. Si no usas GoDaddy, sigue el proceso de tu registrador para crear/actualizar entradas DNS.
<table>
<td>
## Configurando el dominio de Interactsh
- Navega a `https://dcc.godaddy.com/control/portfolio/{{domain}}/settings?subtab=hostnames`
- Agrega → Envía `ns1`, `ns2` con tu `SERVER_IP` como valor
<img width="1288" alt="gdd-hostname" src="https://assets.kitploit.com/production/public/readmes/402/efca5443025a0d6d2ac6e8103985dce9bad2be94e68a07a203571b83ebb0449d.png">
- Navega a `https://dcc.godaddy.com/control/dnsmanagement?domainName={{domain}}&subtab=nameservers`
- Cambiar servidores de nombres → Usaré mis propios servidores de nombres → Envía `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>
## Configurando el servidor de Interactsh
Instala `interactsh-server` en tu **VPS**```bash
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-server@latest
Dado que la configuración del nombre de dominio está completada, ejecute el siguiente comando para ejecutar `interactsh-server````bash interactsh-server -domain INTERACTSH_DOMAIN
A continuación se muestra un ejemplo de instalación y operación exitosa de un servidor autoalojado:

Varias banderas necesarias se configuran automáticamente para ejecutar `interactsh-server` con la configuración predeterminada. Por ejemplo, las banderas `ip` y `listen-ip` se establecen con la dirección IP pública del sistema cuando sea posible.
</td>
</table>
## Ejecutando 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
Se pueden proporcionar múltiples nombres de dominio de la misma manera que arriba para ejecutar el mismo servidor interactsh a través de múltiples dominios configurados.```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
## Servidor Interactsh con IPv4 e IPv6
El servidor Interactsh admite direcciones IPv4 e IPv6. Puede especificar múltiples direcciones IP usando el indicador `-ip`, y el servidor responderá con los registros A (IPv4) o AAAA (IPv6) apropiados en las respuestas DNS.```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
El servidor detectará y categorizará automáticamente las direcciones IPv4 e IPv6, devolviendo los registros DNS apropiados según el tipo de consulta.
|
Nota: Al ejecutar interactsh server en máquinas virtuales en la nube como Amazon EC2, Google Cloud Platform (GCP), es necesario actualizar las reglas de seguridad para permitir "todo el tráfico" para las conexiones entrantes. |
Hay más capacidades útiles compatibles con interactsh-server que no están habilitadas de forma predeterminada y están destinadas a ser utilizadas solo por servidores autoalojados.
interactsh-server puede requerir puertos personalizados para los servicios si los predeterminados ya están ocupados. Si este es el caso, pero aún se requieren los puertos predeterminados como parte del payload, es posible configurar interactsh-server detrás de un proxy inverso, redirigiendo puertos de servicios basados en HTTP/TCP/UDP a través de la directiva de proxy http/stream (proxy_pass).
Suponiendo que los servicios esenciales de interactsh-server se ejecutan en los siguientes puertos:
El archivo de configuración de nginx para redirigir el tráfico se vería así:```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; } }
**Dominios configurados**```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
La página de índice del servidor HTTP se puede personalizar al ejecutar un servidor interactsh personalizado usando el flag -http-index.```bash
interactsh-server -d hackwithautomation.com -http-index banner.html
`{DOMAIN}` placeholder también es compatible en el archivo de índice para reemplazar con el nombre de dominio del servidor.

## Alojamiento de Archivos Estáticos
El servidor http de Interactsh habilita opcionalmente el alojamiento de archivos para ayudar en las pruebas de seguridad. Esta capacidad se puede usar con un servidor autoalojado para servir archivos para payloads comunes de **XSS, XXE, RCE** y otros ataques.
Para usar esta función, se puede usar la bandera `-http-directory` que acepta un directorio como entrada y los archivos se sirven bajo el directorio `/s/`.```bash
interactsh-server -d hackwithautomation.com -http-directory ./paylods

El servidor http de Interactsh permite opcionalmente responder con una respuesta HTTP dinámica utilizando parámetros de consulta. Esta característica se puede habilitar usando la bandera -dr o -dynamic-resp.
Los siguientes nombres de parámetros de consulta son compatibles: body, header, status y delay. Se pueden especificar múltiples parámetros header para configurar múltiples encabezados.
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
> **Nota**:
- La función de respuesta HTTP dinámica está deshabilitada por defecto.
- Por diseño, esta función permite que cualquiera ejecute código del lado del cliente / redirecciones usando tu dominio / servidor de interactsh.
- Se recomienda usar esta opción con un dominio aislado para **evitar impacto de seguridad** en los dominios raíz/subdominios asociados.
## Interacción con Comodín
Para habilitar la interacción `wildcard` para el dominio de Interactsh configurado, se puede usar la bandera `wildcard` con protección de autenticación implícita a través de la bandera `auth` si se omite la bandera `token`.```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
En el modo comodín, cada cliente conectado recibe independientemente todas las interacciones para el dominio compartido. El servidor mantiene un búfer de interacciones recientes para que múltiples clientes puedan consultar sin perder datos. Por defecto, el búfer almacena hasta 10,000 interacciones por clave compartida. Esto se puede ajustar mediante la variable de entorno INTERACTSH_MAX_SHARED_INTERACTIONS:```console
$ export INTERACTSH_MAX_SHARED_INTERACTIONS=50000
$ interactsh-server -domain hackwithautomation.com -wildcard
## Interacción LDAP
Por defecto, el servidor de Interactsh admite la interacción LDAP para el payload incluido en [consulta de búsqueda](https://ldapwiki.com/wiki/LDAP%20Query%20Examples); además, la bandera `ldap` se puede usar para el registro completo.```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
La longitud del payload de interactsh es 33 por defecto, compuesta por 20 (ID de correlación único) + 13 (token nonce), que se puede personalizar usando las banderas cidl y cidn para hacerla más corta cuando sea necesario con un servidor interactsh autoalojado.```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
**Nota:** Es importante y necesario usar la misma longitud en ambos lados (**cliente** y **servidor**), de lo contrario la correlación no funcionará.```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
La biblioteca certmagic es utilizada por defecto por el servidor interactsh para producir certificados comodín para el dominio solicitado de forma automática. Para usar su propio certificado SSL con un servidor interactsh autoalojado, se pueden usar las banderas cert y privkey para proporcionar los archivos de certificado requeridos.
Nota: Para utilizar toda la funcionalidad del protocolo SSL, es obligatorio un certificado comodín.```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
## Protocolos Soportados
### FTP
El soporte FTP se puede habilitar con el flag `-ftp` y se recomienda solo para instancias auto-alojadas. El agente FTP simula un servidor FTP completamente funcional con autenticación que captura las autenticaciones en cada operación de archivo. De forma predeterminada, el agente escucha FTP en texto claro en el puerto 21 (esto se puede cambiar con el flag `-ftp-port`) y FTP TLS en el puerto 990 (esto se puede cambiar con el flag `-ftps-port`) y lista en modo solo lectura el contenido del directorio temporal predeterminado del SO (personalizable con la opción `-ftp-dir`). El motor FTP usa el certificado y la clave privada personalizados si se proporcionan, o extraerá el certificado y la clave privada del primer dominio ACME si se proporciona.
Ejemplo de inicio del demonio FTP y captura de una interacción de inicio de sesión:```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"}
La bandera -smb habilita el protocolo Samba (solo para instancias auto-alojadas). El protocolo Samba utiliza la clase smbserver de impacket para simular un recurso compartido del demonio Samba escuchando en el puerto 445 a menos que se cambie con la bandera -smb-port. Cuando está habilitado, interactsh ejecuta internamente el script smb_server.py. Por lo tanto, se requieren las dependencias de Python3 e impacket.
Ejemplo de habilitación del servidor Samba:```console
$ sudo interactsh-server -smb -skip-acme -debug -domain localhost
### Responder
[Responder](https://github.com/lgandx/Responder) está envuelto en un contenedor docker que expone varios puertos de servicio mediante el reenvío de puertos de docker. Las interacciones se recuperan monitoreando el archivo de registro compartido `Responder-Session.log` en la carpeta temporal. Para usarlo en una instancia autohospedada, primero es necesario construir el contenedor docker y etiquetarlo como `interactsh`(el daemon de docker debe estar configurado correctamente y con capacidades de reenvío de puertos):```bash
docker build . -t interactsh
Luego ejecuta el servicio con:```bash sudo interactsh-server -responder -d localhost
En la configuración predeterminada, el daemon escucha en los siguientes puertos:
- UDP: 137, 138, 1434
+ TCP: 21 (podría colisionar con el daemon FTP si se usa), 110, 135, 139, 389, 445, 1433, 3141, 3128
## Integración con Interactsh
### Uso como biblioteca
Los [examples](https://github.com/projectdiscovery/interactsh/blob/HEAD/examples/) utilizan la biblioteca cliente de Interactsh para obtener interacciones externas para una URL generada realizando una solicitud http a la URL.
### Nuclei - OAST
El escáner de vulnerabilidades [Nuclei](https://github.com/projectdiscovery/nuclei) utiliza **Interactsh** para la generación automática de payloads y detección de vulnerabilidades de seguridad fuera de banda.
Consulte el blog de integración [Nuclei + Interactsh](https://blog.projectdiscovery.io/nuclei-interactsh-integration/) y el [documento guía](https://nuclei.projectdiscovery.io/templating-guide/interactsh/) para más información.
# Metadatos en la nube
El servidor Interactsh admite registros DNS para servicios de metadatos en la nube, lo cual es útil para probar vulnerabilidades relacionadas con SSRF.
Actualmente, los servicios de metadatos compatibles son:
- [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)
Ejemplo:
* **aws.oast.fun** apunta a 169.254.169.254
* **alibaba.oast.fun** apunta a 100.100.100.200
-----
### Reconocimientos
Interactsh está inspirado en [Burp Collaborator](https://portswigger.net/burp/documentation/collaborator).
### Licencia
Interactsh se distribuye bajo la [Licencia MIT](https://github.com/projectdiscovery/interactsh/blob/master/LICENSE.md) y está hecho con 🖤 por el equipo de [projectdiscovery](https://projectdiscovery.io).