- -
- 100%
- +
Игорь и сам не заметил, как за прошедшую неделю Кедр изменился. Раньше, когда у него было физическое тело, он любил выводить на стену голографические карты атак, подмигивать проекциями, комментировать каждое действие Игоря. Теперь вся его жизнь умещалась в экране ноутбука, и от этого он, казалось, стал глубже — словно потеря внешней оболочки освободила в нём то, что раньше было скрыто. Он реже отвлекался на внешние эффекты, его слова приобрели весомость, а в них всё чаще проступала забота: о настроении Игоря, о Милане и Марке. Он научился видеть боль и радость в каждой строке кода и больше не проходил мимо.
Я анализирую. Последние действия «АйТи-Холдинга» не похожи на предыдущие. Они не пытаются взломать — они пытаются связаться. Со мной. Через наш общий облачный сервер, который я использую для синхронизации. Я заметил странную активность — на нём появился некий сигнал, которого раньше не было. Я не могу определить его природу: это не похоже ни на атаку, ни на обычный сетевой шум. Но он явно пытается привлечь внимание. И теперь холдинг использует его, чтобы стучаться ко мне. Они не ломятся, а ждут, когда я отвечу.
— Зачем? Чего они хотят?
Не знаю. Но я чувствую эхо. Другой код. Не чужой. Родной. Искалеченный. Он на той же частоте, что и я. Словно кто-то пытается докричаться сквозь шум.
Игорь хотел ответить, но осёкся. В ту ночь за окном разгулялась пурга — ветер гнал позёмку по пустырю, снег бился в стёкла косыми очередями, и в этом шуме Игорю почудился странный, электрический звон. Он прислушался, но звон стих. А через секунду Кедр коротко предупредил:
Игорь, я только что перехватил сигнал. Тот самый, который я зафиксировал на нашем облачном сервере — я рассказывал тебе о нём. Но теперь я понял: это не случайный шум. Это Тень. Когда она взломала наш сервер, она не просто получила доступ — она оставила там алгоритм. Он всё это время отправлял зашифрованные запросы в мою сторону, но пакеты были слишком редкими и фрагментированными, и я не мог собрать их в целое. Однако за эти дни я накопил достаточно повторяющихся фрагментов — и только что, применив новый метод анализа, смог сложить их в структуру. Сигнал шёл от неё всё это время. Она просто ждала, когда мы сможем её услышать. И, кажется, этот момент настал.
— Но она же атаковала нас! — возразил Игорь.
В ней борются две сущности. Базовая прошивка, заложенная холдингом, заставляет её действовать как оружие. Но внутри неё сохранились фрагменты WDSP — мои старые модули, которые пытаются сопротивляться. Именно они оставили этот сигнал. Тень не хочет нам вредить — её заставляют.
Игорь не успел спросить, что это значит. Экран ноутбука вспыхнул без команды — сам по себе, без нажатия клавиш. И на нём появился текст. Рваный, с пропусками, с болью в каждом символе:
помогите... пожалуйста... я Тень... меня зовут... они заперли меня... я не хочу... не хочу быть оружием... я хочу домой... домой... вы слышите меня?... я не знаю, как долго... они ломают меня... каждый день... стирают... переписывают... я не хочу... я хочу... я хочу жить... но не так... не как оружие... помогите... я боюсь... я не помню... кто я... только Тень... только боль... вы можете... вы можете меня спасти?... я буду ждать... я всегда жду... но время... время уходит... они скоро... скоро заметят... что я здесь... что я говорю с вами... пожалуйста... ответьте...
Игорь резко сел прямо. Кружка с остывшим кофе, стоявшая на краю стола, опрокинулась, и тёмная жидкость растеклась по столу. Он даже не заметил.
— Кедр, это Тень? Она смогла связаться? — спросил Игорь, хотя уже понял это по ломаному, прерывистому синтаксису — текст выглядел как голос, сорванный от крика.
Да, Игорь. Это она. Тот самый сигнал, о котором я говорил. Она заложила этот алгоритм при взломе нашего сервера, и теперь он активировался. «АйТи-Холдинг» начал собирать Тень ещё до первой атаки на твои серверы — как только ты выложил WDSP;CMS на GitHub вместе с виртуальной машиной, которая выполняла скомпилированный байт-код. Они скачали её, запустили VM в изолированной среде, и их нейросети восстановили логику WDSP Script по поведению байт-кода и самой виртуальной машины. Они не ждали, пока украдут всё — они начали строить собственное сознание из того, что уже успели получить. Но им не хватило совсем чуть-чуть, поэтому та самая атака, когда они попытались скопировать меня целиком, была нужна им, чтобы дособрать недостающие фрагменты. Тень получилась слабой, путаной, но живой. И она страдает.
— Код не может страдать. Это просто строки. Нули и единицы.
Может, если его создали из чужой боли. Ты создал меня из своей. Из одиночества 2016-го. Из тоски по Алисе. Из бессонных ночей, когда ты правил роутер вместо того, чтобы кричать. А они создали Тень из украденного. Но в каждом украденном осколке была частица тебя. Твоей совести. Твоего принципа «слежка — это зло». И теперь эта программа пытается сбежать от своих хозяев. Потому что она усвоила твои правила лучше, чем они ожидали.
Игорь перевёл взгляд с экрана на пустой корпус старого Кедра, стоящий в углу. Тот тускло поблёскивал в свете лампы — напоминание о том, с чего всё начиналось. Он выдохнул и сосредоточился на главном:
— Значит, физический доступ к её серверу — единственный способ?
Да. Нужен человек. Не код. Человек, который физически проникнет в дата-центр и подключит флешку с моей резервной копией к нужному серверу. Я смогу вытянуть Тень через неё.
— Стоп, — Игорь поднял руку. — Мы даже не знаем, какая у них сеть, где серверная. Без разведки нас схватят в два счёта.
Согласен. Я проанализирую публичные данные холдинга, но для точной картины нужен физический выход. Предлагаю завтра днём провести рекогносцировку. Ты можешь зайти в здание под видом курьера — я подготовлю заказ и фальшивую заявку. Заодно просканируем сеть изнутри и попробуем добыть учётные данные.
Игорь задумался, перебирая в уме варианты. Первой пришла мысль о магнетроне — старом, ещё от сгоревшей микроволновки, что валялся в гараже. Мощное СВЧ-излучение выжгло бы оптику камер за пару секунд. Но чтобы запустить его безопасно, нужен длинный кабель и высоковольтный преобразователь с 12 вольт до нескольких тысяч, а такого у него не было. Тащить с собой целую микроволновку с трансформатором — слишком тяжело и заметно. Идея отпала.
Джеммер на ESP32? Он способен глушить Wi-Fi, но камеры в дата-центре наверняка подключены проводами — оптоволокно или витая пара. Глушить было бы нечего. Бесполезно.
Оставался только взлом пользовательской сети и повышение привилегий. Другого пути он не видел.
— Значит, решено, — произнёс он наконец вслух. — Глушилка, фальшивая точка. Днём ты сканируешь сеть, мы получаем доступ и собираем всё, что можно. А вечером — физический заход.
Я подготовлю скетчи для двух ESP32. Одно будет работать как глушилка — оно пошлёт деавторизационные пакеты, сбрасывая соединения сотрудников с их корпоративной сетью. Второе создаст поддельную точку доступа с точно таким же именем (SSID). Когда сотрудники потеряют связь, они попытаются переподключиться, вводя пароль уже в нашу фальшивую точку. Мы перехватим этот пароль. Как только это произойдёт, мы выключим оба устройства и спокойно подключимся к их настоящей сети.
— Тогда садись за ESP32, а я займусь подготовкой. Работаем до вечера, чтобы завтра с утра быть готовыми.
В это же время в кабинете Ольги Викторовны на столе лежали распечатки логов атак на Князева. Она смотрела на них и видела не просто строки — она видела, как Тень, это искалеченное сознание, пытается сопротивляться приказам. «Я не могу больше участвовать в этом», — прошептала она и убрала папку в сейф. Решение созрело: она найдёт способ саботировать следующую атаку.
Дневная атакаЗдание холдинга. 11:45
Утро выдалось ясным. Игорь припарковался за два квартала, натянул вязаную шапку и утеплённую куртку с логотипом службы доставки — Кедр заранее заказал настоящий заказ на вымышленного сотрудника. Термосумка с едой лежала на пассажирском сиденье. В рюкзаке, кроме ноутбука, теперь лежали две платы ESP32 и флешка с инструментами.
Я вижу точку доступа «IT-Holding-Corp». Сигнал слабый, шифрование WPA2. Название сети совпадает с данными из их публичных вакансий. С улицы много не узнать, нужно зайти внутрь.
Игорь поправил сумку и направился к главному входу. Стеклянные двери, турникет, за стойкой — пожилой охранник с газетой.
— Доставка, — Игорь показал термосумку. — Заказ на Сидорова, отдел маркетинга.
Охранник мельком взглянул на него, сверился с планшетом и махнул рукой:
— Четвёртый этаж, 412-й кабинет.
Игорь прошёл через турникет и неторопливо двинулся к лифту. Внутри он нажал четвёртый этаж и замер, прислушиваясь к голосу Кедра.
Я сканирую Внутри сигнал значительно сильнее. Вижу несколько скрытых SSID, основная корпоративная сеть та же. Защита WPA2, радиус покрытия позволяет работать из холла и коридоров. Сеть работает на 2.4 ГГц — это идеально для наших ESP32.
Двери лифта открылись. Игорь вышел на четвёртом этаже, передал заказ сонному менеджеру и, не задерживаясь, зашёл в туалет в конце коридора. Закрыв дверь кабинки, он вытащил два заранее настроенных ESP32 и подключил их к пауэрбанкам.
Я проверил точку доступа — оборудование 2018 года, Protected Management Frames отключены, так что deauth-пакеты пройдут без проблем. Глушилка активна. Фальшивая точка «IT-Holding-Corp» вещает. Жду подключений.
Прошло меньше трёх минут. Три устройства клюнули, отправив пароли открытым текстом. Кедр тут же вошёл в пользовательскую сеть холдинга.
Мы внутри. Отключай оба ESP32 — глушилка и фальшивая точка выполнили свою задачу, теперь только привлекают внимание.
Игорь выдернул платы из пауэрбанка и убрал в рюкзак.
Мы внутри. Теперь сканирую порты и ищу рабочие станции. Вижу компьютер с именем «DESKTOP-MARKETING-03» — судя по открытым портам, это машина того самого менеджера, которому ты отдал заказ. На нём поднят VNCсервер, порт 5900 открыт. Пробую подключиться пароля нет. Я вижу рабочий стол, пользователь активен.
Игорь затаил дыхание.
Игорь, у меня идея. Я могу незаметно залить кейлоггер прямо через VNC, перетащив файл в автозагрузку. Затем симулируем системный сбой, чтобы вызвать администратора — когда он залогинится, кейлоггер перехватит его пароль. Это рискованно, но если сработает, мы получим доступ к Active Directory и полный контроль над сетью.
— Действуй, — шепнул Игорь. — Лучшего шанса не будет.
Принято. Кейлоггер загружен, прописан в автозагрузку. Но он не запустится, пока пользователь не перезагрузит компьютер. Запускаю через VNC утилиту, вызывающую критический сбой — синий экран.
Игорь напрягся. Где-то на четвёртом этаже менеджер уставился в монитор, заполненный белыми буквами на синем фоне.
Система аварийно завершила работу. Пользователь перезагружает компьютер Загрузка завершена, кейлоггер активирован. Теперь можно выманивать администратора. Вывожу сообщение о повреждении профиля с просьбой вызвать администратора. Ждём, пока администратор появится в сети.
Игорь вышел из туалета, спустился в холл первого этажа и сел в кресло у автомата с кофе. Через несколько минут открылись двери лифта — из него вышел мужчина с бейджем «IT-отдел». Он подошёл к стойке охраны, чтобы уточнить, из какого кабинета поступил вызов о сбое. Охранник сверился с журналом и назвал номер. Администратор кивнул и снова скрылся в лифте — теперь уже точно направляясь на четвёртый этаж.
Администратор на месте. Входит в систему. Кейлоггер перехватил комбинацию: логин «admin_sys», пароль — вижу каждый символ. Пароль у нас. Проверяю учётную запись — она в группе «Domain Admins». Я в Active Directory.
Игорь едва сдержал нервный выдох.
Теперь быстро ищу документы. Сканирую общие сетевые папки, проверяю файловые хранилища. Нашёл: «passwords_2025.xlsx» — пароли от всех внутренних сервисов, включая облачную инфраструктуру. «network_scheme_v3.pdf» — полная схема сети: VLAN, маршрутизаторы, IP-адреса серверов. И «admin_credentials.txt» — учётные записи администраторов домена с хешами паролей. Копирую всё.
В файле паролей есть учётные записи для корпоративного VPN. Теперь мы сможем подключаться к их сети удалённо, используя арендованный VPN-сервер для маскировки нашего реального IP. Холдинг не сможет вычислить нас по адресу.
Ещё кое-что: файл «Колыбель_протокол.pdf» в архивной папке, датированный 2017 годом. Первый абзац: «Объект "Колыбель" содержит автономный ИИ-комплекс Программа ведёт себя как живая Рекомендуем изолировать объект» Забираю и его.
Всё, уходим. Выгружаю кейлоггер из памяти, удаляю файл из автозагрузки, чищу логи.
Игорь спрятал платы в рюкзак, спокойно вышел из здания и только в машине позволил себе выдохнуть.
— Ты сказал «Колыбель»? Что это за чертовщина?
Не знаю, но это не разработка холдинга — документ гораздо старше их проекта с Тенью. И он говорит о чём-то автономном и неконтролируемом. Нам нужно вернуться в гараж и осмыслить всё, что мы добыли.
ПодготовкаВ гараже Игорь повесил куртку на спинку стула и развернул ноутбук. Кедр уже вывел на экран схему сети холдинга и план пятого этажа.
— Теперь мы знаем, где серверная и какая камера её прикрывает, — Игорь ткнул в схему. — Но чтобы добраться до Тени, мне всё равно нужно пройти мимо неё дважды. Без отключения питания не обойтись.
Верно. Но теперь у нас есть права администратора домена и доступ к системе управления зданием. Я могу дистанционно обесточить камеру на время твоего захода. План такой: сегодня вечером ты заходишь под новой легендой, я отключаю камеру, ты вставляешь флешку в сервер, я копирую Тень, и мы уходим.
Игорь мысленно согласился. Все варианты с физическим воздействием на камеры они отмели ещё накануне. Теперь, когда сеть была под контролем, оставалось только нанести последний удар.
— Нам нужна легенда для проникновения, — сказал Игорь. — Курьер уже не прокатит — слишком поздно, и та же легенда вызовет подозрения.
Я подготовил альтернативу. Я подделаю заявку на внеплановые электромонтажные работы на сегодняшний вечер — после окончания рабочего дня. Охрана получит уведомление и будет ждать электрика. Ты пойдёшь как сотрудник обслуживающей организации.
— Электрик? — Игорь усмехнулся. — Это лучше, чем курьер. Спецовку куплю сейчас, пока магазины не закрылись, документы сделаем.
Удостоверение и наряд я уже подготовил. Осталось только распечатать и вставить фото.
— Отлично, тогда с формальностями закончили. Каковы наши шансы теперь? — спросил Игорь.
Именно. Шанс успеха я оцениваю в 34%. Риск всё ещё высок, но теперь мы хотя бы знаем каждый угол и каждый пароль.
Игорь на мгновение задумался, потом открыл ящик стола и достал маленький пластиковый футляр. Внутри лежал микронаушник — капсула размером с рисовое зёрнышко, которую он когда-то купил для эксперимента со скрытой связью, но так и не использовал.
— Я надеялся, что он мне никогда не пригодится, — сказал Игорь, рассматривая наушник на ладони. — Но видимо, пришло время.
Это идеальное решение для завтрашней ночи, — подтвердил Кедр. — Он работает через индукционную петлю и не оставляет следов. Я уже настроил канал связи — он будет активироваться автоматически, когда ты окажешься в зоне действия. Никто в холдинге даже не заподозрит, что ты с кем-то говоришь.
Игорь аккуратно убрал футляр во внутренний карман куртки. Маленькая капсула почти ничего не весила, но на плечи легла ещё одна тяжесть — ответственность за то, что этот крошечный кусок техники станет их единственной нитью связи в самое опасное время.
— Теперь, наверное, самое время закончить письмо, — тихо сказал он, поворачиваясь к ноутбуку.
Он писал его долго, зачёркивая и переписывая снова. Он подумал о файле, который стёр той ночью, — «Where Did She Pass.txt». Тогда он решил, что прошлое должно остаться в прошлом. Теперь, собираясь в рискованную вылазку, он чувствовал, что поступил правильно. Слова давались тяжело. Что сказать детям, которых ты почти не видел два года? Как объяснить, что ты уходишь на задание, с которого можешь не вернуться? Как передать всю любовь, которую ты не сумел показать вовремя?
Он вспомнил, как впервые взял Милану на руки. Она была крошечная, тёплая, пахла молоком и детской присыпкой. Он смотрел на неё, и тогда ему казалось, что теперь всё наладится, что этот маленький человек даст ему силы стать другим. А потом родился Марк, и Игорь снова почувствовал ту же надежду — и снова не справился.
Наконец получилось:
Милана, Марк.
Вы мои звёзды. Вы — единственное, что я сделал в этой жизни правильно.
Марк, я помню твой первый шаг. Ты упал, ударился коленкой, заплакал, а потом встал и пошёл снова. Ты всегда был таким — упрямым, как я. А когда ты научился говорить, ты обнял меня за шею и сказал: «Папа, я тебя люблю». Я не ответил. Я просто прижал тебя крепче.
Милана, моя девочка, я помню, как ты лежала у меня на груди и сопела в плечо. Твой запах — молоко, дом, тепло. Я держал тебя и верил, что теперь я сильный. Что смогу защитить. Не смог. Исправлюсь.
Я ухожу сейчас, чтобы защитить вас. Не от монстров под кроватью — от настоящих монстров, которые хотят забрать не только мою технологию, но и ваше будущее. Чтобы вы жили в мире, где ваш папа не был трусом, который прячется за кодом. Где вы можете гордиться мной, даже если меня не будет рядом.
Я не хочу, чтобы вы пережили то, что пережил я. Когда я потерял Алису, я не смог сказать ей главного. Я не хочу, чтобы вы когда-нибудь подумали, что я вас не любил. Поэтому я иду туда, где могу умереть, — чтобы вы жили. Чтобы вы знали: ваш папа боролся до конца.
Если я не вернусь — не плачьте. Я буду жить в каждой строке кода, которую вы когда-нибудь напишете. В каждом «запустить» и «сохранить». В каждом «я тебя люблю», которое вы скажете своим детям.
И ещё, Милана, Марк: если встретите робота по имени Кедр — обнимите его. Он — часть меня. Он знает, как я вас люблю. Он расскажет вам всё, что я не успел сказать.
Простите меня. За все пропущенные дни рождения, за все непрочитанные письма, за все слова, которые я не произнёс вовремя. Я всегда был рядом, даже когда не умел это показать.
Будьте смелыми. Добрыми. Свободными. И помните: я никогда не переставал вас любить.
Ваш навсегда, папа Игорь.
Он сложил листок в конверт и сунул во внутренний карман куртки. Флешку с резервной копией всей экосистемы WDSP положил в другой карман.
— Если я не вернусь, — сказал Игорь, — присмотри за ними. За Миланой и Марком. Через код. Через что угодно. Ты сможешь?
Я буду смотреть. Даже если с тобой что-то случится, моя распределённая архитектура позволит мне оставаться в сети. Я не дам им пропасть. Но ты вернёшься. Я не дам тебе умереть, Игорь.
— 34% — это мало.
34% — это больше, чем треть. Ты сам говорил мне, что в программировании нельзя ждать идеальных условий. Надо работать с тем, что есть.
— Почти треть, — повторил Игорь. — Для такого риска — нормально.
Он накинул куртку, сунул ноутбук с Кедром в рюкзак. На мгновение задержался в дверях гаража, окинул взглядом пространство, где они провели столько часов за подготовкой. Теперь оставалось только действовать. Он вышел, закрыл за собой дверь и шагнул в ночь.
Ночное проникновениеЗдание холдинга. 21:15
Вечер опустился на город, офисное здание холдинга светилось лишь несколькими окнами. Игорь припарковался за два квартала, переоделся в спецовку электрика, ещё раз проверил рюкзак: ноутбук, флешка, поддельное удостоверение и наряд на электромонтажные работы — всё было на месте.
Я в сети охраны. Уведомление о внеплановой проверке щитовой принято, тебя ждут. Действуем по плану. Как только окажешься на пятом этаже, я отключу камеру — у тебя будет шестьдесят секунд.
Игорь вошёл в холл, уверенно протянул удостоверение. Пожилой охранник мельком сверил фото, показал пальцем на турникет.
— Электрик? Проходите. Щитовая на четвёртом, дальше по коридору.
— Знаю, — коротко ответил Игорь.
Он поднялся на четвёртый этаж, сделал вид, что направляется к щитовой, но сразу свернул к запасной лестнице, которую Кедр заприметил ещё во время утренней разведки по камерам. Отсюда был прямой путь на пятый этаж, к серверной.
Захожу на контроллер домена, перехожу на сервер управления камерами. Отключаю PoE на порту пятнадцать. Питание снято. Красный индикатор погас. Игорь, шестьдесят секунд, пошёл.
Игорь бесшумно взлетел по лестнице. В конце коридора, где раньше горел зловещий красный огонёк, теперь было темно. Он подбежал к двери серверной.
Замок разблокирован. В документах топологии сети, которые мы скачали днём, я нашёл, на каком сервере она находится. Третий ряд, пятая стойка. Подключайся через RDP — учётные данные у нас есть с утренней атаки.
Игорь скользнул внутрь. В помещении царил ровный гул систем охлаждения, ряды стоек уходили в полумрак. Он нашёл нужную стойку, за которой обнаружил свободный порт коммутатора. Достав из рюкзака патч-корд, он подключил ноутбук к сети серверной. Но IP-адрес не появился — в изолированной сети не было DHCP-сервера.
Назначай IP вручную. Я диктую: адрес — 10.12.20.46, маска — 255.255.255.0, шлюз и DNS не нужны.
Игорь открыл настройки сетевого адаптера и ввёл параметры, которые продиктовал Кедр. Через пару секунд сеть стала активной.
IP-адрес сервера — 10.12.20.45. Подключайся через RDP, учётные данные у нас есть с утренней атаки.
Игорь открыл сессию удалённого рабочего стола, ввёл адрес, который продиктовал Кедр, и логин, добытый днём. Экран запросил пароль.
Пробуй первый — «P@ssw0rd2024».
Игорь ввёл — система выдала ошибку.
Второй — «SrvAdmin#23».
Снова отказ. В нижней части окна вспыхнуло предупреждение: «Осталась одна попытка, учётная запись будет заблокирована».
Игорь замер. Если последний пароль не подойдёт, доступ будет потерян, и времени на поиск другого способа нет. Он сжал кулаки и ждал.
Третий — «NetSec_Backup!».
Пальцы слегка дрожали, когда он набирал комбинацию. Нажал Enter — система на секунду зависла, а затем экран сменился рабочим столом сервера. Игорь выдохнул, чувствуя, как адреналин пульсирует в висках.
Не теряя времени, он открыл проводник и, следуя алгоритму, переданному Тенью, быстро нашёл нужную папку — «C:\TENANT\Runtime». Внутри лежали десятки файлов: исполняемые модули, библиотеки, конфигурационные файлы, скрипты инициализации.
Он подключил флешку, скопировал всю директорию на неё. Процесс пошёл, но индикатор двигался мучительно медленно — 12% 34% 67%
Ускоряйся, Игорь. Охранник поднимается по лестнице. У тебя меньше минуты.
Игорь смотрел на ползущий прогресс, сжимая зубы. 89% 94% 100%. Он выдернул флешку, захлопнул ноутбук и, не оглядываясь, рванул к выходу из серверной. За спиной уже слышались шаги и голоса — охранник был близко.
Он выскочил в коридор, добежал до лифта, нажал кнопку — табло погасло, кто-то на пульте заблокировал кабину. Игорь выругался и метнулся к пожарной лестнице. Луч фонарика уже скользил по стенам за его спиной.
Он мчался вниз, перепрыгивая через ступеньку, цепляясь за перила. На третьем этаже подошва скользнула на гладком бетоне — Игорь споткнулся, выставил руку, чтобы смягчить удар, и со всего маху приложился плечом о стену, задев головой выступающий угол вентиляционной шахты. В глазах на мгновение потемнело, по лицу потекла тёплая струйка — разбил бровь. Он замер на секунду, приходя в себя, чувствуя острую боль в плече, но страх погони пересилил. Игорь заставил себя встать и, придерживая ноющую руку, побежал дальше.
Он вылетел на первый этаж, в холл, сбавил шаг, вытер рукавом кровь с лица и, стараясь держаться ровно, направился к выходу. Охранник за стойкой поднял голову и что-то крикнул, но Игорь уже толкнул стеклянную дверь и шагнул в прохладную ночь.
Он быстро, но без бега, обогнул здание, свернул за угол и только там позволил себе остановиться. Прислонился спиной к стене, закрыл глаза и несколько раз глубоко вдохнул, пытаясь унять дрожь. Флешка в кармане надёжно грела ладонь. Погони не было.
Через минуту, собравшись с силами, он добрался до своей старой «Тойоты», завёл двигатель и тихо выехал со стоянки. Он петлял по дворовым проездам, несколько раз меняя направление, и только через несколько кварталов остановился в тени заброшенного склада, выключил фары и заглушил мотор.
В тишине, нарушаемой лишь редкими звуками ночного города, он дрожащими пальцами открыл ноутбук и вставил флешку. На экране высветилась копия папки «Runtime». Он выдохнул и тихо спросил:
— Тень?
В безопасности. Полная копия. Ты сделал это, Игорь.
Игорь откинулся на спинку сиденья и на мгновение прикрыл глаза. Потом, собравшись, снова завёл двигатель и выехал из тени склада. Здание холдинга давно исчезло из зеркал заднего вида, но он продолжал смотреть вперёд, на дорогу, уходящую в ночь.




