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

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

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

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

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

Категории

Все категории
Loading categories
burner-net — HTTP-клиент с нулевым доверием и анти-форензикой. Уничтожает секреты. Обрывает следы. CPR в стелс-танке. 👻 | Kitploit
Инструменты/GitHubGitHub/krixx1337/burner-net
Оборонительные ИнструментыИнструменты шифрования/дешифрованияОбход IDS/IPSЭксфильтрация данныхВеб-безопасностьСетевая безопасностьКонфиденциальностьУтилиты и фреймворкиАутентификацияАнти-Бот
GitHubkrixx1337/burner-net
292327 дней назадПроверено Kitploit

Популярное

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

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

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

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

Смотреть все инструменты →

burner-net

HTTP-клиент с нулевым доверием и анти-форензикой. Уничтожает секреты. Обрывает следы. CPR в стелс-танке. 👻

Репозиторий
Поделиться
# BurnerNet

**HTTP-клиент с нулевым доверием и антифорензикой. Стирает секреты. Уничтожает следы. Реанимация в стелс-танке. 👻**

BurnerNet — это **антифорензический HTTP-клиент** на C++20. Он предоставляет плавный, CPR-подобный API для приложений, которые не могут полностью доверять локальной машине, физически стирая секреты из ОЗУ и разрывая следы выполнения, чтобы скрыть вашу логику от сканеров и отладчиков.

Он предлагает знакомые, совместимые с хостом настройки по умолчанию для обычного HTTP и явный профиль Hardened для враждебных сред. Оба пути отдают предпочтение недолговечным клиентам; расширенное доверие остаётся на стороне приложения.

Ищете защиту полезных нагрузок, загруженных BurnerNet? Ознакомьтесь с [RipStop Codec](https://github.com/Krixx1337/ripstop-codec) для дешифровки активов в памяти.

[Принципы](https://github.com/krixx1337/burner-net/blob/main/PRINCIPLES.md) • [Начало работы](#getting-started) • [Способы интеграции](#integration-paths) • [Реалии безопасности](#security-reality--the-white-box-defense)

## Краткий обзор

| Область | BurnerNet |
| :--- | :--- |
| **Язык** | C++20 |
| **Платформа** | Windows x64/x86 (**Первый класс**), Linux (Проверено) |
| **Транспорт** | HTTP(S) на базе `libcurl` |
| **Гигиена памяти** | Утилиты безопасного стирания и распределители с затиранием |
| **Форензическая гигиена** | Автоматическая очистка кучи/стека на всём протяжении управляемого BurnerNet транспортного состояния |
| **Динамический анализ** | Изоляция стека вызовов может разорвать связь между потребителем и транспортом |
| **Укрепление сборки** | Опциональное удаление диагностических строк, обфусцированные литералы, уменьшение метаданных среды выполнения C++ в укреплённых сборках |
| **Укрепление выполнения** | Поддержка DoH, поставщики секретов и более строгие элементы управления доверием |
| **Интеграция** | CMake или Visual Studio — добавление исходников |

## Зачем это использовать

Используйте BurnerNet, когда обычный HTTP-клиент слишком доверчив для вашего окружения.

Он помогает, когда вы хотите:
- сделать клиенты запросов недолговечными вместо единого глобального транспорта
- уменьшить зависимость от локального DNS и других настроек хоста по умолчанию
- получать токены, сертификаты и секреты проверки только по мере необходимости
- оставить логику проверки ответов в собственном коде приложения
- уменьшить количество открытых строковых констант и метаданных в укреплённых сборках

## Для кого это

BurnerNet подходит для таких проектов, как:
- Windows-приложения на рабочем столе с запросами высокой ценности (аутентификация, лицензирование, обновления)
- встраиваемый или инжектированный код, выполняющийся в хосте, которому вы не до конца доверяете
- инструменты, которым нужны более строгие транспортные проверки без отказа от удобного C++ API

## Стандартный стек против BurnerNet

| Аспект | Типичный HTTP-стек | BurnerNet |
| :--- | :--- | :--- |
| **Время жизни клиента** | Часто общий и долгоживущий | Предназначен для одноразовых клиентов и всплесковых задач |
| **Чувствительные значения** | Секреты часто находятся в конфиге или памяти дольше необходимого | Обратные вызовы поставщиков получают их непосредственно перед использованием |
| **DNS и доверие** | Обычно наследует локальный резолвер и настройки хоста | Поддерживает более строгие элементы управления доверием, включая DoH и закреплённые ключи |
| **Проверка** | Специфичные для приложения проверки целостности часто добавляются позже | Создан для работы с хуками предварительной проверки, транспортной проверки и проверки ответов |

## Оборонительные результаты

- **Архитектура памяти "Zero-Ghost"**: BurnerNet использует собственный **префиксно-размерный очиститель** для перехвата внутренних путей выделения памяти в `libcurl` и потоках OpenSSL. Чувствительные транспортные буферы стираются, когда покидают управляемый BurnerNet жизненный цикл. **Эта гигиена проверена как на Windows, так и на Linux в рамках аудируемых конфигураций, описанных в документации.**
- **Затирание кадров стека**: После каждого запроса библиотека активно очищает собственный стек потока (очистка по отметке верхнего уровня воды). Это предназначено для уничтожения эфемерных транспортных фрагментов до возврата управления вашему приложению.
- **Динамическая куча**: Сочетание одноразовых транспортов и выровненных заголовков метаданных создаёт высокую дисперсию адресного пространства, делая память процесса непредсказуемой и устойчивой к стабильному отображению указателей.
- **Недолговечное состояние запроса**: BurnerNet спроектирован вокруг одноразовых клиентов вместо общепроцессных синглтонов-транспортов.
- **Меньше доверия к хосту**: Поддержка DoH, закреплённых ключей и аудит транспорта помогают снизить зависимость от скомпрометированных локальных настроек.
- **Меньшая открытость текстовых данных**: Обратные вызовы поставщиков и утилиты безопасного стирания сокращают время жизни сертификатов, ключей, токенов и других чувствительных буферов.
- **Проверка, принадлежащая приложению**: Проверка ответов остаётся в вашем коде через `WithResponseVerifier(...)` вместо того, чтобы быть жёстко закодированной в общей библиотеке.
- **Усложнение статического снятия отпечатков**: Укреплённые сборки могут установить `BURNERNET_DIAGNOSTIC_STRINGS=0`, чтобы `ErrorCodeToString(...)` возвращала стабильные значения `E<number>` без встраивания символьных имён ошибок.
- **Варианты развёртывания с лёгким импортом**: `BURNERNET_HARDEN_IMPORTS=1` может динамически разрешать зависимости среды выполнения вместо прямого объявления их в таблице импорта, используя путь `KernelResolver` BurnerNet в Windows.
- **Изоляция стека вызовов (асинхронная передача)**: При включении через `.WithStackIsolation(true)` библиотека выполняет жизненный цикл транспорта на отдельном рабочем потоке. Это может физически разорвать стек вызовов вызывающей стороны и уменьшить прямое нисходящее отслеживание логики приложения.

## Подтверждённая скрытность

BurnerNet не просто заявляет о режиме укрепления с лёгким импортом; он также поставляется с примечаниями аудита для конкретных протестированных конфигураций. В аудите Windows x64 Release с `BURNERNET_HARDEN_IMPORTS=ON`:

- **Затемнение IAT**: В аудируемом бинарном файле не было обнаружено записей для `libcurl.dll`, `ws2_32.dll`, `bcrypt.dll` или `crypt32.dll`.
- **Темнота памяти**: Судебные сканы (Cheat Engine "All Strings") не смогли обнаружить чувствительные канальные URL или заголовки в куче или стеке процесса.
- **Слепота отладчика**: Интегрированные тесты подтверждают, что библиотека вызывает «Сдвиг идентичности». Лицо, принимающее решения (ваше приложение), и Транспортёр (BurnerNet) работают на разных идентификаторах потоков, уменьшая нисходящее отслеживание во время сеансов живой отладки.
- **Шум против сигнала**: Библиотека стремится к судебной гигиене в рамках своих полномочий по стиранию, признавая оставшиеся системные «тени» в ОС и среде выполнения.

Подробности аудита и методология:
- [docs/BINARY_STEALTH_AUDIT.md](https://github.com/krixx1337/burner-net/blob/main/docs/BINARY_STEALTH_AUDIT.md)

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

Самый быстрый путь:
- Добавьте BurnerNet в свою сборку через CMake или Visual Studio source-drop.
- Включите `<burner/net.h>`.
- Создайте стековый клиент, отправьте запрос, затем дайте ему выйти из области видимости.

Минимальный пример:

```cpp
#include <iostream>

#include <burner/net.h>

int main() {
    burner::net::Client client;
    if (!client.IsReady()) {
        std::cerr << burner::net::ErrorCodeToString(client.InitError()) << '\n';
        return 1;
    }

    const auto response = client
        .Get("https://example.com")
        .WithHeader("Accept", "text/html")
        .WithTimeoutSeconds(10)
        .Send();

    if (!response.TransportOk()) {
        std::cerr << burner::net::ErrorCodeToString(response.transport_error) << '\n';
        return 1;
    }

    std::cout << "HTTP " << response.status_code << '\n';
    return 0;
}
```

`Client` использует стандартные настройки: системный CA, DNS и прокси с включённой проверкой однорангового узла и имени хоста через TLS. `WithCasualDefaults()` остаётся доступным как псевдоним совместимости со Standard.

Для критического с точки зрения безопасности трафика используйте профиль Hardened. `Build()` отклоняет отсутствующие элементы управления перед любым запросом:

```cpp
auto secure = burner::net::ClientBuilder(burner::net::ClientProfile::Hardened)
    .WithMtlsProvider(ProvideMtlsCredentials)
    .WithSecurityPolicy(AppSecurityPolicy{})
    .WithDnsFallback(burner::net::DnsMode::Doh,
                     "https://resolver.example/dns-query",
                     "Primary DoH")
    .AllowSystemDns(true) // явный резерв, после DoH
    .WithResponseVerifier(VerifySignedResponse)
    .Build();
```

Hardened требует проверки однорангового узла и имени хоста, изоляции стека, маршрутизации через DoH в первую очередь, проверщика ответов приложения и точки доверия, принадлежащей приложению. Постоянные учётные данные `WithMtls(...)` отклоняются; используйте `WithMtlsProvider(...)`.

## Способы интеграции

### 1. Стандартный CMake

Используйте это, если ваш downstream-проект уже использует CMake и вы хотите самый чистый путь с управлением зависимостями.

Документация:
- [docs/CMAKE_INTEGRATION.md](https://github.com/krixx1337/burner-net/blob/main/docs/CMAKE_INTEGRATION.md)
- [examples/cmake-consumer/README.md](https://github.com/krixx1337/burner-net/blob/main/examples/cmake-consumer/README.md)

### 2. Visual Studio Source-Drop

Используйте это, если ваша среда ориентирована на MSBuild или вы хотите, чтобы BurnerNet компилировался непосредственно внутри вашего `.vcxproj`.

Документация:
- [docs/VISUAL_STUDIO_INTEGRATION.md](https://github.com/krixx1337/burner-net/blob/main/docs/VISUAL_STUDIO_INTEGRATION.md)
- [examples/vs-consumer/README.md](https://github.com/krixx1337/burner-net/blob/main/examples/vs-consumer/README.md)

### 3. Укреплённые импорты среды выполнения

Используйте это, если вы хотите уменьшить очевидное воздействие зависимостей среды выполнения и готовы явно управлять загрузкой начальной загрузки.

Включите:
- `BURNERNET_HARDEN_IMPORTS=1`
- Использует путь `KernelResolver` BurnerNet в Windows для поддержки более лёгкого по импорту следа среды выполнения

Ссылки:
- [docs/USAGE_BEST_PRACTICES.md](https://github.com/krixx1337/burner-net/blob/main/docs/USAGE_BEST_PRACTICES.md)
- [docs/CMAKE_INTEGRATION.md](https://github.com/krixx1337/burner-net/blob/main/docs/CMAKE_INTEGRATION.md)
- [docs/VISUAL_STUDIO_INTEGRATION.md](https://github.com/krixx1337/burner-net/blob/main/docs/VISUAL_STUDIO_INTEGRATION.md)

> **Поддержка Linux:** BurnerNet обеспечивает полную судебную паритетность (стирание памяти и изоляцию стека) в Linux. См. [docs/LINUX_USAGE.md](https://github.com/krixx1337/burner-net/blob/main/docs/LINUX_USAGE.md) для инструкций по сборке.

## Примечания по использованию

Рекомендуемые настройки по умолчанию:
- рассматривать клиентов как одноразовые транспорты
- разделять трафик с высоким и низким доверием на разные клиенты
- использовать обратные вызовы поставщиков для материала mTLS, токенов-носителей и секретов проверки ответов
- оставлять бизнес-правила и точки доверия в вашем приложении

## Примеры и документация

Примеры:
- [examples/01_basic_usage.cpp](https://github.com/krixx1337/burner-net/blob/main/examples/01_basic_usage.cpp)
- [examples/02_zero_trust_pipeline.cpp](https://github.com/krixx1337/burner-net/blob/main/examples/02_zero_trust_pipeline.cpp)
- [examples/03_custom_security_policy.cpp](https://github.com/krixx1337/burner-net/blob/main/examples/03_custom_security_policy.cpp)
- [examples/04_bootstrap_runtime.cpp](https://github.com/krixx1337/burner-net/blob/main/examples/04_bootstrap_runtime.cpp)
- [examples/05_mtls_usage.cpp](https://github.com/krixx1337/burner-net/blob/main/examples/05_mtls_usage.cpp)
- [examples/06_hmac_custom_verifier.cpp](https://github.com/krixx1337/burner-net/blob/main/examples/06_hmac_custom_verifier.cpp)

Документация:
- [PRINCIPLES.md](https://github.com/krixx1337/burner-net/blob/main/PRINCIPLES.md)
- [docs/USAGE_BEST_PRACTICES.md](https://github.com/krixx1337/burner-net/blob/main/docs/USAGE_BEST_PRACTICES.md)
- [docs/CMAKE_INTEGRATION.md](https://github.com/krixx1337/burner-net/blob/main/docs/CMAKE_INTEGRATION.md)
- [docs/VISUAL_STUDIO_INTEGRATION.md](https://github.com/krixx1337/burner-net/blob/main/docs/VISUAL_STUDIO_INTEGRATION.md)
- [docs/LINUX_USAGE.md](https://github.com/krixx1337/burner-net/blob/main/docs/LINUX_USAGE.md)

## Требования

- C++20
- Windows x64/x86 или Linux (GCC 13+ / Clang 15+)
- `libcurl` 7.87.0+ и заголовки `OpenSSL`
- **Руководство для Linux:** См. [docs/LINUX_USAGE.md](https://github.com/krixx1337/burner-net/blob/main/docs/LINUX_USAGE.md)

## Реалии безопасности и защита "Белого ящика"

BurnerNet — это уровень укрепления, предназначенный для повышения стоимости атаки до профессионального уровня. Мы исходим из принципа, что **скрытность должна быть архитектурной, а не просто поверхностной.**

**Может ли злоумышленник обойти BurnerNet, имея исходный код?**
Знание исходного кода BurnerNet само по себе не является мастер-ключом к каждому downstream-приложению. BurnerNet следует принципу Керкгоффса: библиотека спроектирована так, чтобы ваши специфичные для приложения точки доверия (секреты HMAC, закреплённые ключи, логика UI, политики) оставались в собственности приложения. Знание транспортного уровня не даёт автоматического универсального обхода вашего конкретного потока безопасности.

- **Скрытность как задержка:** Укрепление вынуждает злоумышленников покидать стандартные удобные инструменты и переходить к утомительному анализу на уровне инструкций.
- **Данные как корень:** Используйте **Функциональную зависимость** (Принцип 6), чтобы ваше приложение было буквально сломано без данных, предоставляемых сервером.
- **Преимущество призрака:** К тому времени, как злоумышленник найдёт вашу логику запроса, **Изоляция стека** и **Стирание памяти** уже уничтожат нужные им судебные доказательства.
Скачать инструмент