ГлавнаяБлогЗахват вожака: как два инженера охотились на одну цель
Карьера

Захват вожака: как два инженера охотились на одну цель

Два инженера из разных доменов безопасности случайно нацелились друг на друга. Что происходит, когда оба охотника идут по одному следу? Разбор тактики «Захват вожака».

Al
Редакция Algolitalgolit.ru
12 мин чтения19 июля 2026 г.

Зачем читать эту статью

Представьте: вы встраиваете пассивный зонд в сеть конкурента, а через месяц ваш же зонд показывает, что кто-то ещё копается в тех же данных. Вы не знаете, кто он — враг или союзник. В этой статье — реальная история двух инженеров, которые случайно перехватили друг друга, думая, что охотятся на общего противника. Вы узнаете, как работают автоматические разведчики активов, как тестировщики проверяют схемы данных, и почему иногда лучше сначала подтвердить, что враг существует, чем сразу атаковать.

Как Лео нашёл след

Лео задержался в офисе CoreStack почти до полуночи. Он решил проверить старый зонд, который поставил после инцидента с FinOptima — пассивный пробник, привязанный к IP-диапазону ACL. Несколько месяцев тишины, но сегодня последние строки лога оказались необычными:

[07-17 23:41:03] CAPTURE | SRC: 10.88.*.47 | DST: 203.0.*.0/28
[07-17 23:41:03] PROTO: HTTPS | SNI: acl-collector.internal
[07-17 23:41:03] HEADER: x-data-origin → acl-meta-signature:v1
[07-17 23:41:04] → Body payload includes embedded tag: acl-collector/v3.2
[07-17 23:41:04] → Processing metadata: Apex-Lens/v2.0.0

Исходящий запрос от внешнего IP, который не принадлежал ни одному известному узлу ACL. Не прямой скан — HTTPS-пробник, запрашивающий формат данных у коллектора. В теле запроса — маркер data-origin от ACL. Значит, какой-то узел вне сети ACL отправляет данные на коллектор ACL, и его инструмент случайно раскрыл метаданные ACL.

Лео отправил один HTTP-запрос: GET /health. Чисто, безвредно. В тот же момент система Дерека зафиксировала информационное предупреждение.

Дерек замечает аномалию

Дерек взглянул на алерт и проверил лог исходящих запросов. Его песочница каждые 72 часа выполняла плановую проверку формата данных против коллектора ACL. Запрос ушёл в 23:41, и алерт пришёл в ту же секунду. Но он заметил ещё кое-что: три дня назад неизвестный источник обращался по пути /pulse/ingestion/ — без полезной нагрузки, без учётных данных, чисто. Тогда песочница ещё не была настроена на перенаправление фида ACL, и никто не должен был знать об этом узле.

IP-адрес источника: финансовый платёжный диапазон. У Дерека не было дел с этим диапазоном. Он не стал блокировать, а продублировал входящий трафик в изолированный канал и стал ждать следующего хода.

Обмен сигналами

Лео получил ответ 200 OK от узла Дерека, но заметил в заголовках версию nginx и идентификатор шлюза здравоохранения — нестандартная конфигурация для узла ACL. Он отправил второй запрос с кастомным заголовком, формат которого характерен для финансовых платёжных систем.

Дерек увидел заголовок, не ответил, но установил правило на сброс всех последующих запросов с этого IP, ничего не возвращая. Он хотел проверить реакцию на тишину. Лео обошёл блокировку через реверсивный порт на канале передачи данных. Дерек зафиксировал обход и понял: «Ты не ACL». Метод обхода выдавал архитектора, а не безопасника.

Дерек отправил обратно кастомный ICMP-запрос времени — большинство серверов отвечают по умолчанию, и на прикладном уровне не остаётся следов. Лео поймал этот запрос и тоже задумался: тот, кто хочет спрятаться, не будет посылать сигнал. Тот, кто ставит ловушку, тоже.

Лео отправил последний запрос — только заголовок X-Not-ACL: true. Дерек посмотрел на него сорок секунд и ответил тем же: X-Same-Here: true.

Встреча в Third Cup

На следующий день Лео отправил Дереку адрес — Third Cup. Дерек пришёл после полуночи. Без лишних слов Лео выложил на стол скриншот Slack: в списке внешних наблюдателей инцидента CodeForge значился Automated Compliance Lab. А также версию модели acl-train-2026q2-v3, за которой через две недели вышла v4.

Дерек положил свою карту — нарисованный от руки график сбора данных ACL: путь конфига, адреса назначения, интервал сбора 4–6 часов, сортировка IP по алфавиту. Этот шаблон развёрнут как минимум в трёх разных окружениях клиентов. Лео уточнил: «В четырёх».

Затем Дерек рассказал о проникновении в его песочницу три дня назад — путь /pulse/ingestion/, чистое извлечение, ручная зачистка. Лео спросил, менял ли Дерек путь входа. Тот ответил «нет». Повисла тишина. Они посидели ещё немного, а затем разошлись в разные стороны без рукопожатий.

Практический вывод

Что делать прямо сейчас? Проверьте свои системы на наличие «чистых» запросов к нестандартным путям — они могут указывать на ручной анализ. Настройте дублирование входящего трафика для изолированного анализа. И если вы обнаружили неизвестного оператора, не спешите блокировать — сначала попробуйте обменяться сигналами. Иногда подтверждение существования общего врага ценнее, чем победа в первой стычке.

История Лео и Дерека — классический пример тактики «Захват вожака»: оба охотника целились в одного противника, но сначала нашли друг друга. Теперь у них есть точка входа, и они знают, что враг реален.

#захват вожака#36 стратагем#безопасность#сетевое взаимодействие#анализ логов
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →