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

Библиотека

Раздел Библиотека предназначен для конфигурации агентов и объектов, которые используются при создании задач генерации трафика: сети, MAC-адреса, сертификаты, туннели, словари, файлы, PCAP, CVE, вредоносные пакеты, сценарии C2 и динамические приложения.

Объекты библиотеки выбираются в конструкторе задачи. После загрузки файлов (PCAP, PTI, пользовательские файлы) выполните Настройки → Синхронизация, чтобы агенты получили недостающие объекты.

Меню библиотеки Пересвет-СТ 2.1

Рис. 3 — Разделы библиотеки

Агенты

Агент — это программно-аппаратное средство, генерирующее трафик по заданным параметрам, и может быть представлен в виде сервера или виртуальной машины.

Рис. 5 — Раздел «Агенты»

Рис. 5 — Раздел «Агенты» в библиотеке

Добавление лицензии для агента

Для добавления лицензии на агент необходимо следующее:

  1. Перейти во вкладку Библиотека → Агенты;

  2. Найти нужный агент и нажать на кнопку мета-данные агента в строке нужного агента и выбрать окно «Сведения»;

  3. Откроется окно с метаданными агента (пример представлен на Рис. 7). В этом окне необходимо скопировать HWID агента;

Рис. 7 — Сведения агента и лицензия

Рис. 7 — Окно «Сведения агента» и загрузка лицензии

  1. Далее необходимо направить электронное письмо с HWID агента на почту support@peresvet.it с указанием юридического лица и контактных данных;

  2. Далее в ответ на письмо с HWID агента будет передан файл с лицензией;

  3. Для того, чтобы загрузить лицензию необходимо нажать на кнопку мета-данные агента в строке нужного агента и выбрать окно «Загрузить лицензию»;

  4. Далее нажмите на кнопку «Просмотр файлов» и выберите файл лицензии в окне поиска файлов или перетащите в файл в область, выделенную пунктиром;

  5. После загрузки файла с лицензией в контроллер, нажмите кнопку «Загрузить на агента»;

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

Сети

Данный раздел необходим для создания объектов, которые будут использоваться в профилях генерации трафика.
Объекты сети делятся на 2 типа:

  • Отправитель - данный объект будет использоваться в плагинах генерации трафика как «Отправитель».

  • Получатель - данный объект будет использоваться в плагинах генерации трафика как «Получатель».

Объект типа отправитель делится на 2 типа:

  • Выключенный спуффинг по паттерну - данный объект будет использоваться в Stateful плагинах.

  • Включенный спуффинг по паттерну - данный объект будет использоваться в Stateless плагинах.

Политика MAC (MAC policy)

Для сетей отправителя можно задать, как IP-адресам соответствуют MAC-адреса на порту агента.

Рис. 8 — Настройки MAC policy

Рис. 8 — Блок «Настройки MAC» при создании/редактировании сети

НазваниеОписаниеЗначение
Базовый MACАвтоматический с порта или настраиваемый из библиотеки MACВыберите режим
Распределение по IPЕдиный MAC / Инкремент / ДекрементРежим генерации
MAC из библиотекиБазовый адрес при настраиваемом режимеОбъект из вкладки MAC-адреса
ШагШаг инкремента/декремента≥ 1
Настроить соответствие IP и MACPreview таблицы IP→MAC с возможностью overrideПосле выбора подсети

Точные MAC рассчитываются после выбора агента и сетевого интерфейса в задаче. Preview показывает окно соответствий (лимит строк на запрос) и позволяет сбросить override к генерации.

Добавление сети типа «отправителя» для Stateful плагинов

Для того, чтобы создать объект типа «отправитель» для Stateful плагинов необходимо:

  1. Перейти в раздел Библиотека → Сети;

  2. Далее нажать на кнопку «+ Создать сеть» (см. Рис. 8);

Рис. 9 — Вкладка «Сети»

Рис. 9 — Вкладка «Сети»

  1. Заполнить поля, описание которых находится в Табл. 1;

    Табл. 1 – Поля для создания объекта типа «отправитель» для Stateful плагина | Название | Описание | Значение | | ----- | ----- | ----- | | Название сети | Название объекта, которое будет использоваться в настройках плагинов | Заполнить название сети | | Тип сети | Отправитель – данный объект будет использоваться в плагинах генерации трафика как «отправитель». Получатель – данный объект будет использоваться в плагинах генерации трафика как «получатель». | Отправитель | | Спуфинг по паттерну | Включение генерации IP-адресов по определенному паттерну, указанному в следующем поле. | Выключен (например, если включить: паттерн 10.10.10.-190 / для IPv6 2001:db8:10:10::-190) | | Подсеть | IP-адреса из данной подсети будут использоваться в качестве «отправителя» при отправлении пакета. | IPv4: 10.10.10.0/24 / IPv6: 2001:db8:10:10::/64 | | Исключенные адреса | Для вышеуказанной подсети Пересвет-СТ предложит выбрать адреса, которые будут исключаться при отправке пакетов (необходимо выбрать занятые другими устройствами адреса, чтобы избежать перезаписи ARP-таблиц). | IPv4: 10.10.10.1, 10.10.10.2, 10.10.10.100 / IPv6: 2001:db8:10:10::1, 2001:db8:10:10::2, 2001:db8:10:10::100 | | Шлюз | IP-адрес устройства, которое будет использоваться для соединения подсети, указанной выше, и той, что будет указана в рамках плагина в качестве «получателя», обеспечивая передачу данных между ними. | IPv4: 10.10.10.1 / IPv6: 2001:db8:10:10::1 |

  2. Далее, для создания сети необходимо нажать на кнопку «Применить»;

Добавление сети типа «отправителя» для Stateless плагинов

Для того, чтобы создать объект типа «отправитель» для Stateless плагинов необходимо:

  1. Перейти в раздел Библиотека → Сети;

  2. Далее нажать на кнопку «+ Создать сеть» (см. Рис. 8);

  3. Заполнить поля, описание которых находится в Табл. 2;

    Табл. 2 – Поля для создания объекта типа «отправитель» для Stateless плагина | Название | Описание | Значение | | ----- | ----- | ----- | | Название сети | Название объекта, которое будет использоваться в настройках плагинов | Заполнить название сети | | Тип сети | Отправитель – данный объект будет использоваться в плагинах генерации трафика как «отправитель» Получатель – данный объект будет использоваться в плагинах генерации трафика как «Получатель» | Отправитель | | Спуфинг по паттерну | Включение генерации IP-адресов по определенному паттерну, указанному в следующем поле. | Тумблер включен | | Паттерн | Паттерн, по которому будут генерироваться IP-адреса, которые будут использоваться в качестве «отправителя» при отправлении пакета. | Заполните поле в формате Х.*.*.*, где Х – Этот октет всегда должен быть числом. В контексте IPv4 это число должно находиться в диапазоне от 0 до 255. Например, допустимыми значениями могут быть 0, 1, 2, ..., 255. Остальные три октета (*.*.*): Каждый из этих октетов может быть либо числом в диапазоне от 0 до 255, либо символом *, который обозначает, что в этом месте может находиться любое число от 0 до 255. Пример: 192.*.*.* — первый октет фиксирован (192), остальные могут быть любыми числами от 0 до 255. 10.0.*.* — первый октет фиксирован (10), второй фиксирован (0), а третий и четвертый могут принимать любые значения. 172.16.5.100 — конкретный IP-адрес, где все октеты заданы числами. | | Адрес сервера | IP-адрес с которого агент будет обмениваются информацией о своих IP и MAC-адресах. | Укажите IP-адрес (например, 10.10.10.2) | | Шлюз | IP-адрес устройства, которое будет использоваться для соединения подсети, указанной выше, и той, что будет указана в рамках плагина в качестве «получателя», обеспечивая передачу данных между ними. | Укажите IP-адрес (например, 10.10.10.1) |

  4. Далее, для создания сети необходимо нажать на кнопку «Применить».

Добавление сети типа «получателя»

Для того, чтобы создать объект типа «получатель» необходимо:

  1. Перейти в раздел Библиотека → Сети;

  2. Далее нажать на кнопку «+ Создать сеть» (см. Рис. 8);

  3. Заполнить поля, описание которых находится в Табл. 3;

    Табл. 3 – Поля для создания объекта типа «получатель» | Название | Описание | Значение | | ----- | ----- | ----- | | Название сети | Название обьекта, которое будет использоваться в настройках плагинов | Заполнить название сети | | Тип сети | Отправитель – данный объект будет использоваться в плагинах генерации трафика как «отправитель» Получатель – данный объект будет использоваться в плагинах генерации трафика как «Получатель» | Получатель | | Подсеть | IP-адреса из данной подсети будут использоваться в качестве «получателя» при отправлении пакета. | Заполните поле в формате CIDR (например, 10.10.10.10 или 10.10.10.0/24) | | Исключенные адреса | Для вышеуказанной подсети Пересвет-СТ предложит выбрать адреса, которые будут исключаться при отправке пакетов | выберите адреса из списка | | Порты | Поле «Порты» отвечает за указание конкретных сетевых портов, через которые будет происходить обмен данными в рамках данной сети или подключения. | Перечислите числовые порты (например, 80 или 80,81,82 и тд.) |

  4. Далее, для создания сети необходимо нажать на кнопку «Применить».

MAC-адреса

Данный раздел необходим для создания объектов, которые будут использоваться в профилях генерации трафика.
Объекты сети делятся на 2 типа:

  • Отправитель - данный объект будет использоваться в плагинах генерации трафика как «Отправитель».

  • Получатель - данный объект будет использоваться в плагинах генерации трафика как «Получатель».

Добавление MAC-адреса типа «отправителя»

Для того, чтобы создать объект типа «отправителя» необходимо:

  1. Перейти в раздел Библиотека → MAC-адреса;

  2. Далее нажать на кнопку «+ Создать MAC-адрес» (см. Рис. 9);

Рис. 10 — Вкладка «MAC-адреса»

Рис. 10 — Вкладка «MAC-адреса»

  1. Заполнить поля, описание которых находится в Табл. 4;

    Табл. 4 – Поля для создания объекта «MAC-адреса» типа «отправитель» | Название | Описание | Значение | | ----- | ----- | ----- | | Название MAC-адреса | Название обьекта, которое будет использоваться в настройках плагинов | Заполнить название MAC-адреса | | Тип MAC-адреса | Отправитель – данный объект будет использоваться в плагинах генерации трафика как «отправитель» Получатель – данный объект будет использоваться в плагинах генерации трафика как «Получатель» | Отправитель | | MAC-адрес | Значение MAC-адреса, которое будет использоваться в качестве «отправителя» при отправлении пакета. | В это поле вводится значение MAC-адреса устройства в стандартном формате (например, AB:CD:EF:12:34:56) |

Добавление MAC-адреса типа «получателя»

Для того, чтобы создать объект типа «получателя» необходимо:

  1. Перейти в раздел Библиотека → MAC-адреса;

  2. Далее нажать на кнопку «+ Создать MAC-адрес» (см. Рис. 9);

  3. Заполнить поля, описание которых находится в Табл. 5.

    Табл. 5 – Поля для создания объекта «MAC-адреса» типа «отправитель» | Название | Описание | Значение | | ----- | ----- | ----- | | Название MAC-адреса | Название обьекта, которое будет использоваться в настройках плагинов | Заполнить название MAC-адреса | | Тип MAC-адреса | Отправитель – данный объект будет использоваться в плагинах генерации трафика как «отправитель» Получатель – данный объект будет использоваться в плагинах генерации трафика как «Получатель» | Получатель | | MAC-адрес | Значение MAC-адреса, которое будет использоваться в качестве «отправителя» при отправлении пакета. | В это поле вводится значение MAC-адреса устройства в стандартном формате (например, AB:CD:EF:12:34:56) |

SSL-сертификаты

Для того, чтобы создать объект типа "SSL-сертификат" необходимо:

  1. Перейти в раздел Библиотека → SSL-сертификаты;

  2. Далее нажать на кнопку «+ Добавить Сертификат» (см. Рис. 10);

Рис. 11 — Вкладка «SSL-сертификаты»

Рис. 11 — Вкладка «SSL-сертификаты»

  1. Заполнить поля, описание которых находится в Табл. 6.

    Табл. 6 – Поля для создания объекта «SSL-сертификат» | Название | Описание | Значение | | ----- | ----- | ----- | | Название SSL-сертификата | Название обьекта, которое будет использоваться в настройках плагинов | Заполнить название SSL-сертификата | | Публичный ключ | Публичный ключ – открытая часть ключевой пары, используется для шифрования данных и проверки цифровой подписи | Заполните поля согласно вашему сертификату | | Приватный ключ | Приватный ключ — секретная часть ключевой пары, используется для расшифровки данных и создания цифровой подписи. | Заполните поля согласно вашему сертификату |

Сетевые туннели

Раздел Библиотека → Сетевые туннели создаёт переиспользуемые профили инкапсуляции (VLAN, VXLAN, GRE, IP-IP, MPLS, IPsec). Туннель выбирается в плагине через группу параметров «Сетевые туннели». Подробное описание слоёв и порядка работы — в Access Plane → Сетевые туннели.

Словари

Раздел Библиотека → Словари используется для создания переиспользуемых наборов значений. Словарь можно выбрать в тех полях конструктора, где рядом с полем отображается иконка выбора словаря. В текущей версии словари применяются в HTTP-параметрах: путь, User-Agent, query-параметры, заголовки, тело запроса, а также заголовки и тело HTTP-ответа на серверной стороне.

Словарь помогает не вводить переменные значения вручную в каждом поле задачи. Например, можно один раз создать список User-Agent, последовательность идентификаторов запросов или таблицу логинов и паролей, а затем использовать этот объект в нескольких HTTP-сценариях.

Табл. 8 – Типы словарей

Тип словаряНазначениеПример
ПеречислениеЯвный список строковых значений. Значение выбирается случайно или по кругу. Для перечисления можно указать префикс и суффикс, которые добавляются к каждому значению.Значения: Request-ID, Trace-ID; префикс: X-E2E-; результат: X-E2E-Request-ID, X-E2E-Trace-ID
Диапазон чиселГенерация числа из диапазона с заданным шагом. Можно настроить префикс, суффикс и дополнение нулями до нужной ширины.id-001, id-002, id-003
ПоследовательностьДетерминированная числовая последовательность: увеличение или уменьшение значения с заданным шагом. Может повторяться по кругу.session-100, session-101, session-102
ТаблицаНабор строк с несколькими колонками. Используется, когда несколько HTTP-полей должны получать значения из одной строки.Колонки login, password, token; один запрос получает согласованную тройку значений

При создании словаря укажите название, тип, способ выбора и значения. Для табличного словаря сначала задайте список колонок, затем добавьте строки. Название должно быть понятным пользователю, который будет выбирать словарь в конструкторе задачи: например, HTTP User-Agent, HTTP Login Data или Request ID Sequence.

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

Правила выбора значений:

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

Текущая логика ротации:

  • ротация применяется в момент формирования HTTP-запроса или HTTP-ответа;
  • режим По кругу проходит значения словаря по порядку и затем возвращается к началу;
  • режим Случайно выбирает значение случайно, поэтому повторы возможны даже при небольшом числе значений;
  • если в одном запросе используется несколько разных словарей, они не образуют полный перебор всех комбинаций;
  • при параллельной генерации у рабочих потоков есть свои счетчики ротации, поэтому в захваченном трафике (PCAP) могут встречаться одинаковые значения подряд, особенно при небольшом числе сессий или запросов.

Например, если в одном HTTP-запросе используются три словаря в режиме По кругу:

СловарьЗначения
User-AgentUA-01, UA-02, UA-03
session_idseq-001, seq-002, seq-003
loginalice, bob, carol

В рамках одного рабочего потока ротация будет выглядеть так:

HTTP-запросUser-Agentsession_idlogin
1UA-01seq-001alice
2UA-02seq-002bob
3UA-03seq-003carol
4UA-01seq-001alice

Это не полный комбинаторный перебор вида UA-01 + seq-001 + alice, затем UA-01 + seq-001 + bob, затем UA-01 + seq-001 + carol и так далее. Словари меняются независимо в рамках своей ротации, а система не гарантирует, что каждая следующая TCP-сессия изменит хотя бы один параметр.

Табл. 9 – Примеры применения словарей в HTTP

Поле HTTPПодходящий словарьЧто получится в трафике
User-AgentПеречисление с несколькими строками User-AgentНа каждый запрос выбирается один User-Agent из списка
ПутьПоследовательность с префиксом /api/user//api/user/1, /api/user/2, /api/user/3
Query-параметрДиапазон чисел с префиксом request-request-1000, request-1001
ЗаголовокПеречисление с префиксом X-E2E-X-E2E-Request-ID, X-E2E-Trace-ID
Тело запросаТабличный словарь с колонкой payloadВ тело запроса подставляется значение из выбранной строки
Логин и парольТабличный словарь с колонками login и passwordВ одном запросе логин и пароль берутся из одной строки таблицы

Если поле выбрано как словарь, итоговое значение этого поля формируется словарем. Статичную часть вокруг значения задавайте через префикс и суффикс словаря или прямо в ячейках табличного словаря. Не используйте словарь как хранилище больших статичных фрагментов запроса: для таких данных лучше оставить поле обычным текстовым значением без выбора словаря.

Пользовательские файлы

Раздел Библиотека → Пользовательские файлы используется для загрузки файлов, которые затем выбираются в плагине «Передача файлов (HTTP)».

Табл. 10 – Поля пользовательского файла

НазваниеОписаниеЗначение
ФайлЗагружаемый объектВыберите файл на локальной машине
НазваниеПонятное имя объекта в библиотекеЗаполните вручную или используйте имя файла
ОписаниеНазначение файлаУкажите, для какого сценария используется файл

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

Вредоносные файлы (PTI)

Раздел Библиотека → Вредоносные файлы (PTI) хранит импортируемые пакеты вредоносных файлов для плагина «Передача вредоносных файлов (HTTP)».

End-to-end порядок работы:

  1. Загрузите пакет .pa в библиотеке (drag-and-drop) или через Загрузка по прямой ссылке (HTTP/HTTPS URL на .pa; сервер скачивает и импортирует сам).
  2. При необходимости задайте лимит хранилища (ГБ) в Настройки → Пакет вредоносов (PTI).
  3. Нажмите Настройки → Синхронизация → Синхронизировать агенты, чтобы агенты скачали недостающие файлы.
  4. В задаче добавьте плагин 41 (клиент и при two-arm — сервер) и выберите файлы кнопкой Выбрать файлы.

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

Сценарии компрометации C2 (PTI)

Раздел Библиотека → Сценарии компрометации C2 (PTI) содержит кампании для плагина «Компрометированный хост». Каждая кампания описывает семейство угроз, IOC (домены/IP), протоколы, число сценариев и шагов, признаки payload-stage / external target и при необходимости MITRE ATT&CK.

Рис. 14 — Сценарии компрометации C2

Рис. 14 — Библиотека сценариев компрометации C2 (PTI)

КолонкаНазначение
ID / НазваниеИдентификатор и имя кампании
Семейство / Группа угрозКлассификация
ПротоколыHTTP, DNS и др. артефакты
Сценарии / ШагиОбъём цепочки
IOCЧисло IOC; в карточке — домены и IP

Кампании поставляются пакетами PTI. После загрузки выполните Настройки → Синхронизация, чтобы агенты скачали недостающие файлы. В плагине «Компрометированный хост» отмечаются нужные кампании; пустые поля HTTP Host / DNS / URI / body используют IOC из пакета. Параметры плагина — в Компрометированный хост.

Сетевые уязвимости (PTI)

Раздел Библиотека → Сетевые уязвимости (PTI) содержит CVE-сценарии для плагина «Сетевые уязвимости (CVE)».

Табл. 11 – Основные поля карточки CVE

НазваниеОписание
CVE IDИдентификатор уязвимости
Продукт и версияПрограммный продукт, к которому относится сценарий
ПротоколПротокол или группа протоколов, используемых в воспроизведении
CVSSОценка критичности
ГодГод публикации CVE
ОписаниеКраткое описание сценария
Варианты воспроизведенияДоступные варианты трафика для одной CVE

PCAP-файлы

Раздел Библиотека → PCAP-файлы используется для загрузки файлов захвата трафика. Эти файлы применяются в PCAP Replay и при создании динамических приложений.

Рис. 12 — Библиотека PCAP-файлов

Рис. 12 — Библиотека PCAP-файлов

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

Динамические приложения

Раздел Библиотека → Динамические приложения содержит пользовательские приложения, созданные из PCAP-файлов.

Рис. 13 — Библиотека динамических приложений

Рис. 13 — Библиотека динамических приложений

Динамическое приложение включает список сессий, параметры, значения по умолчанию, теги и описание. Оно используется в плагине «Динамические приложения» и позволяет воспроизводить пользовательские сценарии с управляемыми значениями: логины, идентификаторы, токены, URL, номера заказов и другие прикладные данные. Подробный порядок подготовки и запуска описан далее в разделе настройки плагина.