
Полная версия:
Ошибка 404: Слепая зона
Он протянул руку и схватил ключи. Его пальцы нарушили безупречный порядок, сдвинув телефон и кошелек. Теперь на матовой поверхности стола царил хаос – мелкий, бытовой, но для Максима он был равносилен взрыву сверхновой.
Он снял с вешалки легкое пальто. Движения его стали резкими, лишенными привычной экономности. Он не стал проверять, выключен ли свет в гостиной. Он не стал выравнивать коврик у двери.
На пороге он обернулся. Квартира смотрела на него пустыми серыми глазницами окон. Его «идеальное состояние», его «полный ноль» – всё это оказалось лишь временной анестезией. Настоящий аудит начинался прямо сейчас. И ценой ошибки в этом расчете будет не потеря лицензии, а нечто гораздо более весомое.
Максим вышел на лестничную клетку и захлопнул дверь. Звук замка отозвался в пустом коридоре финальным аккордом. Баланс был официально нарушен.
Он спускался в лифте, глядя на свое отражение в зеркале. Тот же спокойный взгляд, та же прямая осанка. Но внутри него, глубоко под слоем цифр и алгоритмов, проснулось что-то, что он считал давно ампутированным. Это было нетерпение охотника, который обнаружил в идеальной системе фатальную ошибку и теперь жаждет её исправить.
Он вышел на улицу. Ночная Москва встретила его запахом дождя и бензина. Максим сел в машину, бросил пальто на соседнее сиденье и завел двигатель. На приборной панели зажглись цифры. 00:42.
Время его одиночества закончилось. Начиналось время Проекта «Зенит».
Глава 2. Приговор
Торговый центр на окраине МКАДа в три часа ночи напоминал декорации к фильму о постапокалипсисе, где жизнь имитировалась лишь тусклым светом рекламных щитов и гулом мощных холодильных установок. Максим и Лена вошли через автоматические двери, которые разъехались с болезненным скрипом, словно неохотно впуская их в чрево бетонного монстра.
Десять минут назад Максим подобрал её у круглосуточной аптеки, как и планировал. Она возникла из тени аптечного козырька – маленькая, ссутулившаяся фигура с прижатой к груди сумкой. Она нырнула в его серую машину, не проронив ни слова, и Максим сразу почувствовал, как салон заполнил холодный уличный воздух и запах её страха. Пока они ехали к ТЦ, он трижды сворачивал в случайные дворы и один раз намеренно проскочил на желтый, проверяя зеркала. Хвоста не было, но интуиция аудитора, привыкшего искать скрытые изъяны, твердила, что баланс безопасности уже нарушен.
Они поднялись на пустом эскалаторе, который двигался с едва слышным механическим скрежетом. Максим шел на полшага впереди, машинально сканируя пространство: выходы, слепые зоны, положение камер. Лена семенила следом, пряча лицо в высокий воротник серого пальто.
Фуд-корт на третьем этаже встретил их агрессивным, мертвенно-белым светом люминесцентных ламп. После стерильной тишины и полумрака машины этот свет бил по глазам, обнажая каждую неприглядную деталь: облупившуюся краску на ножках стульев, брошенные кем-то подносы и липкие лужицы от пролитых напитков. Единственными живыми существами были двое уборщиков в оранжевых жилетах, которые лениво возили швабрами по кафелю, производя ритмичный, чавкающий звук.
– Садись здесь, – Максим указал на столик в самом углу, под вывеской закрытого магазина электроники, за пыльной пластиковой пальмой. Это место обеспечивало обзор на оба эскалатора и прикрывало спину.
Лена опустилась на пластиковый стул, который под её весом жалобно скрипнул. В беспощадном свете фуд-корта она казалась выцветшей фотографией самой себя. Тенью, затерянной в складках собственного пальто. Она всё еще мелко дрожала, хотя в ТЦ было душно и пахло пережаренным маслом.
– Рассказывай всё по порядку, – сказал Максим, не снимая куртки и сохраняя готовность уйти в любую секунду. – Только факты. Эмоции оставим следствию.
Лена вздрогнула от его тона, но послушно выложила на стол стопку бумаг, которые она всё это время судорожно прижимала к себе. Листы были измяты, на некоторых виднелись следы от кофейных чашек – следы её бессонной ночи. Максим поморщился: для него документы были священны, их физическая неопрятность была признаком интеллектуального хаоса.
Сверху лежало официальное уведомление из Следственного комитета. Статья 159, часть 4. Мошенничество в особо крупном размере. Полмиллиарда рублей.
– Они прислали это курьером прямо в офис. В руки, – прошептала Лена. Её голос был сухим, ломким. – А через десять минут в мой кабинет зашел Бельский. Знаешь его? Ведущий адвокат фонда. Всегда безупречный, в костюмах по цене моей квартиры. Он улыбался, Макс. Присел на край стола, предложил воды. Сказал, что фонд «окажет мне всестороннюю поддержку», если я «не буду совершать глупостей и мешать следствию».
– Бельский? – Максим прищурился, вглядываясь в фамилию на документе. – Он не адвокат, он ликвидатор. Его задача – сделать так, чтобы пожар не перекинулся на Волкова. Если он предложил тебе поддержку, значит, гвозди в твой гроб уже заказаны и оплачены.
Максим начал перелистывать распечатки. Это были внутренние ведомости проекта «Зенит». Проект, который должен был стать прорывом в сельской медицине, теперь выглядел как дорожная карта к тюремным нарам.
– Рассказывай о структуре, – потребовал Максим, не поднимая глаз от цифр. – Кто такой Волков в иерархии реальных денег?
Лена глубоко вздохнула. Максим зафиксировал, как её пальцы судорожно впились в край пластикового стола, залитого чем-то розовым и липким.
– Волков… он гений маркетинга. Он понял, что сейчас добродетель – это самый прибыльный товар. Фонд «Наследие» строился как империя чистого реноме. Мы строим школы, проводим интернет в глушь… Проект «Зенит» был моим детищем, Макс. Моим триумфом. Мы создавали единую систему для сельских врачей, чтобы старик в забайкальском селе мог получить консультацию столичного кардиолога. Это должно было быть прозрачно! Блокчейн, открытые тендеры… Волков называл меня «совестью фонда». А теперь оказывается, что через мои же защищенные шлюзы кто-то вывел пятьсот миллионов. Деньги растворились, а все цифровые ключи и логи ведут ко мне. Домой. В три часа ночи.
– Пятьсот миллионов не растворяются, – Максим выделил одну из сумм ручкой, которую всегда носил в нагрудном кармане. – Они просто переходят из одного состояния в другое. Если их нет на счетах «Зенита», они осели в другом месте. Вопрос в том, кто спроектировал этот черный ход.
– Только я имела доступ к админ-панели извне, – Лена покачала головой, и на её глаза навернулись слезы. – В этом и ужас. По всем записям это я подтверждала транзакции. Но я этого не делала! Я спала в это время! Клянусь тебе, я даже ноутбук не открывала.
Она внезапно подалась вперед, и её рука метнулась через стол, пытаясь накрыть его ладонь своей. Максим увидел это движение. Её кожа была бледной, почти прозрачной. Он помнил тепло её рук, помнил, как это тепло когда-то пробивало его броню, заставляя совершать нелогичные, глупые, человеческие поступки.
Но сейчас он не мог себе этого позволить. Эмоции – это шум. Шум мешает расчетам. Если он проявит слабость, он станет таким же уязвимым, как она.
Максим мягко, почти незаметно отвел руку в сторону, делая вид, что перекладывает один из листов. Лена замерла. Её пальцы на мгновение зависли над липким пластиком стола, а затем она медленно, с каким-то внутренним надломом, убрала руку в карман. Между ними снова выросла стена из цифр.
– Не надо, Лена, – тихо, но твердо сказал он. – Сочувствие тебе не поможет. Тебе поможет только аудит. Если я начну тебя жалеть, я пропущу ошибку в их схеме. А они наверняка ошиблись. Совершенных преступлений не бывает, бывают плохо проверенные отчеты.
Лена горько усмехнулась, вытирая глаза рукавом.
– Ты совсем не изменился. Всё тот же человек-калькулятор. Иногда мне кажется, что в твоих жилах течет не кровь, а литий.
– Литий обеспечивает стабильность, – парировал Максим. – Давай вернемся к Бельскому. Что еще он сказал?
– Намекнул, что если я признаю вину, фонд добьется условного срока. Сказал, что Волков «очень расстроен моим поступком». Представляешь? Расстроен! Он даже не посмотрел мне в глаза, когда я пробегала мимо его приемной. Он уже вычеркнул меня из списка живых.
Максим еще раз взглянул на уведомление. Статья 159.4. Это было похоже на приговор, напечатанный идеальным шрифтом. Весь этот пустой фуд-корт с его запахом застарелого фритюра казался залом ожидания перед отправкой в ад.
– Ты сказала про черную «Октавию», – Максим начал складывать бумаги обратно в её папку, соблюдая свой внутренний стандарт порядка. – Она стояла именно у твоего дома?
– Да. Номер я не запомнила, было слишком темно. Но она стояла там три часа. Когда я уходила через черный ход к аптеке, где ты меня ждал, она всё еще была там. Двигатель работал. Они не прячутся, Макс. Они хотят, чтобы я видела.
Максим посмотрел на уборщиков. Те уже заканчивали свою работу и направлялись к выходу, гремя ведрами. Скоро здесь выключат свет, и они останутся в полной темноте.
– Бежать бессмысленно, – согласился Максим. – Если ты скроешься, это будет признанием. Нам нужно нападать. Но для этого мне нужно войти в систему фонда под твоим именем и увидеть то, что не видит следствие. Мне нужны твои пароли и токены доступа. Все. И прямо сейчас.
Лена посмотрела на него с сомнением, смешанным с надеждой.
– Если тебя поймают в системе, ты пойдешь как соучастник. Ты понимаешь, что твоя стерильная жизнь на этом закончится?
Максим поднялся, застегивая куртку. В его глазах отразились холодные огни люминесцентных ламп.
– Моя жизнь закончилась сорок минут назад, когда я поднял трубку, – отрезал он. – Соучастие – это когда люди вместе совершают ошибку. Я не собираюсь совершать ошибок. Я собираюсь привести этот баланс к нулю. А теперь пойдем. Нам нужно сменить локацию прежде, чем нас зафиксирует ночная смена охраны.
Он пошел к эскалатору, не оборачиваясь. Лена поспешила за ним, её шаги эхом отдавались в пустом торговом центре. Максим чувствовал её страх, он почти ощущал его кожей, как статическое электричество. Но он упорно продолжал считать: количество шагов до выхода, секунды до смены цикла светофора на улице, вероятность того, что черная «Октавия» прямо сейчас кружит по району в поисках его серой машины.
Они остановились в круглосуточном антикафе в промышленном районе. Это было странное место – подвальное помещение с низкими потолками, обставленное разномастными диванами и заваленное настольными играми. В четыре часа утра здесь не было ни души, кроме засыпающего за стойкой администратора в наушниках. Максим выбрал самый дальний стол, скрытый за выступом кирпичной стены, подальше от единственной камеры наблюдения.
– Ноутбук, – коротко бросил Максим.
Лена дрожащими руками достала из сумки тонкий ультрабук в алюминиевом корпусе. На крышке была наклейка фонда «Наследие» – стилизованное дерево, чьи корни превращались в электронную схему. Сейчас это дерево выглядело как петля.
Максим открыл крышку. Экран вспыхнул, залив его лицо холодным синим светом. Для Лены это был инструмент для работы, для Максима – место преступления. Он не стал заходить в пользовательский интерфейс. Первым делом он вставил в порт свою флешку с набором диагностических утилит, которые собирал годами.
– Мне нужен твой пароль администратора и токен доступа к корпоративному шлюзу, – сказал он, не отрывая взгляда от бегущих строк кода.
Лена продиктовала буквенно-цифровой код. Максим ввел его с пулеметной скоростью.
– Теперь молчи. Просто сиди и пей этот ужасный чай. Мне нужно войти в ритм системы.
Первые полчаса Максим работал в абсолютной тишине. Слышно было только сухое пощелкивание клавиш. Он не смотрел на банковские выписки – это была лишь верхушка айсберга, финал спектакля. Его интересовали логи – «черный ящик» любой системы, в котором записывается каждое движение, каждый чих пользователя.
Он начал с сопоставления временных меток.
– Так, – прошептал он, и его глаза за линзами очков (он надел их для работы с мелким кодом) сузились. – Двенадцатое марта. Транзакция на двенадцать миллионов. Лог шлюза показывает, что запрос пришел с твоего IP-адреса в 03:14 ночи. Ты где была в ту ночь?
– Дома, – быстро ответила Лена. – Я спала. У меня был выключен роутер, я всегда выключаю его на ночь из-за проблем со сном.
– Лог утверждает обратное. Но посмотри сюда.
Максим развернул экран к ней. На нем были две колонки цифр.
– Это время системных часов сервера и время сетевого протокола NTP. Видишь разницу? Четырнадцать секунд. В нормальной системе они синхронизированы до миллисекунд. Эти четырнадцать секунд – «временная петля». Кто-то искусственно замедлил системное время сервера, чтобы впихнуть в него пакет данных, который был сформирован заранее, а не в реальном времени. Это классическая инъекция.
Он углублялся всё дальше, продираясь сквозь дебри системных журналов. Его пальцы летали по клавиатуре, открывая и закрывая окна терминала. Внутренний азарт аудитора начал вытеснять усталость. Он видел структуру. Он видел почерк.
– Они не просто взломали твой пароль, Лена. Это было бы слишком примитивно для суммы в полмиллиарда. Они создали «призрачную запись».
– Что это значит? – Лена подалась вперед, вглядываясь в непонятные ей строки кода.
– Посмотри на этот кусок скрипта в ядре финансового модуля. if (transaction_sum> 1000000) {exec root_bypass.sh}. На человеческом языке это звучит так: если сумма перевода превышает миллион, система активирует скрытый сценарий. В тот момент, когда ты – или тот, кто имитировал тебя – нажимаешь кнопку «Подтвердить», скрипт на доли секунды подменяет реквизиты получателя. На экране ты видишь счет проверенного поставщика, но в банковский шлюз уходит номер офшорного кошелька. После завершения операции скрипт возвращает всё назад и стирает себя из оперативной памяти.
Максим замер. Его дыхание стало тяжелым. Он только что нашел «Smoking Gun» – дымящийся пистолет, но этот пистолет был встроен в саму кобуру.
– Это не вирус, – медленно произнес он, и холодный пот коснулся его спины. – Эту функцию невозможно добавить извне через обычный взлом. Она прописана в архитектуре самого софта. Глубоко, на уровне ядра.
– Ты хочешь сказать… – Лена побледнела еще сильнее.
– Я хочу сказать, что фонд «Наследие» заказал разработку системы «Зенит» с уже встроенным механизмом для воровства. Архитекторы системы изначально предусмотрели возможность вывода средств так, чтобы виноватым всегда оказывался конечный пользователь с правами администратора. То есть ты. Это не подстава коллег, Лена. Это «инженерная» работа государственного масштаба. Тот, кто писал этот код, знал, что его никогда не будут проверять обычные спецы.
Максим откинулся на спинку дивана. Его руки мелко дрожали – не от страха, а от осознания чудовищности масштаба. Он привык ловить сисадминов на мелких откатах и бухгалтеров на подделке чеков. Но здесь он столкнулся с системой, которая была спроектирована как инструмент преступления. Весь фонд, вся эта «благотворительность», все школы и больницы были лишь декорацией для гигантского шредера, перемалывающего бюджетные деньги в частный капитал.
И Лена в этой схеме была не просто сотрудником. Она была расходным материалом, предусмотренным техническим заданием. «Предохранитель», как она сама выразилась в ТЦ.
– Макс, что мне делать? – её голос сорвался на шепот. – Если это встроено в систему, то я никогда не докажу свою невиновность. Моя подпись стоит под каждым этим чертовым кодом.
Максим снова посмотрел на экран. Холод в животе, который он почувствовал в ТЦ, теперь превратился в ледяную глыбу. Он понял, против кого они вышли. Волков не просто воровал деньги. Он строил систему, защищенную на уровне математики и логики. Чтобы победить её, нужно было не просто найти ошибку, нужно было переписать правила игры.
– Есть одна деталь, – Максим снова придвинул ноутбук. – Любой код оставляет «цифровую пыль». Смотри сюда. Скрипт подмены активировался через удаленный триггер. Кто-то должен был дать команду на исполнение в ту самую секунду. И этот кто-то использовал уникальный сертификат разработчика.
Он ввел длинную команду, запуская глубокий поиск по хеш-суммам сертификатов. Процессор ноутбука взвыл, вентиляторы заработали на максимуме. Секунды тянулись как часы. Лена не дышала, глядя на индикатор загрузки.
Наконец, экран выдал одну-единственную строку.
– Есть, – выдохнул Максим. – Сертификат DEV-GEN-099-X. Он принадлежит не фонду. Он принадлежит компании-разработчику «Скай-Тек». Но знаешь, что самое интересное? Эта компания закрылась через неделю после сдачи проекта «Зенит». Её больше нет. Все концы в воду.
– Значит, это тупик?
– Нет, – Максим закрыл ноутбук. – Это направление. Если компании нет, значит, кто-то из ведущих программистов должен был забрать исходный код с собой. Или оставить себе «бэкдор» на всякий случай. Нам нужен человек, который написал ядро «Зенита».
Максим поднял глаза на Лену. В его взгляде больше не было холодной отстраненности аудитора. Теперь там была ярость человека, чью логику попытались оскорбить столь наглым и совершенным преступлением.
– Мы не сможем оправдать тебя через суд, Лена. Судья не поймет разницу между NTP-сервером и системным временем. Для них твоя подпись – это истина в последней инстанции. Нам нужно заставить систему сожрать саму себя.
– Как?
– Я должен стать этим скриптом. Я должен влезть внутрь фонда и запустить их «шредер» в обратную сторону. Но для этого мне нужно попасть в их физическую серверную. Удаленно они нас заблокируют через пять минут после начала атаки.
Максим посмотрел на свои часы. 04:50. Скоро начнет светать. Город проснется, и охота на Лену перейдет в активную фазу. Черная «Октавия» – это только начало. Скоро подключатся административные ресурсы, биллинг телефонов, распознавание лиц по камерам.
– У нас есть примерно три часа, пока Бельский не поймет, что ты не просто прячешься, а начала кусаться, – Максим встал, убирая ноутбук в сумку. – Нам нужно временное жилье. Место, где нет Wi-Fi, нет камер и где хозяйка не смотрит новости.
Он чувствовал, как его стерильная, выверенная жизнь рассыпается в прах. Но впервые за многие годы он чувствовал, что его мозг работает на 100% мощности. Это был не просто аудит. Это была война цифр. И он не собирался проигрывать её только потому, что противник оказался «инженером» высшей лиги.
– Пойдем, – он взял её за локоть, на этот раз не отстраняясь. – Нам нужно обнулиться. В прямом смысле слова. Мы должны исчезнуть из всех баз данных, чтобы появиться там, где они нас меньше всего ждут. В самом сердце их системы.
Они вышли из антикафе. Холодный утренний воздух ударил в лицо. Максим окинул взглядом пустую улицу. Где-то там, в цифровом эфире, уже летели пакеты данных с его описанием и номером машины. Он знал это так же четко, как видел «временную петлю» в логах.
Битва за полмиллиарда и одну жизнь перешла в фазу прямого столкновения.
Когда они вышли из антикафе, город уже начал менять свой цвет. Густая иссиня-черная ночь растворилась в вязком, сером тумане, который поднимался от реки и оседал на лобовых стеклах припаркованных машин тяжелой росой. Уличные фонари всё еще горели, но их свет – болезненно-оранжевый, мутный – едва пробивал эту белесую взвесь. Улица была абсолютно пуста, и в этой тишине шаги Максима и Лены звучали пугающе отчетливо, словно кто-то отстукивал метрономом последние секунды их относительной свободы.
Максим быстро шел к своей машине, сканируя взглядом пространство между домами. Его мозг, перегруженный часами анализа кода, теперь работал в режиме тактического процессора. Он отмечал каждую деталь: перегоревшую лампу над подъездом, случайную кошку, метнувшуюся в подвал, положение мусорных баков.
– Слушай меня, – не оборачиваясь, бросил он Лене. – Сейчас мы едем в одно место. Это старая квартира моей тетки, она пустует уже год. Там нет домофона с распознаванием лиц, нет умных колонок и умных телевизоров. Ты зайдешь внутрь, задернешь шторы и не будешь подходить к окнам. Про телефон забудь. Если захочешь пить – пей воду из-под крана, не выходи в магазин за бутылкой. Любая транзакция по твоей карте – это маяк, на который они прилетят через десять минут.
Лена шла следом, едва волоча ноги. Она напоминала сломанную куклу, чьи шарниры заржавели от сырости и усталости. Её взгляд был расфокусирован, она смотрела сквозь Максима, сквозь туман, куда-то в пустоту своего разрушенного будущего.
– Ты слышишь меня? – Максим остановился у водительской двери и резко обернулся.
Лена наткнулась на него, не успев затормозить. Она подняла на него глаза, и в оранжевом свете фонаря он увидел, что её зрачки расширены настолько, что почти скрывают радужку. Это был предел. Человеческая психика, в отличие от сервера, не имела системы автоматического охлаждения.
– Да… – прошептала она, едва шевеля губами. – Никаких транзакций. Никаких окон. Максим, я так хочу спать. Мне кажется, если я сейчас закрою глаза, я просто перестану существовать.
– Не сейчас, – отрезал он, открывая дверь и буквально заталкивая её на пассажирское сиденье. – Сон – это роскошь, которую мы пока не заслужили. Нам нужно добраться до места, пока город не проснулся и трафик не скрыл тех, кто может за нами прийти.
Он сел за руль, привычным жестом проверил, ровно ли лежат ключи в подстаканнике, и завел двигатель. Тихий рокот мотора показался ему в этой тишине ревом реактивного самолета. Максим включил габариты, но не стал включать ближний свет, пока они не выехали из дворов на освещенную магистраль.
Они двигались по пустынным проспектам. Москва в этот час была похожа на гигантскую спящую схему, лишенную электрического тока. Максим вел машину плавно, без резких ускорений, стараясь не привлекать внимания редких патрулей ДПС. Он постоянно поглядывал в зеркало заднего вида – сначала механически, по привычке, но через пятнадцать минут пути его взгляд замер.
В зеркале, в паре сотен метров позади, туман едва заметно колыхнулся.
Максим прищурился. Там не было фар. Никаких огней. Но он отчетливо видел силуэт – приземистый, темный, движущийся в том же темпе, что и его машина. Черный седан.
– Лена, пригнись, – негромко сказал он.
– Что? – она вскинулась, пытаясь рассмотреть что-то за окном.
– Вниз, я сказал! Голову ниже уровня остекления. Быстро!
Она подчинилась мгновенно, подчиняясь стальному холоду в его голосе. Максим почувствовал, как по позвоночнику пробежала первая волна настоящего, физического страха. Это не была полиция. Полиция включила бы «люстру», прижала бы его к обочине, начала бы орать в матюгальник. За ними шли «чистильщики». Те, кто работает в тени, за пределами протоколов и уголовных кодексов.
Машина сзади не приближалась. Она держала дистанцию, словно привязанная невидимым тросом. Это была та самая черная «Октавия». Она не просто ждала у дома Лены – она была частью алгоритма преследования, который Максим недооценил.
«Они не хотят нас арестовать», – промелькнуло в его голове. – «Они ждут, когда мы выедем на пустынный участок или доедем до укрытия, чтобы накрыть нас обоих разом».
Максим крепче сжал руль. Его ладони стали сухими, сердце работало ровно, но в висках начало пульсировать. Он понимал, что если сейчас он просто прибавит газ, они сделают то же самое. Им нужно было сломать этот ритм.
– Что происходит? – голос Лены из-под передней панели звучал глухо и испуганно.
– У нас хвост. «Чистильщики» фонда. Бельский не терял времени.
Максим резко вывернул руль вправо, уходя в узкий технический проезд между складскими ангарами. «Октавия» повторила маневр через секунду, всё так же без фар, используя только слабый отсвет городских фонарей. Она шла как акула в мутной воде – беззвучно и неотвратимо.
– Максим, они нас убьют? – в голосе Лены не было истерики, только бесконечная, выжженная усталость.
– Не в моем графике, – ответил он, хотя сам в это верил с трудом.
Он внезапно понял: всё, что он делал раньше – цифры, таблицы, аудит – было подготовкой к этому моменту. Вся его жизнь была попыткой построить систему, которую нельзя взломать. И сейчас он сам был этой системой.
Максим увидел впереди развилку: эстакада уходила вверх, на третье кольцо, а под ней темнел въезд в многоуровневый гаражный кооператив. Он выключил даже габариты, погружая машину в полную темноту. На долю секунды он стал слепым, ориентируясь только по памяти и едва заметным контурам бордюров.
– Держись!
Он резко ударил по тормозам, занося корму машины, и втиснулся в узкую щель между двумя бетонными блоками, ограждающими ремонтную зону. Мотор был заглушен мгновенно. Тишина обрушилась на них, тяжелая и липкая, как сам туман.
Через десять секунд мимо них, буквально в трех метрах, бесшумно проплыла черная тень. Это действительно была «Октавия». Темные стекла, отсутствие номеров, матовая краска, поглощающая свет. Она двигалась медленно, осторожно, как хищник, потерявший след. Максим видел профиль водителя – неподвижный, механический силуэт, не выражающий никаких эмоций.

