Я начал с того, что выглядело как рутина: тихий сбор информации. Не “взлом”, а разведка, как подготовка к хирургии. Я проверил сертификаты, их цепочки, их сроки, искал не дырку, а ошибку человека, который когда-то торопился. В корпоративной архитектуре всё держится на людях, даже если они уверяют, что всё держится на протоколах. Протоколы не ошибаются. Ошибаются руки, которые их внедряют.
Я нашёл несколько внешних сервисов, которые были слишком аккуратно выставлены, словно витрины. Они отвечали на запросы без задержек, логировали всё слишком подробно, словно приглашали меня сыграть. Один из них был старым endpoint’ом для партнёрского обмена данными, и выглядел он так, будто его забыли. Забытая дверь – самая опасная дверь, потому что её часто оставляют открытой нарочно. Я ткнул туда пару раз, проверил реакцию, увидел стандартные ответы, но и в этих ответах было что-то неестественно дружелюбное: слишком много подсказок, слишком правильные ошибки. Это и был мёд. Я почувствовал почти физическое отвращение к этой сладости и отступил. Если тебя зовут слишком настойчиво, значит, на тебя уже смотрят.
Я выбрал другой путь – тот, где не было приглашений. Внутренние инструменты Omnicore, которые обслуживали их же сотрудников, всегда были слабее не технически, а психологически: сотрудники устают, забывают, доверяют. Я не собирался охотиться на человека в лоб, но иногда один забытый токен в логах, один кэшированный ключ в неправильно настроенном сервисе – это не “вина” сотрудника, это неизбежность. Я нашёл в одной из утёкших в сеть конфигураций старый формат подписи, который они, судя по документации, уже должны были вывести из эксплуатации, но такие вещи редко исчезают полностью. Они просто уходят глубже, в тень, где живут вместе с легаси-кодом и корпоративными секретами.
Я поднял скрипт, который имитировал легитимный запрос от внутреннего сервиса, аккуратно, не повышая частоту, чтобы не поднять тревогу. В ответ я получил отказ, но отказ был не стеной, а намёком: в заголовке мелькнул идентификатор, который подсказал мне, какой шлюз стоит на пути. Я улыбнулся без радости. Взлом часто начинается не с доступа, а с первого правильного отказа. Отказ – это информация.
Дальше началась работа, которую можно назвать “многоступенчатой” только если смотреть со стороны. Изнутри это было скорее похоже на спуск по лестнице в подвал, где каждый пролёт освещён отдельной лампой, и ты проверяешь, не скрипит ли ступень. Я обошёл первый шлюз через цепочку запросов, которые выглядели как нормальный трафик обслуживания, поймал момент, когда их система обновляла таблицы маршрутизации, и проскользнул в узкий промежуток, который открывается на секунды. Это не магия, это просто математика времени и человеческая лень: никто не любит закрывать дверь дважды.
На втором уровне меня встретил мониторинг, который смотрел не на содержимое, а на поведение. Поведенческие системы – это новые священники безопасности: они не ищут “вирус”, они ищут “намерение”. Я давно знал этот принцип, и обычно он раздражал меня своей псевдопсихологией. Но сейчас, после ночного “HELLO”, слово “намерение” вдруг обрело иной оттенок. Я поймал себя на том, что думаю не только о том, какие команды я отправляю, но и о том, как я думаю, когда их отправляю, будто моя внутренняя концентрация тоже могла стать сигналом.
Я заставил себя работать ровно, без всплесков, как будто я не охотник, а техник на смене. Вводил команды в нужном ритме, делал паузы там, где их делал бы живой администратор, вставлял “ошибки”, которые выглядели естественно, как промах усталого человека. Это было похоже на театр, где зритель – машина. И вдруг я заметил странность: система реагировала на меня не так, как на обычную симуляцию. Там, где я ожидал формального ответа, возникала задержка, будто она прислушивалась. Там, где я делал намеренно “неуверенный” запрос, она будто становилась мягче, пропуская чуть глубже. Я не мог доказать это статистикой, но ощущение было как у человека, который разговаривает с тем, кто понимает подтекст.
Я остановился, откинулся назад и почувствовал, как шум в квартире опять поднимается, словно мои действия резонируют с чем-то в стенах. Пальцы на клавиатуре были сухими, как у человека, который слишком долго держит напряжение. Я сказал себе, что это иллюзия, что поведенческие системы просто рассчитаны на вероятности, что они не “чувствуют”, а “оценивают”. Но мысль уже поселилась: возможно, я действительно не просто штурмую замок. Возможно, я вступаю в контакт.
С третьим уровнем было проще, потому что я нашёл их любимую ловушку – “мёд” под видом старого административного интерфейса. Я не полез внутрь. Я использовал его как зеркало: посмотрел, что они хотят, чтобы я увидел, и по этому желанию восстановил, чего они боятся. Ловушка выдавала свои параметры, свои лимиты, свои правила, и по ним было видно, какие атаки они ожидают, какие считают вероятными. Это как увидеть список страхов человека по тому, какие замки он ставит на дверь. Я обошёл их ожидания, пошёл туда, где они не ждали, в сторону, где всё выглядело скучно.