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

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

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

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

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

Категории

Все категории
Loading categories
of-CORS — Автоматизированный инструмент для обнаружения неверных конфигураций CORS, использующий домены с опечатками (тайпсквоттинг) и сервис-воркеры браузера для зондирования внутренних сетей целей программ bug bounty. | Kitploit
Инструменты/GitHubGitHub/trufflesecurity/of-cors
РазведкаСбор информацииФишингВеб-безопасностьНеправильная КонфигурацияRed Teaming
GitHubtrufflesecurity/of-cors

of-CORS

Автоматизированный инструмент для обнаружения неверных конфигураций CORS, использующий домены с опечатками (тайпсквоттинг) и сервис-воркеры браузера для зондирования внутренних сетей целей программ bug bounty.

Репозиторий
154173 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

of-CORS

of-CORS — это набор инструментов Truffle Security для выявления и эксплуатации некорректных настроек CORS во внутренних сетях целей программ bug bounty с помощью тайпсквоттинга.

изображение изображение

Подробнее можно прочитать здесь https://trufflesecurity.com/blog/of-CORS

Как это работает??

of-CORS — это веб-приложение на Python3, построенное на Django и Django Rest Framework. После настройки и конфигурации of-CORS автоматически регистрирует сервис-воркеры браузера в браузерах любых жертв, посещающих приложение. Эти сервис-воркеры отправляют HTTP-запросы к списку предварительно настроенных внутренних доменов с целью обнаружения некорректных настроек CORS во внутренних сетях. Результаты этих запросов (успешных или нет) затем отправляются обратно в экземпляр of-CORS через API.

После регистрации сервис-воркера в браузере жертвы JavaScript-нагрузка перенаправляет браузер на страницу, которую, по мнению of-CORS, жертва изначально пыталась открыть.

Собранные результаты впоследствии можно просмотреть на минималистичной панели управления, доступной в приложении of-CORS.

Начало работы

Для развертывания of-CORS в собственной среде можно предпринять следующие шаги.

Из-за сложности настройки of-CORS (в первую очередь сложностей с SSL/TLS, DNS и необходимостью разрешать wildcard-запросы к обоим) мы используем двух облачных провайдеров (Heroku и Cloudflare) в стеке приложения и Terraform для автоматизации их настройки.

Приобретите соответствующие домены

Начните с покупки домена, на который с большой вероятностью попадет внутренний сотрудник целевой компании. Мы рекомендуем приобрести тайпсквоттинговый домен, похожий на внутренний домен. Мы обнаружили, что ошибки копирования-вставки — хорошая отправная точка.

Например, если компания, CORS которой вы тестируете, использует uberinternal.com для внутренних доменов, вы можете приобрести berinternal.com, чтобы начать получать трафик браузеров от внутренних сотрудников.

изображение

Получите API-ключ Cloudflare

of-CORS использует Cloudflare для приема и маршрутизации wildcard-запросов DNS, а также для завершения соединений SSL/TLS.

Вам потребуется активная учетная запись Cloudflare, чтобы правильно настроить DNS для of-CORS. После создания учетной записи Cloudflare вам нужно создать API-ключ (это можно сделать на панели управления здесь).

API-ключ должен иметь достаточные привилегии для добавления, удаления и настройки зон, а также DNS-записей. Это можно сделать, выбрав следующие разрешения на странице создания токена API:

Разрешения API-токена Cloudflare

После создания API-токена с нужными разрешениями можно переходить к следующему шагу.

Получите API-ключ Heroku

of-CORS использует Heroku для простого развертывания и размещения приложения.

Вам потребуется активная учетная запись Heroku, чтобы запустить стек приложения of-CORS. После создания учетной записи установите инструмент командной строки Heroku (CLI). С установленным CLI вы можете начать аутентифицированный сеанс CLI с помощью следующей команды:

root@kitploit:~
heroku login

Затем вы можете подтвердить, что CLI успешно аутентифицирован, выполнив следующую команду:

root@kitploit:~
heroku whoami

Дополнительная документация по авторизации Heroku CLI для использования с Terraform доступна здесь.

Настройка of-CORS для развертывания

Теперь, когда API-ключи для нашей инфраструктуры готовы, можно приступить к конфигурации of-CORS для развертывания. Взгляните на содержимое следующего примера файла конфигурации YAML, который находится в репозитории:

root@kitploit:~
terraform:
  # Вы должны изменить это на уникальную строку, которая является допустимым именем приложения Heroku
  heroku_app_name: best-of-cors
  # Укажите здесь ваш API-токен Cloudflare
  cloudflare_api_token: this-is-my-api-token

hosts:
  # Это может быть произвольная строка, но она должна быть уникальной как прямой потомок hosts
  testing:
    host_domain: 127.0.0.1:8080
    redirect_domain: google.com
    targets:
      - enable-cors.org
      - example.com

Вам нужно создать новый файл конфигурации YAML этого формата для развертывания.

В разделе terraform установите heroku_app_name на совместимое с Heroku имя приложения, уникальное для вашей учетной записи. Также добавьте ваш API-ключ Cloudflare, созданный в разделе выше, в директиву cloudflare_api_token.

Раздел hosts определяет домены, на которые of-CORS ожидает получать трафик, и что делать при посещении веб-посетителями. Предположим, у нас есть компания, которую мы атакуем, и мы знаем, что у них есть два внутренних домена (myinternalcorp1.com и myinternalcorp2.com). Мы приобрели домен yinternalcorp1.com в расчете на то, что сотрудники случайно его посетят. В этом случае следует настроить hosts следующим образом:

root@kitploit:~
hosts:
  testing_1:
    host_domain: yinternalcorp1.com
    redirect_domain: myinternalcorp1.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com

Здесь host_domain — это домен, на который ожидается трафик (т.е. приобретенный домен). redirect_domain определяет домен, на который будут перенаправлены жертвы после запуска нагрузки. targets указывает домены, против которых будут запускаться нагрузки при посещении жертвой of-CORS.

Допустим, мы также приобрели yinternalcorp2.com и хотим настроить of-CORS на запуск атак при его посещении. Тогда раздел hosts можно обновить следующим образом:

root@kitploit:~
hosts:
  testing_1:
    host_domain: yinternalcorp1.com
    redirect_domain: myinternalcorp1.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com
  testing_2:
    host_domain: yinternalcorp2.com
    redirect_domain: myinternalcorp2.com
    targets:
      - myinternalcorp1.com
      - myinternalcorp2.com

Теперь, если жертва случайно посетит yinternalcorp1.com или yinternalcorp2.com, будут запущены нагрузки для перечисления некорректных настроек CORS на myinternalcorp1.com и myinternalcorp2.com, а браузер жертвы затем будет перенаправлен на правильный домен.

Настройка Docker

Вам не потребуется устанавливать Terraform, Heroku, Python при использовании Docker. Просто выполните эту команду, указав правильный путь к вашему yaml-файлу:

root@kitploit:~
docker run -v $PWD/config.yml:/config.yml -it --rm trufflesecurity/of-cors

Настройка вне Docker

Установка Terraform

Развертывание of-CORS зависит от Terraform. Вы можете следовать инструкциям по установке Terraform здесь. После установки бинарный файл terraform должен быть доступен в PATH вашей системы.

Установка Python3

Развертывание of-CORS также зависит от Python3. Убедитесь, что он установлен и доступен в PATH вашей системы.

Развертывание of-CORS

После настройки аутентификации у наших облачных провайдеров и подготовки файла конфигурации of-CORS можно переходить к развертыванию.

Сначала необходимо инициализировать Terraform. Эту команду следует запускать из корневого каталога исходного кода:

root@kitploit:~
cd terraform && terraform init && cd ../

Предположим, наш файл конфигурации находится по пути /tmp/of_cors_config.yml. Тогда мы выполним следующие команды для запуска всей инфраструктуры of-CORS (обратите внимание, что команды предполагают выполнение в bash). Выполнение этой команды может занять 5–10 минут, так что наберитесь терпения!

Также обратите внимание: при очень больших перечислениях Heroku часто исчерпывает ресурсы. Это известная проблема, и мы будем рады вашей помощи в ее исправлении. Возможные будущие исправления включают возможность загрузки перечислений самостоятельно, увеличение размера Dyn в Heroku или переход на Sublist3r или другой инструмент перечисления.

root@kitploit:~
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
CONFIG_FILE=/tmp/of_cors_config.yml make deploy_and_configure

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ — может возникнуть состояние гонки, когда инфраструктура Heroku запускается и к ней сразу же обращаются через консоль. Если последняя команда make deploy_and_configure завершится с ошибкой, подождите несколько минут и попробуйте снова.

После завершения команды deploy_and_configure у вас будет:

  • DNS-записи, настроенные в Cloudflare и указывающие на ваше приложение Heroku
  • Heroku, настроенный на прием трафика от всех соответствующих wildcard-записей
  • of-CORS, заполненный кандидатами внутренних доменов с некорректными настройками CORS

Делегирование полномочий DNS

Последнее, что нужно сделать для готовности развернутого of-CORS к приему трафика, — настроить приобретенные домены на использование Cloudflare в качестве авторитетных DNS-серверов. Cloudflare предоставляет подробное руководство по этому процессу здесь.

Подтверждение корректной настройки

Выполните следующие шаги, чтобы убедиться, что ваше программное обеспечение работает правильно. Для целей этого раздела мы будем использовать экземпляр of-CORS, развернутый под доменом hackersofhollywood.com.

Сначала проверим, что SOA-записи нашего домена указывают на Cloudflare:

root@kitploit:~
dig soa <domain>

Как показано ниже, SOA-записи для hackersofhollywood.com правильно указывают на серверы имен Cloudflare:

SOA-записи Hackers Of Hollywood

Затем проверим учетную запись Cloudflare, чтобы убедиться, что DNS-записи настроены как для hackersofhollywood.com, так и для *.hackersofhollywood.com с содержимым CNAME, указывающим на домены Heroku. Это делается через веб-интерфейс Cloudflare в разделе DNS:

Проверка DNS Cloudflare

Следующий шаг — подтвердить, что Heroku настроен на прием трафика через эти две CNAME-записи. Это можно сделать через веб-интерфейс Heroku в разделе Settings -> Domains:

Проверка DNS Heroku

Действительно, мы видим два доменных имени с соответствующими DNS-целями, настроенными в Heroku, и эти цели корректно отражены в CNAME-записях Cloudflare.

Затем выполните следующую команду, чтобы открыть аутентифицированный сеанс браузера на странице просмотра результатов of-CORS:

root@kitploit:~
CONFIG_FILE=<path_to_config_file> make open_heroku_console

Это должно открыть пустую панель управления в вашем браузере:

Пустая панель управления of-CORS

Наконец, можно протестировать, успешно ли запускается зондирование некорректных настроек CORS. Откройте браузер на базовом домене одной из ваших конфигураций (в нашем примере https://hackersofhollywood.com) и убедитесь, что страница перенаправляется через несколько секунд:

Страница загрузки

Теперь вернитесь на страницу панели управления, измените фильтр Success на Unknown и нажмите кнопку Submit Query. Вы должны увидеть множество результатов:

Полная панель управления

Ваша ловушка установлена! Теперь просто расслабьтесь и ждите, пока ваши жертвы наткнутся на ваш привлекательный маленький домен.

Просмотр результатов

Следующая команда используется для просмотра и запроса всех результатов в аутентифицированном сеансе браузера:

root@kitploit:~
CONFIG_FILE=<path_to_config_file> make open_heroku_console

Добавление и удаление целей

Файл конфигурации of-CORS предназначен для гибкого добавления и удаления доменов, для которых запускаются атаки. Просто обновите содержимое раздела hosts в вашем файле конфигурации и повторно запустите скрипт подготовки:

root@kitploit:~
source venv/bin/activate
CONFIG_FILE=/tmp/of_cors_config.yml make deploy_and_configure
Скачать инструмент