
Персональный набор инструментов SOC для Windows, созданный на PowerShell — отслеживает сетевые подключения, использование ресурсов, запланированные задачи и события электропитания с классификацией по степени серьезности и обнаружением базовых отклонений.
Персональный центр управления безопасностью (SOC), созданный с нуля во время программы переподготовки Anwendungsentwicklung. Этот пакет отслеживает оконечное устройство Windows на предмет сетевых аномалий, скачков ресурсов, выполнения процессов, изменений реестра, активности журнала событий безопасности, изменений запланированных задач, DNS-запросов и событий электропитания — регистрируя всё в структурированные файлы для еженедельного анализа и корреляции через механизм Python.

Одностраничная панель Flask. Все 12 коллекторов + механизм корреляции активны, монитор ресурсов в реальном времени, лента исходящих подключений, плитки событий коллекторов и потоковые оповещения механизма.
Создан как практический учебный проект параллельно с формальной переподготовкой по IT, этот пакет применяет реальные концепции SOC — сбор базовых показателей, обнаружение аномалий, классификацию серьезности, агрегацию журналов и кросс-источниковую корреляцию — на персональной машине Windows. Процесс проектирования с самого начала был состязательным: каждый этап проходил нагрузочное тестирование против анализа красной команды перед построением следующего, при этом 48 правил корреляции, определённые на основе этих находок, определили архитектуру механизма Python.
Разработка отслеживается в roadmap.md — текущее состояние, планы на фазу 9
(криминалистический движок) и долгосрочные цели по укреплению.
Панель работает как сервер Flask и требует прав администратора для обнаружения процессов коллекторов. Создайте ярлык один раз после клонирования:
Замените C:\path\to\SOC на ваш фактический путь установки.
3. Назовите его: SOC Dashboard
4. Щелкните правой кнопкой мыши по ярлыку → Свойства → Дополнительно → установите флажок Запуск от имени администратора
5. Нажмите ОК
Ярлык запускает Flask, ожидает его готовности, затем автоматически открывает браузер. Если Flask уже запущен, он пропускает запуск и открывает браузер напрямую. Индикаторы состояния будут серыми, если ярлык запущен без повышения прав администратора.
Панель управления обеспечивает чистую последовательность запуска/остановки, чтобы контрольные точки Auditor (утренняя проверка целостности, вечерняя проверка хеш-цепочек) всегда выполнялись по порядку.

Все сигналы пульса сборщиков красные (файлы состояния отсутствуют или остановлены). Кнопка завершения работы панели управления скрыта — панель не разрешит завершение работы, пока не выполнен End Day.

Start Day запускает утреннюю контрольную точку Auditor (проверка SHA256 логов, проверка хеш-цепочек архива) и запускает все 12 сборщиков плюс механизм корреляции. Сигналы пульса становятся зелеными по мере того, как каждый сборщик отчитывается.

End Day останавливает все сборщики по порядку и запускает вечернюю контрольную точку Auditor. Точки сборщиков остаются зелеными пока выполняется последовательность; строка состояния показывает Running Auditor Evening…

После завершения вечерней проверки все точки сборщиков становятся красными, строка состояния показывает Evening audit complete. Safe to shut down., и появляется кнопка Shutdown Dashboard — нажатие на нее чисто завершает процесс Flask.

Вкладку браузера необходимо закрыть вручную (браузеры не предоставляют API для закрытия внешним процессам).
Плитки событий сборщиков показывают последние события с тегами серьезности для каждого источника. Лента оповещений Engine Alerts в реальном времени транслирует коррелированные результаты от Python-движка, с номером правила, оценкой достоверности, полной цепочкой доказательств и SHA256 хешем доказательств.

Пример: правило 35 (Raw Disk Read) срабатывает на powershell.exe, открывающем raw-дескриптор к \Device\HarddiskVolume3, и правило 31 (DLL Load Anomaly) отмечает DLL Defender, загружаемые из пути, доступного для записи пользователем. Оба с полной цепочкой процессов и хешами файлов.
Набор следует трехуровневой архитектуре:
Слой сбора — сборщики PowerShell, которые непрерывно работают в фоне, каждый отслеживает определенный источник данных и записывает структурированные записи журнала с тегами серьезности. Все требуют повышения прав администратора.
Слой анализа — аналитические скрипты PowerShell, которые разбирают собранные журналы и генерируют еженедельные сводные отчеты. Запускаются от имени обычного пользователя.
Механизм корреляции (Фаза 7 — завершена) — Python-движок, который потребляет все журналы сборщиков, нормализует события до общей схемы и выполняет корреляцию на основе правил и оценки рисков по всем потокам данных. Три программы:
| Program | Phase | Role |
|---|---|---|
| Correlation Engine | 7 — завершена | Загрузка, нормализация, корреляция, оповещение (операционное хранилище SQLite) |
| SOC Dashboard | 8 — завершена | Оперативная видимость — состояние сборщиков, оповещения, цепочки доказательств (Flask) |
| Forensic Engine | 9 — запланирована | Последующее расследование — супер-таймлайны, линии процессов, анализ маяков, аудит персистентности, банк доказательств с только добавлением |
| Forensic Dashboard | 9 — запланирована | Суммированные криминалистические выводы — цветовой код состояния, генерация отчетов, навигация по доказательствам |
| Phase | Script | Nickname | Function |
|---|---|---|---|
| 1 | Sentinel.ps1 | Network Watchdog | Исходящие TCP-соединения с геолокацией, проверкой пути процесса и отслеживанием накопительного объема передачи |
| 1 | Bulwark.ps1 | Night's Watch | Входящие порты прослушивания — разница с базовой линией, обнаружение новых/закрытых портов, аномалии геолокации |
| 1 | Steward.ps1 | Quartermaster | CPU, RAM и дисковый ввод-вывод на процесс с использованием счетчиков производительности Windows с автоопределением 8 языков |
| 1 | CityGuard.ps1 | City Guard | Добавление, удаление и изменение запланированных задач — обнаружение изменений действий и триггеров |
| 1 | Watchman.ps1 | Watchman | События питания — загрузка, сон, пробуждение, неожиданное выключение и активность в нерабочее время |
| 2A | Registry_Warden.ps1 | — | Ключи автозапуска реестра, RunOnce, базовая линия служб и сравнение, проверка целостности RID SAM |
| 2B | Harbinger.ps1 | — | Мониторинг создания процессов на основе событий WMI/CIM — обнаружение путей высокого риска, отслеживание родительского процесса |
| 3 | Bloodhound.ps1 | — | Монитор DNS-запросов — обнаружение DGA через энтропию Шеннона, пометка TXT-записей, обнаружение пиков объема ICMP |
| 4 | Warden.ps1 | — | Сторожевой таймер набора — SHA256 FIM скриптов, регресс объема журналов, состояние сборщиков, флаг обслуживания, запланированная задача самоконтроля |
| 5 | SecEventLog.ps1 | — | Журнал событий безопасности Windows — аномалии входа, манипуляции с учетными записями, повышение привилегий, установка служб, обнаружение грубой силы |
| 6 | DoH_Detector.ps1 | — | Детектор обхода DNS-over-HTTPS — TCP-соединения к 28 известным IP-адресам DoH-резолверов из не бело-списочных процессов |
| 7 | SysmonWatcher.ps1 | — | Монитор событий уровня ядра Sysmon — внедрение процессов, доступ к LSASS, чтение сырых дисков, загрузка неподписанных драйверов, персистентность WMI и подключение отладчика браузера (22 ID событий) |
| Script | Nickname | Function |
|---|---|---|
| Investigator.ps1 | Audit Reporter | Еженедельный анализ журналов исходящих соединений Sentinel |
| Crow.ps1 | Lord Commander | Еженедельный анализ журналов входящих портов Bulwark |
| Ledger.ps1 | Maester | Еженедельный анализ журналов ресурсов Steward с обнаружением трендов RAM |
| Castellan.ps1 | Castellan | Еженедельный анализ журналов запланированных задач CityGuard |
| Auditor.ps1 | — | Утренняя/вечерняя контрольная проверка целостности — проверка SHA256 журналов, проверка хеш-цепочек архива |
Определены в результате многораундового анализа красной команды (см. Документацию). Реализованы в Фазе 7.
| # | Rule | Severity | Sources |
|---|---|---|---|
| 1 | Подозрение на утечку данных | HIGH | Steward + Sentinel |
| 2 | Подозрение на C2-маяк | HIGH | Sentinel + Bulwark |
| 3 | Персистентность + обратный вызов C2 | CRITICAL | CityGuard + Sentinel |
| 4 | Вторжение в нерабочее время | CRITICAL | Watchman + Sentinel |
| 5 | Подготовка данных | HIGH | Bulwark + Steward |
| 6 | Сетевая активность LOLBin | CRITICAL | Sentinel |
| 7 | Подозрение на полое внедрение процесса | CRITICAL | Harbinger + Sentinel |
| 8 | Подозрение на обход DoH | CRITICAL | DoH_Detector |
| 9 | Подозрение на персистентность WMI | HIGH | Harbinger + CityGuard |
| 10 | Манипуляция учетными записями | CRITICAL | SecEventLog |
| 11 | Шаблон всплеска утечки | HIGH | Sentinel |
| 12 | Постоянный процесс ниже порога | SUSPICIOUS | Sentinel + Steward |
| 13 | Подозрение на начальный доступ | CRITICAL | Harbinger + Sentinel |
| 14 | Аномалия доверенного бинарника | SUSP→CRIT | Sentinel |
| 15 | Детектор статистического джиттера | HIGH | Sentinel |
| 16 | Нарушение контекстной целостности | CRITICAL | Harbinger + Sentinel |
| 17 | Перехват идентификатора / RID | CRITICAL | Registry_Warden + SecEventLog |
| 18 | Состояние механизма корреляции | MEDIUM | Python Core |
| 19 | Самозащита / FIM скриптов | CRITICAL | Warden |
| 20 | Статистический временной дрейф | MEDIUM | Steward + Sentinel |
| 21 | Блокировка интерпретатора / BYOI | HIGH | Harbinger |
| 22 | Аномалия облачного API |
Все сборщики используют единую четырехуровневую систему серьезности:
| Level | Color | Meaning |
|---|---|---|
| OK | Green | Соответствует известной базовой линии, действия не требуются |
| UNKNOWN | Yellow | Еще не эталонировано, следить за шаблонами |
| SUSPICIOUS | DarkYellow | Обнаружена аномалия, требуется расследование |
| CRITICAL | Red | Превышен порог, немедленный пересмотр |
Все журналы следуют единому формату для совместимости с парсером Python:``` [yyyy-MM-dd HH:mm:ss] [SEVERITY] Event details
**Структура репозитория:**```
home_SOC_suite/
├── Analysts/ — PowerShell analyst scripts
├── Collectors/ — PowerShell collector scripts
├── Dashboard/ — Flask single-page SOC dashboard (Phase 8)
│ ├── app.py — Flask server, all routes, process detection, DB reads
│ ├── Launch_Dashboard.ps1 — Launcher: checks if Flask running, starts it, opens browser
│ ├── templates/
│ │ └── index.html — Single-page dashboard layout
│ └── static/
│ ├── style.css — Dark terminal aesthetic, severity colours, bar graph tiers
│ └── dashboard.js — All polling, Start Day / End Day sequence, session alert counter
├── Engine/ — Python correlation engine
│ ├── engine.py — Main loop and orchestration
│ ├── log_parser.py — Collector log ingestion
│ ├── normalizer.py — Event normalisation to canonical schema
│ ├── correlator.py — Correlation rules engine
│ ├── alert_manager.py — Alert deduplication, flood detection, log writing
│ ├── db.py — SQLite operations (batch ingest, query, retention)
│ ├── health_db.py — Heartbeat SQLite store (collector_status, heartbeats tables)
│ ├── config.py — All thresholds and time windows in one place
│ ├── test_parser.py — Log parser test suite (7 tests)
│ ├── test_normalizer.py — Normaliser test suite (32 tests)
│ └── test_correlator.py — Correlator test suite (135 tests)
└── Documentation/ — Research documents, red team analysis, and dashboard screenshots
Сгенерировано во время выполнения (не отслеживается в репозитории):``` Logs/ — Active collector log files │ └── Archives/ — 7-day rotated log archives Reports/ — Weekly analyst report output Config/ — Baseline JSON files and Sysmon config Engine/hocsoc.db — SQLite operational database Engine/hocsoc_health.db — Heartbeat and collector status store (engine correlation use only)
---
## Поддерживаемые языки ОС
Steward автоматически определяет правильный путь счетчика производительности ЦП для
следующих языков ОС:
| Язык | Путь счетчика |
|---|---|
| Английский | \Process(*)\% Processor Time |
| Немецкий | \Prozess(*)\Prozessorzeit (%) |
| Французский | \Processus(*)\% temps processeur |
| Испанский | \Proceso(*)\% de tiempo de procesador |
| Итальянский | \Processo(*)\% Tempo processore |
| Португальский | \Processo(*)\% de Tempo do Processador |
| Русский | \Процесс(*)\% загруженности процессора |
| Китайский (упрощ.) | \Process(*)\% Processor Time (обычно английский) |
Чтобы добавить поддержку другого языка, добавьте локализованный путь счетчика в
массив `$PathsToTry` в функции `Get-WorkingCounterPath` в файле `Steward.ps1`.
---
## Документация и исследования
Папка `Documentation/` содержит полную запись исследований и планирования, которая
определила дизайн этого набора. Набор разрабатывался враждебным образом — каждый
уровень планировался против модели угроз до его создания и подвергался стресс-тестированию
в рамках анализа красной команды перед началом следующего уровня.
| Документ | Назначение |
|---|---|
| `home_soc_pre_coding_architecture_guide.pdf` | Структура принятия решений до написания кода. Каноническая модель данных, модель доверия, жизненный цикл базовой линии, стратегия тестирования и возможности межколлекторной проверки. Написан до первой строки кода. |
| `Home_Soc_Architecture_And_Engine_Design.pdf` | Спецификация целевой архитектуры. Проектирование трёхпрограммного движка на Python, схема SQLite, гибридная модель обнаружения (детерминированные правила + оценка рисков), логика повышения уровня оповещений. |
| `HomSOC_Implementation_Guide.pdf` | Поэтапный план сборки. Каркасный код для всех коллекторов, еженедельный график работы, шаблонные шаблоны PowerShell. Руководство по сборке слоя PowerShell. |
| `RedTeam_Analysis_HomSOC_Final.pdf` | Основной справочник красной команды. 11 раундов атаки (Claude + Gemini + симуляции реальных атак), все 26 правил корреляции с полной логикой обнаружения, результаты обхода и смягчения, применённые при сборке. |
| `Home_SOC_Red_Team_Analysis_Pro.pdf` | Архитектурная красная команда. 11 сценариев атак, нацеленных на структурные слабости: отравление базовой линии, обход корреляции, зашумление, подавление коллектора, подделка архивов, инъекция журналов, атаки повторного воспроизведения и злоупотребление идентификацией. |
| `Home_SOC_Red_Team_Whitepaper.pdf` | Краткий обзор. Полная таблица сценариев атак, сравнение систем (базовая vs укреплённая), ключевые архитектурные улучшения и обзор модели обнаружения. |
---
## Ключевые особенности
- **Проектирование через атаку** — 48 правил корреляции, определённых в ходе многораундового
анализа красной команды до создания движка Python. Логика обнаружения основана на реальных
цепочках атак, а не на гипотетических сценариях
- **Сбор поведенческой базовой линии** — все коллекторы со временем строят базовые линии,
что позволяет обнаруживать аномалии относительно наблюдаемой нормы, а не статических правил
- **Мониторинг геолокации** — исходящие соединения, входящие соединения,
IP-адреса источников аутентификации и DoH-соединения отслеживаются по странам с
оповещением TELEMETRY_GAP при сбоях геолокации
- **Снятие отпечатков процессов** — каждое сетевое, портовое, процессное и аутентификационное
событие регистрируется с полным путём процесса, что обнаруживает маскировку и атаки LOLBin
- **Самозащита набора** — Warden отслеживает все сценарии и конфигурации через
SHA256 FIM с трёхуровневой цепочкой защиты: целостность манифеста, внешняя
запланированная задача и мониторинг задачи CityGuard
- **Вайтлистинг по принципу нулевого доверия** — все белые списки изначально пусты. 30-дневный
сбор базовой линии предшествует любым исключениям
- **Логирование с тегом серьёзности** — структурированные записи журнала, разработанные для
совместимости с парсером Python и будущей интеграции с SIEM
- **7-дневная ротация журналов** — автоматическое архивирование с проверкой SHA256 и
проверкой целостности цепочки хэшей архива на утренних/вечерних границах через Auditor.ps1
- **Многоязыковая совместимость с Windows** — пути счётчиков производительности
автоматически определяются для 8 языков ОС при запуске
- **Одностраничная панель SOC** — визуализация в реальном времени на основе Flask, заменяющая
все отдельные окна PowerShell. Включает лаунчер набора (Start Day / End Day),
монитор ресурсов Steward в реальном времени, ленту подключений Sentinel, трёхсостоятельные
точки пульса (зелёный активно / жёлтый не запущен / красный не работает — считываются напрямую
из JSON-файлов здоровья коллекторов, независимо от состояния движка), карточки событий
SUSPICIOUS/CRITICAL, прокручиваемую ленту оповещений движка, счётчик оповещений сеанса
и генерацию еженедельного отчёта одним щелчком. End Day останавливает все коллекторы и
запускает вечернюю границу Auditor — затем появляется кнопка Shutdown Dashboard для
корректного завершения процесса Flask. Вкладку браузера необходимо закрыть вручную
(браузеры не предоставляют API закрытия внешним процессам)
---
## Текущее состояние — Фаза 8 завершена
Движок корреляции на Python создан и работает в реальном времени со всеми 12 коллекторами,
включая SysmonWatcher (события уровня ядра Sysmon).
**Конвейер движка:**
`log_parser.py` → `normalizer.py` → `correlator.py` → `alert_manager.py`
Все этапы приёма, нормализации и корреляции используют пакетные транзакции SQLite.
174 теста в трёх наборах тестов — все проходят.
**Реализованные правила:** 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 16, 17, 18, 21, 22, 41, 42,
43, 44, 45, 46, 47, 48 (Tier 1: однострочные события и Tier 2: оконная корреляция) и Правила 28–39
(события ядра Sysmon через SysmonWatcher). Правила 12, 14, 15, 20 отложены до Tier 4 (требуют
30-дневных данных базовой линии). Правила 23, 24, 25 заблокированы в ожидании специализированных коллекторов.
**Модель обнаружения:** Гибридная — детерминированные правила для чётких цепочек атак,
оценка риска для накопления слабых сигналов, оповещения о видимости для молчания коллектора
и ухудшения качества приёма.
**Следующие фазы:**
| Фаза | Программа | Статус |
|---|---|---|
| 8 | SOC Dashboard — одностраничная визуализация Flask | Завершена |
| 9 | Forensic Engine — расследование после инцидента, хранилище доказательств с защитой от изменений | Запланирована |
| 9 | Forensic Dashboard — сводка результатов, генерация отчётов, навигация по доказательствам | Запланирована |
См. [`roadmap.md`](https://github.com/nate-ryan-7690/home_soc_suite/blob/main/roadmap.md) для полного графика разработки.
---
## Известные шумные оповещения — до настройки
На свежей установке несколько типов оповещений будут срабатывать регулярно, пока не будет
применена машинно-специфичная настройка. Это ожидаемо и не является реальными обнаружениями.
| Коллектор | Оповещение | Причина |
|---|---|---|
| Sentinel | CRITICAL environmental violation | Любое стороннее ПО, установленное вне путей зоны доверия по умолчанию (Windows, Program Files) — облачные клиенты синхронизации, коммуникационные приложения и служебные утилиты, которые устанавливаются в AppData, являются частыми источниками |
| Sentinel | SUSPICIOUS TELEMETRY_GAP | IPv6-петля и локальные адреса ссылки не удаётся геолоцировать — исправлено в текущей сборке |
| SysmonWatcher | SUSPICIOUS/CRITICAL по Правилам 31, 33, 34 | Антивирусное и конечное защитное ПО регулярно выполняет чтения LSASS, чтения сырых дисков и загружает DLL из путей, доступных для записи пользователем, в рамках нормальной работы |
| SysmonWatcher | SUSPICIOUS по Правилу 28 | Инструменты разработки, которые подключаются к процессам браузера для отладки, вызовут срабатывание правила отладчика браузера |
| Bulwark | SUSPICIOUS сбои GeoIP | Соединения в частных и зарезервированных IP-диапазонах не могут быть геолоцированы — вызывают TELEMETRY_GAP до внесения в белый список |
| Bloodhound | SUSPICIOUS обнаружение DGA | Короткоживущие запросы DNS или запросы с малым количеством образцов вызывают проверки энтропии до стабилизации скользящей базовой линии |
| Warden | SUSPICIOUS MANIFEST_MISSING | Манифест FIM отсутствует при первом запуске — создайте с помощью `.\Warden.ps1 -BuildManifest` после начальной настройки |
| Warden | SUSPICIOUS COLLECTOR_DOWN | Коллекторы, ещё не развёрнутые, не имеют файла пульса — ожидается, пока не будет запущен полный набор |
| DoH_Detector | CRITICAL для браузерного DoH | Браузеры, настроенные на использование DNS-over-HTTPS, будут срабатывать, пока не будут добавлены в список разрешённых процессов |
Машинно-специфичная настройка (списки доверенных процессов, белые списки путей, записи о известных безопасных элементах)
применяется локально и не включена в этот репозиторий.
---
## Примечания
- Установите `$RootPath` в каждом скрипте на папку, куда вы установили набор SOC.
По умолчанию `Desktop\SOC`
- Для скриптов требуется установка политики выполнения PowerShell в Bypass
- Скрипты коллектора требуют прав администратора для полной видимости системы
- Скрипты аналитика запускаются от обычного пользователя
- Геолокация предоставляется бесплатным уровнем ip-api.com
- Журнал событий DNS Client должен быть включён до запуска Bloodhound.ps1:
`wevtutil sl "Microsoft-Windows-DNS-Client/Operational" /e:true`
---
## Контекст обучения
Создано во время переобучения по специальности Fachinformatiker Anwendungsentwicklung, Германия 2026.
Нацелено на карьеру в киберзащите и анализе угроз.
Создано с помощью ИИ как учебный инструмент. Каждое проектное решение,
сессия отладки и архитектурный выбор были выполнены разработчиком
с полным пониманием лежащих в основе концепций.
| HIGH |
| Sentinel |
| 23 | Детектор HID-инъекции | CRITICAL | WMI Device Events |
| 24 | Злой двойник / WiFi Ghost | CRITICAL | Network Monitor |
| 25 | Похититель фокуса / захват окна | HIGH | Win32 API |
| 26 | Проверка целостности посещений | HIGH | All collectors |
| 27 | Отложенный начальный доступ | CRITICAL | Harbinger + Sentinel (SQLite watchlist) |
| 28 | Подключение отладчика браузера | CRITICAL | SysmonWatcher (Event ID 10) |
| 29 | Внедрение процесса ядра | CRITICAL | SysmonWatcher (Event ID 8) |
| 30 | Загрузка неподписанного драйвера | CRITICAL | SysmonWatcher (Event ID 6) |
| 31 | Подозрительная загрузка образа | SUSPICIOUS | SysmonWatcher (Event ID 7) |
| 32 | Привязка подписки WMI | CRITICAL | SysmonWatcher (Event IDs 19/20/21) |
| 33 | Подозрение на доступ к LSASS | CRITICAL | SysmonWatcher (Event ID 10) |
| 34 | Чтение сырого диска | CRITICAL | SysmonWatcher (Event ID 9) |
| 35 | Создан исполняемый файл | SUSPICIOUS | SysmonWatcher (Event ID 11) |
| 36 | Изменен провайдер AMSI | CRITICAL | SysmonWatcher (Event ID 12) |
| 37 | Подозрительный именованный канал | SUSPICIOUS | SysmonWatcher (Event IDs 17/18) |
| 38 | Загруженный исполняемый файл | HIGH | SysmonWatcher (Event ID 15) |
| 39 | Подтверждено полое внедрение процесса | CRITICAL | SysmonWatcher (Event ID 25) |
| 40 | Постоянная нагрузка CPU ниже порога | SUSPICIOUS | Steward + Sentinel |
| 41 | Эксплуатация слепого окна | HIGH/CRITICAL | Python Engine (collector DOWN + concurrent events) |
| 42 | Скоординированное подавление сборщиков | CRITICAL | Python Engine (≥2 collectors simultaneously DOWN) |
| 43 | Неожиданное порождение скриптового движка | SUSPICIOUS | Harbinger (known-bad parent → scripting engine) |
| 44 | Скрипт из пути высокого риска | HIGH | Harbinger (43 + engine binary in user-writable path) |
| 45 | Сетевой обратный вызов скриптового движка | CRITICAL | Harbinger + Sentinel (43 + outbound connection) |
| 46 | Полная цепочка выполнения цепочки поставок | CRITICAL | Harbinger + Sentinel (bad parent + drop + callback) |
| 47 | Обфусцированное / закодированное выполнение | HIGH | Harbinger (-EncodedCommand / Hidden+Bypass combination) |
| 48 | Известная плохая пара родитель-потомок | CRITICAL | Harbinger (specific high-confidence pairs, zero legitimate use) |