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

Faking

Вкладка Faking содержит методы отправки ложных пакетов и модификации реальных пакетов для обмана DPI. Каждая секция - отдельный аккордеон в интерфейсе.

Подробнее о типах пэйлоадов и их генерации - в разделе Пэйлоады.

Фейковые SNI-пакеты

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

Стратегия фейка

Определяет, как фейковый пакет станет необрабатываемым для сервера:

СтратегияМеханизм
TTLЗаниженный TTL - пакет истекает на промежуточном узле и не доходит до сервера
Random SequenceСлучайный TCP sequence number - сервер отбрасывает пакет с неожиданным seq
Past SequenceПрошедший sequence number - сервер уже обработал этот seq, повторный игнорирует
TCP CheckНеверная контрольная сумма TCP - ядро сервера отбрасывает пакет до обработки
MD5 SumTCP MD5-опция - сервер без настроенного MD5 отбрасывает пакет
TCP TimestampУстаревший TCP timestamp - сервер отбрасывает пакет с timestamp в далёком прошлом

Тип пэйлоада

Содержимое фейкового пакета. Подробное описание всех типов - в разделе Пэйлоады.

ТипСодержимое
Случайное1200 случайных байтов
Пресет: GoogleTLS ClientHello от имени Google
Пресет: DuckDuckGoTLS ClientHello от имени DuckDuckGo
Сгенерированный payloadОптимизированный ClientHello из раздела Настройки → Пэйлоады
Все нули1200 нулевых байтов
Инвертированный оригиналПобитовая инверсия реального TLS-пакета
Сгенерированные пэйлоады

Если в списке нет доступных пэйлоадов - сначала сгенерируйте их в Настройки → Пэйлоады.

Параметры

ПараметрОписаниеДиапазон
TTL фейкаTTL для фейковых пакетов. Должен быть достаточным, чтобы пакет дошёл до DPI, но истёк до сервера1–64
Смещение SequenceСдвиг TCP sequence number (для стратегий pastseq/randseq)-
Уменьшение TimestampВеличина уменьшения TCP timestamp (для стратегии timestamp, по умолчанию 600000)-
Количество фейковых пакетовСколько фейковых пакетов отправить перед реальными данными1–20
Подбор TTL

Правильный TTL зависит от количества сетевых узлов между вами и провайдерским DPI. Дискавери подбирает TTL автоматически. При ручной настройке начните с 3 и корректируйте.

TLS-модификации фейковых пакетов

Если тип пэйлоада содержит TLS-структуру (не случайное и не нули), доступны дополнительные модификации фейкового ClientHello:

ПараметрОписание
Рандомизация TLS RandomЗаменяет 32-байтовое поле Random в фейковом ClientHello случайными байтами. Без этого DPI может заметить, что поле Random одинаковое в фейке и реальном пакете
Дублировать Session IDКопирует Session ID из реального ClientHello в фейковый. DPI может отслеживать Session ID для связки пакетов

Фейковые SYN-пакеты

Отправляет фейковые SYN-пакеты во время TCP-рукопожатия - до начала реального соединения. Запутывает DPI ещё до того, как соединение установлено.

warning

Это агрессивная техника - фейковые SYN могут влиять на работу некоторых сетевых устройств.

ПараметрОписаниеДиапазон
SYN MD5 SignatureОтправить фейковый SYN с опцией TCP MD5 перед реальным рукопожатием-
Длина payloadРазмер данных в фейковом SYN. 0 = только заголовок, >0 = добавить фейковый TLS payload0–1200
TTLTTL для фейковых SYN-пакетов1–100

TCP Desync

Десинхронизация внедряет фейковые TCP управляющие пакеты (RST/FIN/ACK) с повреждёнными контрольными суммами и низким TTL. Эти пакеты путают DPI с отслеживанием состояния, но отбрасываются реальным сервером.

Режим Desync

РежимЧто отправляет
RSTФейковые RST-пакеты с неверными контрольными суммами - DPI считает соединение разорванным
FINФейковые FIN-пакеты с прошлыми sequence numbers - DPI считает соединение завершённым
ACKФейковые ACK-пакеты со случайными будущими sequence/ack numbers - DPI теряет состояние
ComboПоследовательность RST + FIN + ACK
FullПолная атака: фейковый SYN, перекрывающиеся RST, PSH и URG пакеты

Параметры Desync

ПараметрОписаниеДиапазон
TTL DesyncНизкий TTL гарантирует истечение фейковых пакетов до сервера1–50
Количество пакетовКоличество фейковых пакетов на одну атаку десинхронизации1–20
Post-ClientHello RSTОтправить фейковый RST после ClientHello для удаления соединения из таблицы отслеживания DPI-

Манипуляция окном

Отправляет фейковые ACK-пакеты с изменёнными размерами TCP-окна перед реальным пакетом. Фейки используют низкий TTL - они истекают до сервера, но путают DPI на промежуточных узлах.

РежимОписание
Нулевое окноФейковые пакеты: сначала window=0, затем window=65535
Случайное3–5 фейковых пакетов со случайными размерами окна из заданного списка
ОсцилляцияЦиклический перебор пользовательских значений окна
ЭскалацияПостепенное увеличение: 0 → 100 → 500 → 1460 → 8192 → 32768 → 65535

При режимах Случайное и Осцилляция можно задать свой список значений окна (0–65535). Если список пуст - используются значения по умолчанию.


Обход входящих ответов (Incoming)

Манипулирует входящими ответами сервера. Используется для обхода DPI, который дросселирует (замедляет) соединения после получения определённого объёма данных (~15–20 КБ). b4 вбрасывает фейковые пакеты к серверу, которые DPI видит, но они не доходят до назначения.

Режим

РежимОписание
Фейковые пакетыВнедрение повреждённых ACK-пакетов к серверу с низким TTL на каждый входящий пакет данных
Внедрение ResetВнедрение фейковых RST-пакетов при достижении порога входящих байтов
Внедрение FINВнедрение фейковых FIN-пакетов при достижении порога
Desync ComboВнедрение RST+FIN+ACK combo при достижении порога

Стратегия повреждения

Определяет, как фейковый пакет станет необрабатываемым:

СтратегияОписание
Bad ChecksumПовреждение контрольной суммы TCP - пакеты отбрасываются ядром
Bad SequenceПовреждение sequence number - пакеты игнорируются TCP-стеком
Bad ACKПовреждение ACK number - пакеты игнорируются TCP-стеком
RandomСлучайный выбор метода для каждого пакета
AllВсе повреждения одновременно: bad seq + bad ack + bad checksum

Параметры Incoming

ПараметрОписаниеДиапазон
TTL фейкаНизкий TTL гарантирует истечение фейков до сервера1–20
Количество фейковКоличество фейковых пакетов на одну инжекцию1–10
Порог мин.Минимальный объём входящих данных для срабатывания (КБ)5–50
Порог макс.Максимальный порог - рандомизируется между мин. и макс. для каждого соединения5–50
Пороги и режим Fake

В режиме Фейковые пакеты пороги не используются - фейки отправляются на каждый входящий пакет. Пороги работают только в режимах Reset, FIN и Desync Combo.


Мутация ClientHello

Изменение структуры TLS ClientHello настоящего пакета (не фейкового). Рандомизирует порядок расширений и добавляет шум - чтобы ClientHello не совпадал с известными DPI сигнатурами.

Мутация изменяет настоящий пакет

В отличие от остальных секций на этой вкладке, мутация модифицирует реальный ClientHello, который дойдёт до сервера. Если сайт перестал работать после включения мутации - отключите её.

Режим мутации

РежимОписание
GREASE ExtensionsВставить GREASE-расширения для обмана DPI
PaddingДобавить расширение padding до целевого размера
Fake ExtensionsВставить фейковые/неизвестные TLS-расширения
Fake SNIsДобавить дополнительные фейковые записи SNI
RandomРандомизировать порядок расширений и добавить шум
AdvancedКомбинация нескольких техник мутации с ручной настройкой

Параметры по режимам

GREASE:

ПараметрОписаниеДиапазон
Количество GREASEСколько GREASE-расширений вставить1–10

Padding:

ПараметрОписаниеДиапазон
Размер PaddingЦелевой размер ClientHello с padding256–16384 байт

Fake Extensions:

ПараметрОписаниеДиапазон
Количество Fake ExtensionsСколько фейковых TLS-расширений вставить1–15

Fake SNIs:

Добавляет дополнительные значения SNI в ClientHello. Введите домены (например, ya.ru, vk.com) - они будут внедрены в расширение SNI наряду с реальным доменом.

Advanced включает все параметры выше для ручной комбинации.