Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
interactsh — Сервер и клиентская библиотека для сбора OOB-взаимодействий | Kitploit
Инструменты/GitHubGitHub/projectdiscovery/interactsh
Анализ уязвимостейСбор информацииВеб-безопасностьТестирование на ПроникновениеАнализ DNS
GitHubprojectdiscovery/interactsh

interactsh

Сервер и клиентская библиотека для сбора OOB-взаимодействий

Репозиторий
4.5k47566 месяцев назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться


Interactsh

Сервер и клиентская библиотека для сбора OOB-взаимодействий

nyyyyyy9pmefcguvhvpvod800ehudb85c ``` ### Использование собственного сервера

Возможности • Использование • Клиент Interactsh • Сервер Interactsh • Интеграция Interactsh • Присоединиться в Discord


Interactsh — это инструмент с открытым исходным кодом для обнаружения внеполосных (out-of-band) взаимодействий. Он предназначен для выявления уязвимостей, вызывающих внешние взаимодействия.

Возможности

  • Взаимодействие по DNS/HTTP(S)/SMTP(S)/LDAP
  • Поддержка IPv4 и IPv6
  • Клиент: CLI / Web / Burp / ZAP / Docker
  • AES-шифрование с нулевым логированием
  • Автоматический Wildcard TLS на основе ACME с автообновлением
  • DNS-записи для сервиса Cloud Metadata
  • Динамическое управление HTTP-ответами
  • Самостоятельно размещаемый сервер Interactsh
  • Поддержка нескольких доменов (самостоятельное размещение)
  • NTLM/SMB/FTP(S)/RESPONDER Listener (самостоятельное размещение)
  • Wildcard / защищённые взаимодействия (самостоятельное размещение)
  • Настраиваемая индексная страница / размещение файлов (самостоятельное размещение)
  • Настраиваемая длина полезной нагрузки (самостоятельное размещение)
  • Пользовательский SSL-сертификат (самостоятельное размещение)

Клиент Interactsh

Использование```sh

interactsh-client -h

root@kitploit:~
Это отобразит справку по инструменту. Вот все ключи, которые он поддерживает.```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

Interactsh CLI Client

Interactsh Cli client требует go1.20+ для успешной установки. Выполните следующую команду, чтобы получить репозиторий -```sh go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-client@latest

root@kitploit:~
### Настройка PDCP_API_KEY с помощью CLI-клиента Interactsh
> Получите бесплатный API-ключ, зарегистрировавшись на https://cloud.projectdiscovery.io

Вы можете настроить PDCP_API_KEY двумя способами:
1. Чтобы настроить API-ключ в интерактивном режиме, выполните следующую команду:   ```sh
   ./interactsh-client -auth
  1. Если вы предпочитаете передавать ключ API напрямую, используйте опцию -auth, за которой следует ваш ключ API: ```sh ./interactsh-client -auth=
    root@kitploit:~

Запуск по умолчанию

Это сгенерирует уникальный payload, который может быть использован для OOB-тестирования с минимальной информацией о взаимодействии в выводе.```console $ interactsh-client

root@kitploit:~
_       __                       __       __  

()__ / /____ _________ / // /_ / / __ / / _ / / __ '/ / __/ __/ __
/ / / / / /
/ __/ / / /
/ / /
/ /
(
) / / / /// //_/_
// _,/___/_/__// // v0.0.5

root@kitploit:~
    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

root@kitploit:~
### Файл сессии

`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 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

root@kitploit:~
_       __                       __       __  

()__ / /____ _________ / // /_ / / __ / / _ / / __ '/ / __/ __/ __
/ / / / / /
/ __/ / / /
/ / /
/ /
(
) / / / /// //_/_
// _,/___/_/__// // 1.0.3

root@kitploit:~
projectdiscovery.io

[INF] Listing 1 payload for OOB Testing [INF] c58bduhe008dovpvhvugcfemp9yyyyyyn.oast.pro

[c58bduhe008dovpvhvugcfemp9yyyyyyn] Received HTTP 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

С помощью флага server можно настроить interactsh-client для подключения к собственному серверу Interactsh; этот флаг принимает один или несколько серверов, разделенных запятыми.```sh interactsh-client -server hackwithautomation.com

root@kitploit:~
Мы поддерживаем список серверов Interactsh по умолчанию для использования с `interactsh-client`:

- 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 для отправки уведомления о взаимодействии в реальном времени на любую поддерживаемую платформу.```sh interactsh-client | notify

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/402/edcb4195cf9606caa69a4b68c89a3be8025052f04d6b65c777249b532fda2758.png)


## Interactsh Web Client

[Interactsh-web](https://github.com/projectdiscovery/interactsh-web) — это бесплатный веб-клиент с открытым исходным кодом, который отображает взаимодействия Interactsh в удобной панели управления в вашем браузере. Он использует локальное хранилище браузера для хранения и отображения всех входящих взаимодействий. По умолчанию веб-клиент настроен на использование **oast.fun** в качестве сервера Interactsh по умолчанию, а также поддерживает другие самостоятельно размещённые публичные/аутентифицированные серверы 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 Client

Также предоставляется [образ Docker](https://hub.docker.com/r/projectdiscovery/interactsh-client) с клиентом interactsh, который готов к запуску и может быть использован следующим образом:```sh
docker run projectdiscovery/interactsh-client:latest

ВВОД:```console $ docker run projectdiscovery/interactsh-client:latest

root@kitploit:~
_       __                       __       __  

()__ / /____ _________ / // /_ / / __ / / _ / / __ '/ / __/ __/ __
/ / / / / /
/ __/ / / /
/ / /
/ /
(
) / / / /// //_/_
// _,/___/_/__// // v1.0.0

root@kitploit:~
    projectdiscovery.io

[INF] Listing 1 payload for OOB Testing [INF] c59e3crp82ke7bcnedq0cfjqdpeyyyyyn.oast.pro

root@kitploit:~
## Оригинальное расширение Burp Suite

[interactsh-collaborator](https://github.com/wdahlenburg/interactsh-collaborator) — это оригинальное расширение Interactsh для Burp Suite, разработанное и поддерживаемое [@wdahlenb](https://twitter.com/wdahlenb)

- Загрузите последний JAR-файл со страницы [релизов](https://github.com/wdahlenburg/interactsh-collaborator/releases).
- Откройте Burp Suite &rarr; Extender &rarr; Add &rarr; Java &rarr; Выберите JAR-файл &rarr; 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) — это переработанная версия оригинального расширения Interactsh для Burp Suite, разработанная и поддерживаемая [@Arqsz](https://arqsz.net/)

- Загрузите последний JAR-файл со страницы [релизов](https://github.com/TheArqsz/interactsh-collaborator-rev/releases).
- Откройте Burp Suite &rarr; Extender &rarr; Add &rarr; Java &rarr; Выберите JAR-файл &rarr; 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 для ZAP](https://www.zaproxy.org/docs/desktop/addons/oast-support/). Благодаря возможностям скриптов ZAP вы можете создавать мощные правила сканирования внеполосных каналов (out-of-band), использующие возможности Interactsh. В качестве примера предоставлен шаблон автономного скрипта (он добавляется автоматически при установке дополнения).

- Установите дополнение OAST из [ZAP Marketplace](https://www.zaproxy.org/addons/).
- Перейдите в Tools &rarr; Options &rarr; OAST и выберите **Interactsh**.
- Настройте [параметры](https://www.zaproxy.org/docs/desktop/addons/oast-support/services/interactsh/options/) клиента и нажмите «New Payload», чтобы сгенерировать новую полезную нагрузку.
- Взаимодействия OOB будут отображаться на [вкладке OAST](https://www.zaproxy.org/docs/desktop/addons/oast-support/tab/), и вы можете щелкнуть по любому из них, чтобы просмотреть полный запрос и ответ.
- Вы можете установить Interactsh в качестве значения по умолчанию для ActiveScan в меню `Options` > `OAST` > `General`.
- При включении опции `Use Permanent Database` вы можете просмотреть взаимодействия, произошедшие после завершения работы ZAP.
- Дополнительную информацию смотрите в [документации дополнения OAST](https://www.zaproxy.org/docs/desktop/addons/oast-support/).

![zap](https://assets.kitploit.com/production/public/readmes/402/2f01cd4334848c3dde79caa9586f4a2f340f8ac65fc708d39a4afaa4670b43ff.png)
*Interactsh в ZAP*

## Расширение для Caido

[quickssrf](https://github.com/caido-community/quickssrf) — это расширение для Caido, разработанное и поддерживаемое сообществом, которое позволяет использовать Interactsh из Caido Proxy.

- Загрузите последний ZIP-файл со страницы [релизов](https://github.com/caido-community/quickssrf/releases/).
- Откройте Caido &rarr; Plugins &rarr; Install Package &rarr; Выберите ZIP-файл &rarr; Next
- После успешной установки появится новая боковая панель с названием **QuickSSRF**.
- Дополнительную информацию смотрите в проекте [quickssrf](https://github.com/caido-community/quickssrf).

![caido-image](https://assets.kitploit.com/production/public/readmes/402/3d0fe93ea63cd50294abc5acadad4e4b5d0362610c9147882181dcd7f6dec3f3.png)

-------

# Сервер Interactsh

Сервер Interactsh запускает несколько служб и перехватывает все входящие запросы. Для размещения экземпляра **interactsh-server** необходимо настроить:

1. Доменное имя с пользовательскими **именами хостов** и **серверами имён**.
2. Базовый VPS-сервер, работающий 24/7 в фоновом режиме.

# Использование```sh
interactsh-server -h

Это отобразит справку по инструменту. Вот все ключи, которые он поддерживает.```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

root@kitploit:~
Мы используем GoDaddy для имени домена и DigitalOcean droplet для сервера, базового droplet за $5 должно быть достаточно для запуска собственного сервера Interactsh. Если вы не используете GoDaddy, следуйте процессу вашего регистратора для создания/обновления DNS-записей.

<table>
<td>

## Настройка домена Interactsh

- Перейдите по адресу `https://dcc.godaddy.com/control/portfolio/{{domain}}/settings?subtab=hostnames`
- Добавьте &rarr; Отправьте `ns1`, `ns2` с вашим `SERVER_IP` в качестве значения

<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`
- Измените серверы имен &rarr; Я буду использовать свои собственные серверы имен &rarr; Отправьте `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

Установите `interactsh-server` на ваш **VPS**```bash
go install -v github.com/projectdiscovery/interactsh/cmd/interactsh-server@latest

Учитывая, что настройка доменного имени завершена, выполните приведенную ниже команду для запуска `interactsh-server````bash interactsh-server -domain INTERACTSH_DOMAIN

root@kitploit:~
Ниже приведён пример успешной установки и работы самостоятельного сервера:

![interactsh-server](https://assets.kitploit.com/production/public/readmes/402/3330add99f8d3f69d11a812221eedd42de04470b69bcdf9e55c8a23c09fa56ef.png)

Ряд необходимых флагов настраивается автоматически для запуска `interactsh-server` с настройками по умолчанию. Например, флаги `ip` и `listen-ip` устанавливаются с публичным IP-адресом системы, когда это возможно.

</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 Server с несколькими доменами

Несколько доменных имен можно указать таким же образом, как указано выше, чтобы запустить один и тот же сервер interactsh на нескольких настроенных доменах.```console $ interactsh-server -d oast.pro,oast.me

root@kitploit:~
_       __                       __       __

()__ / /____ _________ / // /_ / / __ / / _ / / __ '/ / __/ __/ __
/ / / / / /
/ __/ / / /
/ / /
/ /
(
) / / / /// //_/_
// _,/___/_/__// // 1.0.5

root@kitploit:~
            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

root@kitploit:~
## Сервер Interactsh с поддержкой IPv4 и IPv6

Сервер Interactsh поддерживает как IPv4, так и IPv6 адреса. Вы можете указать несколько IP-адресов с помощью флага `-ip`, и сервер будет отвечать соответствующими записями A (IPv4) или AAAA (IPv6) в 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

Сервер автоматически определяет и классифицирует адреса IPv4 и IPv6, возвращая соответствующие DNS-записи в зависимости от типа запроса.

Примечание:

При запуске interactsh server на облачных ВМ, таких как Amazon EC2, Google Cloud Platform (GCP), необходимо обновить правила безопасности, чтобы разрешить "весь трафик" для входящих соединений.

Существуют дополнительные полезные возможности, поддерживаемые interactsh-server, которые не включены по умолчанию и предназначены для использования только самостоятельно размещенными серверами.

Interactsh Server за обратным прокси

interactsh-server может потребовать использования нестандартных портов для служб, если стандартные уже заняты. Если это так, но стандартные порты все еще требуются в составе полезной нагрузки, можно настроить interactsh-server за обратным прокси, перенаправляя порты для служб на основе HTTP/TCP/UDP с помощью директивы прокси http/stream (proxy_pass).

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;

root@kitploit:~
  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; } }

root@kitploit:~
**Настроенные домены**```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-сервера можно настроить при запуске собственного сервера interactsh с помощью флага -http-index.```bash interactsh-server -d hackwithautomation.com -http-index banner.html

root@kitploit:~
`{DOMAIN}` плейсхолдер также поддерживается в индексном файле для замены на доменное имя сервера.

![image](https://assets.kitploit.com/production/public/readmes/402/3664a8d73ec14308c8e1bf2b33a4f545e0dc51cf99dd9370d64b4a31f453dea4.png)


## Статическое размещение файлов

HTTP-сервер Interactsh опционально включает размещение файлов для помощи в тестировании безопасности. Эта возможность может использоваться с собственным сервером для предоставления файлов для распространённых нагрузок при **XSS, XXE, RCE** и других атаках.

Для использования этой функции можно использовать флаг `-http-directory`, который принимает директорию в качестве входных данных, и файлы обслуживаются в каталоге `/s/`.```bash
interactsh-server -d hackwithautomation.com -http-directory ./paylods

image

Динамический HTTP-ответ

HTTP-сервер Interactsh опционально позволяет отвечать динамическим 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

root@kitploit:~
> **Примечание**:

- Функция динамического HTTP-ответа отключена по умолчанию.
- По задумке, эта функция позволяет любому запускать клиентский код / перенаправления с использованием вашего домена / сервера interactsh.
- Рекомендуется использовать эту опцию с изолированным доменом, чтобы **избежать влияния на безопасность** связанных корневых/поддоменов.

## Взаимодействие с подстановочными знаками

Для включения взаимодействия с подстановочными знаками для настроенного домена Interactsh можно использовать флаг `wildcard` с неявной защитой аутентификации через флаг `auth`, если флаг `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

В режиме wildcard каждый подключенный клиент независимо получает все взаимодействия для общего домена. Сервер хранит буфер последних взаимодействий, чтобы несколько клиентов могли опрашивать данные без потерь. По умолчанию буфер хранит до 10 000 взаимодействий на один общий ключ. Это можно настроить с помощью переменной окружения INTERACTSH_MAX_SHARED_INTERACTIONS:```console $ export INTERACTSH_MAX_SHARED_INTERACTIONS=50000 $ interactsh-server -domain hackwithautomation.com -wildcard

root@kitploit:~
## Взаимодействие LDAP

По умолчанию сервер Interactsh поддерживает взаимодействие LDAP для полезной нагрузки, включенной в [поисковый запрос](https://ldapwiki.com/wiki/LDAP%20Query%20Examples); кроме того, флаг `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 token), которую можно настроить с помощью флагов cidl и cidn, чтобы сделать короче при необходимости с собственным сервером interacsh.```console $ interactsh-server -d hackwithautomation.com -cidl 4 -cidn 6

root@kitploit:~
_       __                       __       __  

()__ / /____ _________ / // /_ / / __ / / _ / / __ '/ / __/ __/ __
/ / / / / /
/ __/ / / /
/ / /
/ /
(
) / / / /// //_/_
// _,/___/_/__// // v1.0.2

root@kitploit:~
    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

root@kitploit:~
**Примечание:** Важно и необходимо использовать одинаковую длину с обеих сторон (**клиент** и **сервер**), иначе корреляция не будет работать.```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-сертификат

Библиотека certmagic по умолчанию используется сервером interactsh для автоматического создания wildcard-сертификатов для запрошенного домена. Чтобы использовать собственный SSL-сертификат с самостоятельно размещенным сервером interactsh, можно использовать флаги cert и privkey для указания необходимых файлов сертификатов.

Примечание: Чтобы использовать все возможности протокола SSL, необходим wildcard-сертификат.```console $ interactsh-server -d hackwithautomation.com -cert hackwithautomation.com.crt -privkey hackwithautomation.com.key

root@kitploit:~
_       __                       __       __  

()__ / /____ _________ / // /_ / / __ / / _ / / __ '/ / __/ __/ __
/ / / / / /
/ __/ / / /
/ / /
/ /
(
) / / / /// //_/_
// _,/___/_/__// // v1.0.2

root@kitploit:~
    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

root@kitploit:~
## Поддерживаемые протоколы

### FTP

Поддержку FTP можно включить с помощью флага `-ftp`, и она рекомендуется только для собственных экземпляров. FTP-агент имитирует полнофункциональный сервер FTP с аутентификацией, который перехватывает учетные данные при каждой файловой операции. По умолчанию агент прослушивает незашифрованный FTP на порту 21 (можно изменить с помощью флага `-ftp-port`) и FTP через TLS на порту 990 (можно изменить с помощью флага `-ftps-port`) и отображает в режиме только для чтения содержимое временной директории операционной системы по умолчанию (настраивается с помощью параметра `-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 включает протокол Samba (только для самостоятельно размещенных экземпляров). Протокол Samba использует класс smbserver из impacket для имитации общего ресурса демона Samba, прослушивающего порт 445, если не изменено флагом -smb-port. При включении interactsh выполняет под капотом скрипт smb_server.py. Следовательно, требуются Python3 и зависимости impacket. Пример включения сервера Samba:```console $ sudo interactsh-server -smb -skip-acme -debug -domain localhost

root@kitploit:~
### Responder
[Responder](https://github.com/lgandx/Responder) упакован в контейнер Docker, который открывает различные порты сервисов через проброс портов Docker. Взаимодействия извлекаются путем мониторинга общего файла журнала `Responder-Session.log` в папке временных файлов. Для использования на самостоятельно размещенном экземпляре необходимо сначала собрать контейнер Docker и пометить его как `interactsh`(демон Docker должен быть правильно настроен и иметь возможности проброса портов):```bash
docker build . -t interactsh

Затем запустите сервис с помощью:```bash sudo interactsh-server -responder -d localhost

root@kitploit:~
По умолчанию демон прослушивает следующие порты:

- UDP: 137, 138, 1434
+ TCP: 21 (может конфликтовать с FTP-демоном, если он используется), 110, 135, 139, 389, 445, 1433, 3141, 3128

## Интеграция Interactsh

### Использование в качестве библиотеки

В [примерах](https://github.com/projectdiscovery/interactsh/blob/main/examples) используется клиентская библиотека interactsh для получения внешних взаимодействий по сгенерированному URL путём выполнения HTTP-запроса к этому URL.

### Nuclei - OAST

Сканер уязвимостей [Nuclei](https://github.com/projectdiscovery/nuclei) использует **Interactsh** для автоматической генерации полезных нагрузок и обнаружения внеканальных (out-of-band) уязвимостей безопасности.

См. блог об интеграции [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](https://github.com/projectdiscovery/interactsh/blob/master/LICENSE.md) и создан с 🖤 командой [projectdiscovery](https://projectdiscovery.io).
Скачать инструмент