К книге
Тайна вещевого рынкаГлава 15
74%
Глава 15
17

Дорога к Сане пролегала через спящие промзоны Тарасова. Ночь была черной и густой, как смола, лишь редкие желтые пятна уличных фонарей выхватывали из темноты остовы старых цехов, заборы с облупившейся краской, брошенные вагоны. Я опустила окно, и ветер, свистя в ушах, срывал с лица остатки светской маски, унося в темноту прилипшую к коже пыльцу фальшивых улыбок.

В зеркале заднего вида мелькнуло отражение – бледное лицо, темные круги под глазами, но глаза горели. Не усталостью, а холодным, ясным огнем. По предплечьям еще бегали мурашки от встречи с Кругловым – не страх, а та цепкая, злая энергия, что выстреливает в кровь, когда чувствуешь слабину противника. Я прокручивала в голове его панику, циничную фразу, нервное вращение перстня на пальце. Это был не просто испуг. Это было осознание, что ловушка, захлопнутая пятнадцать лет назад, дала трещину. И теперь из этой трещины на него смотрело прошлое. Не абстрактное, а персонифицированное – в лице женщины в черном платье, знающей слишком много.

Но одного испуга было мало. Мне нужны были цифры. Бумаги. Файлы. То, что не зависит от субъективных впечатлений, от игры нервов и полутонов. То, что можно положить на стол следователю и сказать: – Вот. Это – факт. И для этого нужен был Саня. Его вселенная из битов и серверов была полной противоположностью миру Круглова с его показным лоском и гнилой подоплекой. Но именно эта вселенная могла дать ключ, чтобы взломать броню успеха, выстроенную на лжи.

Я свернула на знакомую ухабистую грунтовку, ведущую к его пятиэтажке на самой окраине. Район здесь был странный – не то спальный, не то заброшенный промышленный: панельные дома, построенные в семидесятые для рабочих соседних заводов, а теперь, когда заводы встали, превратившись в пристанище для студентов, трудовых мигрантов и таких вот маргинальных гениев. Его дом был самым последним в ряду, упершимся в заросший бурьяном пустырь и темный лес. Я припарковалась у подъезда, выключила двигатель. Тишина навалилась сразу, оглушительная после гула города. Лишь где-то далеко лаяла собака да ветер шелестел в сухой траве.

Перед тем как выйти, я достала телефон, смахнула уведомление о сообщении от Игоря Петровича («Есть новости?») и на несколько секунд застыла, глядя на темный экран. В нем отражалось мое искаженное лицо – маска усталости поверх стального каркаса решимости. Игорь Петрович боялся скандала, Круглов – расплаты, Волков – нового бесправия. А я боялась только одного – ошибки. Не той, что вскроется в суде, а той, внутренней, которая заставляет усомниться в выборе стороны. Я резко сунула телефон в карман. Сомнения – роскошь для философов. У детектива есть только факты и кодекс. И сейчас я ехала за фактами.

Подъезд встретил знакомым холодом сырых стен и гулом в ушах от внезапной тишины. Лифт не работал – не работал, кажется, с момента постройки дома. Я поднялась по лестнице на пятый этаж, слушая, как эхо моих шагов раскатывается по бетонным пролетам. Набрала код на щеколде – простую комбинацию, которую он когда-то выдал мне на случай экстренных визитов, – и толкнула дверь.

И погрузилась в хаос.

Если бы информационный поток обрел физическую форму, он бы выглядел именно так. Квартира-студия представляла собой одну комнату, захваченную техникой. Воздух висел густой, сухой, от него першило в горле – не от пыли, а будто от статического заряда, накопленного тысячами чипов. Свет рождался только в мерцающих глубинах мониторов – их было штук десять, если не больше, – теснившихся на Г-образном столе, который занимал половину пространства. Они горели синими, зелеными, оранжевыми прямоугольниками, по которым безостановочно ползли строчки кода, схемы сетей, карты. Провода. Их было больше, чем всего остального. Они сползали со стола, как черные водоросли, выползали из-под плинтусов, оплетали стеллажи с книгами и коробками, образовывали под ногами вязкие, упругие петли. Гул стоял непрерывный – низкий, ровный гул серверных стоек в углу и судорожный стрекот множества вентиляторов, отчаянно гонявших воздух, чтобы охладить этот электронный костер.

Среди этого, в самом центре, сидел Саня. Спиной ко мне, в кресле на колесиках, которое давно забыло свой офисный лоск и теперь напоминало командный пункт, обросший проводами. На нем была та же серая толстовка, что и три дня назад, и те же потертые джинсы. Светлые, неопрятные волосы торчали в разные стороны, будто он только что снял наушники.

Я переступила порог, стараясь не запутаться среди сползавших со стола проводов. Под ногами хрустнула пустая банка от напитка – одна из десятков, разбросанных по полу, как гильзы после боя. Единственной уступкой эстетике был пожелтевший плакат из фильма «Матрица» на стене, приклеенный скотчем. Все остальное – функциональный хаос, доведенный до абсолюта. Храм информации. Его жрец сейчас был погружен в трансовое состояние общения с машинами.

– Привет, – сказала я, закрывая за собой дверь.

Он не обернулся, только поднял руку в знак приветствия. Его пальцы продолжали летать по клавиатуре, выбивая такую дробь, что казалось – вот-вот посыплются пластиковые клавиши, не выдержав этого бешеного темпа.

– Минуту. Ловлю пакеты.

Я подошла, обогнула стол, встала так, чтобы видеть его профиль. Лицо бледное, невыспавшееся, но глаза за очками в тонкой оправе горели тем же холодным огнем, что и мои. Только его огонь питался не человеческими страстями, а потоками данных.

Он нажал последнюю клавишу и откинулся в кресле, сняв очки, чтобы протереть их краем толстовки. Без них он выглядел моложе, почти мальчишкой, но в уголках глаз залегли тени, знакомые всем, кто подолгу вглядывается в чужие цифровые следы.

– Твой Круглов не спит. Сети горят. Дай секунду, сейчас визуализирую…

Он щелкнул мышью, и на соседнем мониторе поплыли разноцветные графики, схемы из стрелок и блоков, напоминавшие карту метро для параноиков. Один из блоков, подписанный «офис Круглова ДЕЛС», испускал десятки красных линий, уходящих в хаотичные скопления за границей экрана.

– Видишь? С того момента как ты позвонила, с его адреса – активность как у раненого зверя. Все эти линии – попытки связаться с зарубежными серверами. Каналы шифрованные, конечно. Представь, что он пытается отправить документы не почтой, а бронированной машиной с тонированными стеклами через полгорода. Мы видим, что машина поехала и куда-то свернула, но что внутри – пока нет.

Он обернулся ко мне.

– Так. Рассказывай подробности. Что ты ему такого сказала, что он так всколыхнулся?

Я села на единственное свободное место – краешек дивана, заваленного проводами, пультами и какими-то платами. И начала рассказывать. О приеме, о черном платье, о легенде про инвестора. О том, как подошла, как выразила «соболезнования» по поводу бутика, как завела разговор о старом проекте «Пассажа». О его мгновенной панике при упоминании Волкова. И конечно, о ключевой фразе: «В каждом провале нужен тот, кто на себе вывезет ответственность».

Я говорила медленно, восстанавливая детали, как собирают разбитую вазу. Не просто пересказывала, а заново проживала каждую секунду, вылавливая из памяти то, что ускользнуло в пылу момента: как его взгляд на долю секунды метнулся к охраннику у бара, как пальцы левой руки, непроизвольно сжались в кулак, когда я произнесла «Пассаж».

– Стоп, – Саня поднял руку. – Охранник. Он был свой, из его конторы, или наемный, от клуба?

– Наемный. Униформа клуба. Но Круглов посмотрел на него так, будто ждал команды. Или сигнала. Ничего не произошло, но это был взгляд не на человека, а на инструмент.

Саня кивнул, делая на листе бумаги какую-то пометку кривыми, понятными только ему знаками.

– Хорошо. Продолжай.

Саня слушал молча, не перебивая, изредка только кивая. Когда я закончила, он долго сидел, глядя в пространство, его пальцы бессознательно выстукивали что-то по коленке.

– То есть он признал. Не прямо, но по сути признал, что подставил Волкова.

– Он признал свою философию. Хищника, для которого люди – расходный материал. А Волков для него – просто неудачник, который «получил по заслугам». Но самое главное – он испугался. Когда я назвала имя Волкова, зрачки у него сузились, как у кошки на ярком свету. Не перед полицией. Перед прошлым, которое вернулось бумерангом.

– Хорошо, – Саня потянулся, его суставы хрустнули. – Значит, твоя интуиция была права. Дело не в вандализме. Дело в старой подставе. И теперь у нас есть живой, напуганный субъект, который начал активно шевелиться в сети. Идеальные условия для охоты.

Он повернулся к мониторам, ткнул пальцем в один из них, где бежали столбики непонятных символов.

– Я уже начал. Пока ты ехала, поднял все, что мог, по «Вертикали». Компания официально ликвидирована в 2008 году. Все архивы, согласно документам, уничтожены. Но, как известно, в цифровом мире ничего не исчезает бесследно. Особенно если кто-то в момент краха решил подстраховаться.

Он переключил экран. На нем появилась фотография – нечеткая, сканированная, из какого-то старого корпоративного альбома. Несколько человек в деловых костюмах на фоне строительной площадки. Среди них я узнала молодого Артема Круглова – он почти не изменился, только выглядел жестче, амбициознее, без отшлифованного лоска сегодняшнего дня. Рядом с ним – другой мужчина, пониже, в очках, с интеллигентным, открытым лицом. Волков. Такой, каким он был пятнадцать лет назад. До тюрьмы. До краха. На его лице была улыбка, в глазах – вера в проект, в будущее. От этой картинки веяло таким разрывом между тем, что было, и тем, что стало, что пальцы сами сжали край стола – будто я держала в руках не снимок, а приговор.

– Игорь Волков, ведущий инженер проекта, – прокомментировал Саня. – И Артем Круглов, его непосредственный начальник, начальник отдела снабжения. Формально именно Волков подписывал все накладные и спецификации. Фактически, как мы подозреваем, Круглов давал команды, а когда начались проблемы, просто переложил всю ответственность на подчиненного. Бумажная волокита была поставлена так, что доказать обратное было почти невозможно. Свидетели либо молчали, либо исчезали. Классика.

– Но должна же была остаться хоть какая-то цифровая тень, – настаивала я. – Служебные записки, электронная переписка, черновики приказов. Хотя бы что-то, что показывает истинную цепочку команд.

– Должна. И я думаю, она есть. Потому что «Вертикаль» хоть и была провинциальной конторой, но работала с крупными подрядчиками, в том числе зарубежными. Значит, была внутренняя сеть, почтовый сервер, система документооборота. И был системный администратор. Человек, который все это поддерживал. После банкротства компании он исчез из Тарасова. По официальным данным, уехал в Питер работать в сфере информационных технологий. Архивы, которые он вел, должны были быть уничтожены. Но…

Саня сделал паузу, и на его лице появилась хитрая, почти волчья улыбка.

– Но в те времена было модно скидывать резервные копии на серверы хостингов. Дырявых, забытых. Словно спрятать ключ под коврик у двери, которую уже снесли. Я ищу такие «могильники». Ищу по косвенным признакам в системных журналах, по следам от старых сохранений.

– И что, они просто бросали эти ключи где попало? – не удержалась я. – Это же доказательства.

– Не бросали. Прятали с мыслью «на всякий случай». «Случай», когда тебе самому может понадобиться что-то против бывшего начальства или партнера. Цифровой черный ящик. Проблема в том, что за пятнадцать лет «ящики» ржавеют, их заливает, они теряются на забытых виртуальных складах. Поиск – это не магия. Это проверка тысяч адресов, которые когда-либо были связаны с доменом компании, и попытка понять, не валяется ли там, в углу, наш «ключ». Алгоритмы делают основную работу, но последнее слово – за удачей.

Я смотрела на Саню, на его сосредоточенное лицо, освещенное мерцанием экранов. Среди сползавших со стола проводов и гула вентиляторов он был как рыба в воде.

– Сколько времени потребуется?

– Зависит от того, жива ли эта свалка. Если повезет и доступ есть – несколько часов на скачивание и разбор. Если нет – придется искать другие «могильники». Но Круглов, как ты сказала, уже паникует. Значит, мы на правильном пути. Его цифровая тень мечется, а я ищу, где она споткнется о свой же старый мусор.

Он замолчал, уставившись на экран, где строчки команд бежали с гипнотической скоростью. Гул серверов заполнял паузу. Я отошла к окну, отодвинула тяжелую черную штору. За стеклом была чернота ночи и одинокий фонарь вдалеке. Я думала о Круглове. Он сейчас, вероятно, не спит. Сидит в своем кабинете с видом на Волгу, строит планы, звонит юристам. Он верит, что борется с призраком прошлого – с Волковым и его алой краской. Даже не догадываясь, что настоящая угроза материализуется из этого захламленного помещения на окраине, где молодой парень в толстовке роется в цифровых склепах, которые все должны были забыть.

Мой взгляд упал на один из стеллажей, заваленный не только книгами, но и странными артефактами: старый модем с мигающими лампочками, как трофей, кусок серверной платы, испещренный дорожками, будто карта неизвестного города. Среди этого хлама белел листок, приколотый к полке канцелярской кнопкой. Надпись, выведенная маркером: «Пароль – не стена. Это дверь, которую ты ищешь не там». Саня ловил информацию не силой, а пониманием ее природы. Он искал не стены, которые надо взломать, а двери, которые кто-то забыл закрыть. Этот принцип, видимо, и делал его гением в своем деле и полным неудачником в быту.

– Тань.

Я обернулась. Саня смотрел на меня, и в его глазах было необычное выражение – смесь усталости и азарта хищника, учуявшего кровь.

– Есть контакт. Нашел. Не сам сервер, конечно. Но дамп – архивную копию почты и документов «Вертикали» – на каком-то стороннем сервере, куда ее сбросили лет пятнадцать назад, видимо, для резерва. Качается.

Он повернул монитор. На экране ползла серая полоса прогресса. Процент увеличивался с мучительной медленностью.

Мы ждали. Минута. Две. Пять. Тишину нарушал только гул техники и нервное постукивание пальца Сани по столу. Я потеряла счет времени, только виски начали ныть от концентрации. Это была другая охота. Не та, к которой я привыкла, – с наблюдением, слежкой, психологическими играми. Это была охота в чистом поле данных, где противник – не человек, а время и случай: уцелел ли файл, не перезаписан ли сектор, верный ли пароль.

– Стой. – Саня нахмурился, его пальцы снова зависли над клавиатурой. – Засада. Сервер требует повторной аутентификации. Старая защита, типа шлагбаума, который опустился, потому что машина ехала слишком медленно. Сейчас.

Он открыл еще одно окно, начал вводить команды. На экране замелькали строки, одна из них подсветилась красным.

– Видишь? Он спрашивает пароль у того, кто качает. А того человека нет уже лет десять. Значит, будем представляться.

Я затаила дыхание. Это был момент, когда цифровой призрак мог раствориться, хлопнув дверью. Саня не спешил. Он открыл файл со списком типичных паролей той эпохи, сгенерированных на основе данных компании, и запустил небольшую программу. Это был не взлом в киношном смысле, с летающими матрицами кода. Это была терпеливая, почти механическая работа автоматической отмычки: программа начала подставлять варианты, по одному в секунду.

– Если сработает что-то из стандартного набора – повезло. Если нет… придется искать другой путь, – его голос был ровным, но я заметила, как он слегка прикусил нижнюю губу. Это был его признак предельной сосредоточенности.

Полоса прогресса заполнилась. Саня щелкнул мышью.

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

– Что теперь?

– Теперь – разбор. Это небыстрый процесс. Нужно открывать, смотреть, искать по ключевым словам. Автоматически все не отфильтруешь – сканированные изображения, картинки, криво распознанный текст. Придется копать вручную.

Он открыл корневую папку архива. На экране возникли десятки вложенных каталогов с датами и непонятными названиями. Выглядело это как чердак, заваленный пыльными коробками без описи.

– Займет до утра, – констатировал Саня, уже щелкая по первой папке. – Можешь не ждать. Как найду что-то конкретное – скажу.

Он открыл первую папку. На экране появились файлы с именами вроде «отчет_кв_2007_часть1.zip». Большинство из них оказались битыми или пустыми. Первые пятнадцать минут ушли на отсев цифрового мусора. Саня работал молча, лишь изредка бормоча себе под нос: «Битое… пустое… опять смета…» Каждая новая папка была лотереей, где главный приз – не тонна информации, а одна-единственная строчка, которая свяжет Круглова с приказом. Я наблюдала, как на его лице сменяются тени разочарования и короткие вспышки надежды, когда файл открывался. Так, вероятно, выглядели золотоискатели, просеивающие тонны пустой породы.

Я кивнула. Адреналин, подпитывавший меня всю дорогу, начал спадать, обнажая ватную усталость. Голова гудела от мерцания мониторов.

– Не усну. Буду здесь, на диване. Держи в курсе.

– Ладно. Главное – не засыпай, а то своим храпом все мои алгоритмы собьешь, – буркнул он, не отрываясь от экрана.

Я перебралась на диван, сгребла с него ворох проводов и какого-то электронного хлама на пол. Устроилась, насколько это было возможно, стараясь держать в поле зрения монитор с открытым архивом. Веки наливались свинцом. Перед тем как они окончательно сомкнулись, я видела, как Саня склонился над клавиатурой, его лицо освещалось холодным светом экрана, на котором он методично, файл за файлом, начал вскрывать цифровой саркофаг с прошлым Артема Круглова.

Работа Сани была зеркальным отражением моей: он искал правду в цифровом шуме, я – в нервных тиках и оборванных фразах. И теперь наши пути сошлись в этой точке – в ожидании, пока из глубины забытого архива не всплывет призрак документа. Круглов думал, что убежал. Волков думал, что отомстил. Но настоящая развязка только начиналась, и первый шаг к ней – мерцающий курсор в темной комнате на окраине Тарасова – был сделан.

Я боролась со сном, пытаясь следить за тихой перекличкой его пальцев по клавиатуре, но гул серверов и усталость взяли свое.

Последнее, что я слышала, прежде чем провалиться в короткий, тревожный сон, – это его сдержанное:

– Есть. Нашел папку с приказами по снабжению. Сейчас смотрю…

И мне снилась алая краска, растекающаяся по экранам мониторов и превращающаяся в слова: «Ищи».

Предыдущая главаГлава 17 из 23Следующая глава