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

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

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

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

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

Категории

Все категории
Loading categories
DutchOven — Сетевые браунауты Windows на уровне приложения в виде нативного кода на C и BOF | Kitploit
Инструменты/GitHubGitHub/loosehose/dutchoven
Пост-эксплуатацияСетевая безопасностьRed TeamingИнженерия ХаосаСостязательная Атака
GitHubloosehose/dutchoven

DutchOven

Сетевые браунауты Windows на уровне приложения в виде нативного кода на C и BOF

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

Популярное

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

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

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

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

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

Логотип DutchOven в виде красного котелка

DutchOven

Сетевые «просадки» Windows в масштабе приложения для детерминированной проверки в ходе red-team.

Нативный C  •  Windows Filtering Platform  •  IPv4 + IPv6  •  Динамическая очистка

Читать сопроводительную публикацию в блоге →

Быстрый старт • Профили • CLI • Как это работает • Сборка • BOF • Проверка

[!CAUTION] Только контролируемые среды. Запускайте DutchOven только на системах, которыми вы владеете или на проверку которых у вас есть явное разрешение. Инструмент изменяет действующую сетевую политику Windows и требует токена с повышенными правами администратора. Перед использованием ознакомьтесь с SECURITY.md.

Что такое DutchOven?

DutchOven — намеренно небольшой примитив для red-team в Windows, который ставит явно заданные пути к исполняемым файлам за детерминированный сетевой шлюз. В течение каждого периода соответствующие приложения блокируются на ограниченный интервал, а оставшееся время им разрешается проходить.

Результат — воспроизводимая просадка (brownout), а не остановка службы или постоянное правило брандмауэра. Она создаёт контролируемый способ измерять логику повторных попыток, буферизацию, переходы состояний работоспособности, задержанную доставку и поведение при восстановлении, пока процесс остаётся живым.

Проектное решениеЦенность для оператора
Фильтры WFP в масштабе приложенияОграничивает эксперимент путями, заданными оператором
Цикл блокировки/пропуска по таймеруДаёт измеримую деградацию, а не только состояния «онлайн/офлайн»
Атомарные изменения IPv4 и IPv6Держит оба семейства адресов в одном расписании
Динамический сеанс WFPУдаляет фильтры и созданный подслой при закрытии сеанса движка
Реализация на нативном CБез зависимостей от Go, .NET, установки службы или собственного драйвера
Только явные целиБез перечисления продуктов, угадывания процессов или встроенной базы целей

DutchOven управляет авторизацией новых исходящих подключений. Существующее подключение, которое WFP уже авторизовал, не разрывается задним числом; при проверке непрерывного долгоживущего потока используйте новое канареечное подключение или независимо заставьте цель переподключиться.

Быстрый старт

Откройте окно PowerShell с повышенными правами.

Проверьте разрешённую цель и тайминг, не изменяя WFP:

.\dutchoven.exe --app 'C:\Path\To\Target.exe' --dry-run

Запустите профиль brownout по умолчанию:

.\dutchoven.exe --app 'C:\Path\To\Target.exe'

Это полный минимальный вызов. --app — единственный обязательный флаг. Профиль по умолчанию блокирует цель на 1,5 секунды в каждом 5-секундном периоде и завершается через одну минуту.

Используйте Ctrl+C для досрочной остановки. DutchOven удаляет активные фильтры перед закрытием своей сессии WFP; динамическая сессия служит страховкой для очистки, если процесс будет прерван.

Профили работы

Профили содержат готовые полезные расписания, чтобы операторам не приходилось указывать каждое значение тайминга.

ПрофильБлокировкаПропускПериодДлительностьНазначение
light0,5 с4,5 с5 с60 сНаблюдение за повторными попытками с низким воздействием
brownout1,5 с3,5 с5 с60 сСбалансированный эксперимент по умолчанию
heavy3,5 с1,5 с5 с60 сТестирование очередей и нагрузки при восстановлении
blackout5 с0 с5 с30 сКороткое ограниченное полное прерывание

Выберите профиль с помощью одного необязательного флага:

.\dutchoven.exe --app 'C:\Path\To\Target.exe' --profile heavy

Справочник по CLI

dutchoven --app <absolute.exe> [--app <absolute.exe> ...] [options]
ФлагОбязательныйОписание
--app <absolute.exe>ДаПуть к целевому исполняемому файлу; повторяйте для многопроцессных приложений
--profile <name>Нетlight, brownout, heavy или blackout
--period-ms <ms>НетПереопределить полный период блокировки/пропуска
--block-ms <ms>НетПереопределить заблокированную часть каждого периода
--duration-ms <ms>НетПереопределить ограниченное общее время выполнения
--warmup-ms <ms>НетРазрешить трафик до первого интервала блокировки
--dry-runНетПроверить и вывести конфигурацию без открытия WFP
--jsonНетВыводить конфигурацию и переходы состояний в формате JSON Lines
--helpНетВывести справку по команде

Выведите версию сборки с помощью dutchoven version.

Расширенные флаги таймингов переопределяют выбранный профиль независимо от порядка аргументов:

.\dutchoven.exe `
  --app 'C:\Path\To\Target.exe' `
  --period-ms 8000 `
  --block-ms 2000 `
  --duration-ms 120000 `
  --warmup-ms 5000

Строки JSON предназначены для тестовых стендов и сбора доказательств:

.\dutchoven.exe --app 'C:\Path\To\Target.exe' --profile heavy --json

Ограничения по времени обеспечиваются парсером:

  • Период: 100–60000 ms
  • Блок: от 1 ms до полного периода
  • Длительность: не менее одного периода, не более 900000 ms (15 минут)
  • Прогрев: не более 60000 ms
  • Цели: не более 16 явных локальных путей к исполняемым файлам

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

explicit executable path
          │
          ▼
   WFP application ID
          │
          ├── ALE_AUTH_CONNECT_V4 ──┐
          └── ALE_AUTH_CONNECT_V6 ──┤── BLOCK / PASS schedule
                                    │
                                    └── dynamic WFP session cleanup
  1. DutchOven преобразует каждый переданный исполняемый файл в идентификатор приложения WFP.
  2. Он открывает неперсистентный динамический сеанс движка WFP и создаёт сгенерированный подслой.
  3. В начале интервала блокировки фильтры IPv4 и IPv6 добавляются в одной транзакции.
  4. В начале интервала пропуска эти фильтры удаляются в одной транзакции.
  5. При завершении или нормальном прерывании DutchOven удаляет все активные фильтры и закрывает движок.

Цели Windows разрешаются как Unicode и канонизируются до их длинного пути, прежде чем DutchOven запрашивает у WFP идентификатор приложения. Это предотвращает ситуацию, когда псевдоним пути в формате 8.3, такой как ADMINI~1, незаметно создаёт фильтр, который не может сопоставиться с длинной формой идентификатора образа процесса.

Консоль выводит переходы состояний с отметками времени по настенным часам и относительно расписания:

Targets: 1
  C:\Path\To\Target.exe
Schedule: block=1500ms pass=3500ms period=5000ms duration=60000ms warmup=0ms
Profile: brownout
Mode: brownout
BLOCK cycle=1 filters=2 wall_ms=1786973903811 elapsed_ms=0
PASS cycle=1 wall_ms=1786973908813 elapsed_ms=5000
...
CLEAN filters=0 session=closed cycles=12 wall_ms=1786973963812 elapsed_ms=60000

Сборка

Сборка по умолчанию для Linux проверяет поведение парсинга и пробного запуска. Для работы с живым шлюзом WFP требуется нативная кросс-сборка под Windows.

make check
make release
Скачать инструмент